Команды 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...)
Другие вопросы по тегам