Команды Selenium WebDriverJs
Я впервые использую комбинацию Node.js + Mocha + Selenium Webdriverjs. Я настраиваю все в соответствии с их документацией здесь https://code.google.com/p/selenium/wiki/WebDriverJs, но мне очень трудно найти список всех команд, доступных через веб-драйвер. Есть ли список команд, которые можно использовать при написании тестов с использованием Selenium webdriverjs?
Например, как бы я достичь нижеприведенного кода Java с использованием Javascript
new Wait("Couldn't find close button!") {
boolean until() {
return selenium.isElementPresent("button_Close");
}
};
Я знаю, что могу использовать driver.wait
но он не распознает until
команда или isElementPresent
3 ответа
Я смотрю здесь непосредственно на исходный файл для документов. Это на самом деле довольно хорошо:
https://code.google.com/p/selenium/source/browse/javascript/webdriver/webdriver.js
Отвечая на ваш вопрос, вы не хотите ждать в WebDriverJS, вы хотите привыкнуть к отложенным объектам и обещаниям API. Я только что написал пост в блоге об этом здесь, который должен помочь вам:
http://xolv.io/blog/2013/04/end-to-end-testing-for-web-apps-meteor
@op, лучше всего использовать цепочку операторов. Я использую команды before и isElementPresent, и они работают для процессов подготовки к работе (CI/CD). Настройка вашего кода, таким образом, должна работать
var isDisplayed = function(){
driver.isElementPresent(by.id('button id')).then(function(isDisplayed){
expect(isDisplayed).to.be.true
});
};
Я также просматривал исходный код. У них есть скомпилированная версия документации по API, которую немного легче просмотреть здесь:
http://selenium.googlecode.com/git/docs/api/javascript/module_selenium-webdriver.html
К сожалению, нет сводки только с именами методов. Вы все еще должны прокрутить страницу.
С точки зрения того, как ждать:
webdriver = require 'selenium-webdriver'
driver = ... // init your driver
driver.wait(webdriver.until...)