Команды 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

Ответ 1

Я смотрю здесь непосредственно на исходный файл для документов. Это на самом деле довольно хорошо:

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

В ответ на ваш вопрос вы не хотите ждать в WebDriverJS, вы хотите привыкнуть к отложенным объектам и promises api. Я только что написал здесь сообщение в блоге, которое должно помочь вам:

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

Ответ 2

Я также просматривал исходный код. У них есть скомпилированная версия 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...)

Ответ 3

@op, лучше всего использовать цепочку. Я использую команды until и isElementPresent, и они работают для процессов подготовки к производству (CI/CD). Таким образом, настройка вашего кода должна работать

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