使用nightwatchjs点击登录页面中的提交按钮后如何重定向到仪表板页面

问题描述 投票:0回答:1

我是守夜人js的初学者。我坚持使用代码。有关我的疑问,请参阅以下注释。

假设我有两个页面作为登录和仪表板页面。单击登录页面中的提交按钮后,如何重定向到仪表板页面?

码:

'Testing Navigation': function( _browser ) {

    _browser

    .url('D:/nightwatch_login/registration.html')

    //.waitForElementVisible( 'body', 1000 )

    .verify.visible('#username')

    .verify.visible('#password')

                .verify.visible('input[id="unchecked_checkbox"]', 'Checkbox is visible')

      .click('input[id="unchecked_checkbox"]')

      .pause(1000)

      .element('id', 'unchecked_checkbox', function(response) {

        _browser.assert.ok(response.value.ELEMENT, 'Checkbox response is OK');

        _browser.elementIdSelected(response.value.ELEMENT, function(result){

          _browser.verify.ok(result.value, 'Checkbox is selected');

        });

      })

    .verify.value( 'input[type=submit]', 'Log In' )

                _browser.navigate('D:/nightwatch_login/welcome.html')

                //.assert.urlEquals("file:///D:/nightwatch_login/" + 'welcome.html')

    //.verify.elementNotPresent('.error')

                .end();

  }

但我面临以下错误:

**Testing if the URL equals "file:///D:/nightwatch_login/welcome.html".  - expected "file:///D:/nightwatch_login/welcome.html" but got: "file:///D:/nightwatch_login/registration.html"**


D:\nightwatch_login\test>nightwatch

Starting selenium server... started - PID:  6356



[Google] Test Suite

=======================



Running:  Testing Form Input Values

 √ Testing if element <#username> is visible.

 √ Testing if element <#password> is visible.

 √ Checkbox is visible

 √ Passed [ok]: 0.5392208705726396-3 ok Checkbox response is OK

 √ Passed [ok]: Checkbox is selected

 √ Testing if value of <input[type=submit]> equals: "Log In".





 × Testing if the URL equals "file:///D:/nightwatch_login/welcome.html".  - expected "file:///D:/nightwatch_login/welcome.html" but got: "file:///D:/nightwatch_login/registration.html"

    at Object.module.exports.Testing Form Input Values (D:\nightwatch_login\examples\tests\google.js:230:10)

    at _combinedTickCallback (internal/process/next_tick.js:67:7)





FAILED:  1 assertions failed and 6 passed (20.871s)

谁能帮我解决这个问题?

nightwatch.js
1个回答
0
投票

你的代码应该是这样的:

'Testing Navigation': function(_browser) {

    _browser
        .url('D:/nightwatch_login/registration.html')
        .verify.visible('#username')
        .verify.visible('#password')
        .verify.visible('input[id="unchecked_checkbox"]', 'Checkbox is visible')
        .click('input[id="unchecked_checkbox"]')
        .pause(1000)
        .element('id', 'unchecked_checkbox', function (response) {
            _browser.assert.ok(response.value.ELEMENT, 'Checkbox response is OK');
            _browser.elementIdSelected(response.value.ELEMENT, function (result) {
                _browser
                    .verify.ok(result.value, 'Checkbox is selected')
                    .verify.value('input[type=submit]', 'Log In')
                    .click('input[type=submit]', 'Log In')
                    .waitForElementPresent('#username', 5000, function(){})
                    .navigate('D:/nightwatch_login/welcome.html')
                    .assert.urlEquals("file:///D:/nightwatch_login/" + 'welcome.html')
                    .verify.elementNotPresent('.error')
                    .end();
            });
        })

}
© www.soinside.com 2019 - 2024. All rights reserved.