2016-03-02 2 views
0

Для тестирования У меня есть структура каталогов вроде этого:
обычая
Lib
тестов
страницы
функции Каждого JavaScript написано в каталоге «пользовательских» может быть доступна с помощью «теста 'с помощью объекта "browser".
Это делается с помощью файла "testutils.js" в каталоге lib.
Аналогичным образом,
Доступ к функциям JavaScript в каталоге «pages» можно получить в каталоге «test» по пути «browser.pages.function-name()»?Javascript: Селен WebdriverIO

+1

Добро пожаловать на переполнение стека! Пройдите [tour] (http://stackoverflow.com/tour) и прочитайте [Как спросить] (http://stackoverflow.com/help/how-to-ask), чтобы узнать, чего мы ожидаем от вопросов здесь. Имейте в виду, что здесь мы не предоставляем услуги кодирования с нуля. Пожалуйста, покажите нам, что вы уже пробовали, как это провалилось, и мы можем помочь. – Nitish

ответ

1

Похоже, вы пытаетесь реализовать шаблон PageObject с помощью WebdriverIO. Вы можете найти пример этого в WebdriverIO examples.

Хотя, я скажу, что я пробовал этот маршрут, и я предпочитаю другой подход. С помощью WebdriverIO вы можете добавлять пользовательские команды к своему клиенту webdriver. Таким образом, вы можете перечислить ваши команды в объекте:

module.exports = { 
    searchGoogle: function (searchString) { 
     return this 
      .url('http://www.google.com') 
      .click('input[name="q"]') 
      .keys(searchString) 
      .pause(2000) 
      .keys(['Enter']); //press Enter Key 
    } 
}; 

И тогда вы можете связать эти команды к клиенту:

var client = webdriverio.remote(options); 
client.addCommand('searchGoogle',searchGoogle.bind(client)); 
+0

точно !! Я пытаюсь реализовать шаблон PageObject с помощью WebdriverIO. Я прошел этот пример. Спасибо!!! Будет неплохо, если у меня будет образец рабочего кода. –

Смежные вопросы