Selenium Webdriver Nightwatch.js - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь нажать кнопку «Вход для клиентов».Но это не так.

module.exports = {
    tags: ['Registration'],
    'Test Registration Page' : function (client) {
         client 
         .url('http://www.globalsqa.com/angularJs-protractor/BankingProject/#/login') // Go to a url
         .waitForElementVisible('body', 1000) // wait till page loads
         .useXpath()
         .click('/html/body/div/div/div[2]/div/div[1]/div[1]/button')


       }
 };

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Вместо текущего блока кода вы можете попробовать следующий блок кода с относительным xpath следующим образом:

.click("//button[@class='btn btn-primary btn-lg'][@ng-click=\"customer()\"]")
# or
.click("//button[@class='btn btn-primary btn-lg' and contains(.,'Customer Login')]")

Обновить (из комментариев)

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * '' '*' 10 '* Вы можете waitForElementVisible('xpath_of_element', 1000), а затем click() напрямую вызывать *1011*.

0 голосов
/ 24 мая 2018

Заменить

.click('/html/body/div/div/div[2]/div/div[1]/div[1]/button')

на

.click('//html/body/div/div/div[2]/div/div[1]/div[1]/button')

xPath образец выражения //path/to/element

РЕДАКТИРОВАТЬ:

Другая возможность может быть использованиеCSS-селектор может быть таким:

div.borderM.box.padT20 div.center:first-child button.btn.btn-primary.btn-lg

, в вашем случае это будет:

useCss().click('div.borderM.box.padT20 div.center:first-child button.btn.btn-primary.btn-lg')

Также вы должны убедиться, что ваша страница загружена правильно.Например, используя .pause()

...