2013-03-19 9 views
10

Po raz pierwszy używam kombinacji Node.js + Mocha + Selenium Webdriverjs. Wszystko konfiguruję zgodnie z ich dokumentacją tutaj https://code.google.com/p/selenium/wiki/WebDriverJs, ale bardzo trudno jest znaleźć listę wszystkich poleceń dostępnych przez sterownik sieciowy. Czy istnieje lista poleceń, z których można korzystać podczas pisania testów za pomocą Selenium webdriverjs?Komendy Selenium WebDriverJs

Na przykład jak byłoby osiągnąć poniższy kod Java przy użyciu JavaScript

new Wait("Couldn't find close button!") { 
    boolean until() { 
    return selenium.isElementPresent("button_Close"); 
    } 
}; 

wiem, że mogę używać driver.wait ale nie rozpoznaje polecenia until lub isElementPresent

Odpowiedz

8

patrzę tutaj bezpośrednio na plik źródłowy do dokumentów. To rzeczywiście bardzo dobre: ​​

https://code.google.com/p/selenium/source/browse/javascript/webdriver/webdriver.js

W odpowiedzi na pytanie, tak naprawdę nie chcesz czekać w WebDriverJS, chcesz, aby przyzwyczaić się do odroczonych obiektów i obiecuje API. Właśnie napisał na blogu o tym, że tu powinno pomóc:

http://xolv.io/blog/2013/04/end-to-end-testing-for-web-apps-meteor

+0

dzięki, która pomaga! – Dan

+0

Link do tego bloga jest już nieaktualny. Prawidłowy link to: http://xolv.io/blog-posts/2013/04/end-to-end-testing-for-web-apps-meteor –

+0

Naprawiono przekierowania, dziękuję –

0

Szukałem poprzez kod źródłowy, jak również. Mają skompilowaną wersję docs API, które jest nieco łatwiejsze do skanowania przez tutaj:

http://selenium.googlecode.com/git/docs/api/javascript/module_selenium-webdriver.html

Niestety, nie ma podsumowanie tylko z nazwami metod. Nadal musisz przewijać stronę.

W kategoriach jak czekać:

webdriver = require 'selenium-webdriver' 
driver = ... // init your driver 

driver.wait(webdriver.until...) 
0

@op, jego najlepiej użyć przykuty oświadczenie. Używam poleceń until i isElementPresent, które działają na potrzeby procesów produkcyjnych gotowych (CI/CD). Poprawianie kodu w ten sposób powinno działać

var isDisplayed = function(){ 
     driver.isElementPresent(by.id('button id')).then(function(isDisplayed){ 
      expect(isDisplayed).to.be.true 
     }); 
    };