2016-05-26 4 views
0

Ich verwende Capybara als Treiber in meinen Auto-Tests. definiert ich einen Treiber als: Capybara.default_driver =: Selen Aber es ist unmöglich, Selen Methoden in gewohnter Weise (wie zu verwenden: @ driver.find_element (: XPath :: login_button) .send_keys (“ MY_login ")). Ich sah auf einige Ressourcen, die es möglich ist, Selenium Methoden aufrufen Aufbau mit: page.driver.browser Zum Beispiel: element = page.driver.browser.find_element (: id, ell). Es tritt jedoch ein Fehler auf, der besagt, dass "page" nicht definiert ist.Wie rufen Selenium-Methoden mit definierten Capybara-Treiber mit Ruby?

Die Frage ist, wie man Selenium Methoden mit definiertem Capybara Fahrer benutzt?

Kann sein, es ist notwendig, Capybara-Treiber in einer anderen Art und Weise zu definieren, um erfolgreich Bau „page.driver.browser“ zu benutzen? Bitte geben Sie kleine Instanz, um ein vollständiges Bild zu sehen.

Antwort

1

page ist nur eine bequeme Methode in der Capybara DSL für Capybara.current_session. Sie können ‚Seite‘ verwenden, wenn Sie Capybara :: DSL in den Umfang der Tests aufgenommen haben - https://github.com/jnicklas/capybara#using-capybara-with-testunit

sehen Wenn Sie auch nur

verwenden können nicht das Capybara DSL in Ihre Tests gehören wollen
Capybara.current_session.driver.browser .... 

obwohl Selen Zugriff auf Methoden sollten direkt nur dann notwendig, wenn es unbedingt durchgeführt werden und es ist kein Quertreiber Art und Weise zu tun, was Sie von Capybara versehen wollen

+0

vielen Dank! Ich habe "Capybara.current_session.driver.browser" -Konstruktion verwendet. –

+0

@SerhiiKaihorodov Großartig, vergessen Sie nicht, die Antwort (das Häkchen) zu akzeptieren, damit die Leute wissen, dass die Frage beantwortet wurde –