Webdriver ermöglicht Browser-Automatisierung. Zusätzlich zu UI-Tests ist es auch nützlich, um Browser automatisch verschiedene Operationen durchführen zu lassen.
Installation
gem install selenium-webdriver
Referenz
[https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings ](https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings) [http://seleniumhq.github.io/selenium/docs/api/rb/_index.html ](http://seleniumhq.github.io/selenium/docs/api/rb/_index.html)
element Klassenmethoden
Selenium::WebDriver::Element. Methoden wie click und send_key werden häufig verwendet.
[http://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/Element.html ](http://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/Element.html)
Warten für eine bestimmte Zeit
Es ist möglich, es warten zu lassen, bis ein Element erscheint
Explizites Warten
wait = Selenium::WebDriver::Wait.new(timeout: 3)
wait.until { driver.find_element(id: "cheese").displayed? }
Implizites Warten
driver = Selenium::WebDriver.for :firefox
driver.manage.timeouts.implicit_wait = 3 # seconds
JavaScript-Dialog-Behandlung
You can use WebDriver to handle Javascript alert(), prompt() and confirm() dialogs. The API for all three is the same.
Sie können Warnungen und dergleichen behandeln. Es ist möglich, Alert-Automatisierungsinterferenzen zu verhindern.
Beispiel
driver.find_element(name: 'element_with_alert_javascript').click
a = driver.switch_to.alert
if a.text == 'A value you are looking for'
a.dismiss
else
a.accept
end
Debugging
Vollständige Logs ausgeben
Selenium::WebDriver.logger.level = :debug
In Datei schreiben
Selenium::WebDriver.logger.output = 'selenium.log'