2016-06-20 9 views
2

Ich verfolge wiki Setup Safari-Erweiterung installieren:Wie für Selen 2.48.0 Safari-Erweiterung für Selen 2,53 mit Safari-Browser

Das funktioniert meistens, aber gelegentlich immer einige seltsame Fehler in meinen Tests Skripte (das sind in Ruby/Capybara geschrieben) wie:

Selenium::WebDriver::Error::NoSuchElementError: 
     Selenium::WebDriver::Error::NoSuchElementError 
    # /Users/admin/.rvm/gems/ruby-2.2.1/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/common/search_context.rb:64:in `rescue in find_element' 
    # /Users/admin/.rvm/gems/ruby-2.2.1/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/common/search_context.rb:55:in `find_element' 
    # ./lib/about.rb:94:in `click_read_more_work' 
    # ./spec/check_about_links.rb:91:in `block (3 levels) in <top (required)>' 
    # ------------------ 
    # --- Caused by: --- 
    # IO::EAGAINWaitReadable: 
    # Resource temporarily unavailable - read would block 
    # /Users/admin/.rvm/gems/ruby-2.2.1/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/safari/server.rb:63:in `read_nonblock' 

und:

Selenium::WebDriver::Error::UnknownError: 
     Session is executing: findElements; cannot set current to: findElements 
    # /Users/admin/.rvm/gems/ruby-2.2.1/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/safari/bridge.rb:88:in `raw_execute' 
    # /Users/admin/.rvm/gems/ruby-2.2.1/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/remote/bridge.rb:627:in `execute' 
    # /Users/admin/.rvm/gems/ruby-2.2.1/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/remote/bridge.rb:606:in `find_elements_by' 
    # /Users/admin/.rvm/gems/ruby-2.2.1/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/common/search_context.rb:84:in `find_elements' 

Capybara auf die neueste Version von Selen WebDriver g bezeichnet wird em: 2.53.0 aber von meinem Verständnis des obigen Artikels abgesehen, muss die Safari-Erweiterung von Selenium 2.53.0 auch im Safari-Browser vorhanden sein.

Dieser Download link enthält keine separaten Safari Erweiterungsdatei:

im Gegensatz zu Version 2.48.0, die funktioniert: http://selenium-release.storage.googleapis.com/index.html?path=2.48/

Gibt es etwas in der Installation Safari-Erweiterung geändert und bin ich etwas fehlt?

Hinweis: Safari-Version ist 9.1.1

Vielen Dank im Voraus,

Antwort

-1

Safari Unterstützung in Selen ist bei weitem nicht vollständig und ordnungsgemäß funktioniert. Auch nicht jede Version von Selenium hat Änderungen im Safari-Treiber, deshalb sollten Sie die neueste verfügbare Version verwenden, die momentan 2.48 ist und sich im jeweiligen Verzeichnis der Selenium-Website befindet.

2

Aufgrund von Sicherheitsänderungen in den letzten Jahren müssen Sie die Safari WebDriver-Erweiterung manuell auf jedem Zielcomputer installieren, während Sie lokal angemeldet sind. Sie können diesen Schritt nicht automatisieren. Es muss sich um eine Kopie handeln, die seit der letzten Änderung im Januar 2016 von einem registrierten kostenpflichtigen Entwicklerkonto erstellt wurde.

Normalerweise bedeutet dies, dass Sie es selbst erstellen sollten.

Ohne dies wird es nicht funktionieren.

Es ist erwähnenswert, dass die Erweiterung keine offiziellen Codeänderungen in etwa zwei Jahren hatte.

Es ist auch erwähnenswert, dass Apple in aller Stille Safari 10 ankündigte, um einen nativen SafariDriver als Teil des W3C WebDriver-Entwurfs-RFC zu haben, der von allen Browsern verlangt, den WebDriver-Teil von Selenium WebDriver bereitzustellen.