调用.navigate()后,nightwatch pageObject不会导航到url

时间:2018-03-02 00:04:19

标签: frontend nightwatch.js qa

我正在使用nightwatch来自动化浏览器测试。我想测试管理员用户是否可以登录仪表板。我首先编写测试而不使用页面对象方法。测试正在通过。以下是Login to Dashboard页面测试的代码。

https://pastebin.com/2JAUq1u5

后来,我使用页面对象方法重构了我的代码。 Login to Dash的测试失败了。不知道为什么?我按照页面对象方法到了tee,代码看起来正确。有人可以就如何解决这个问题给我建议或建议吗?我是QA工程的新手。

//my login page tests
require('../../../nightwatch.conf.js');

module.exports = {
 'Login Page Initial Render': function(browser) {
   const loginPage = browser.page.loginPage();

   loginPage.navigate()
    .validatePageTitle()
    .validateLogoExists()
    .validateFormExists()
    .validateFooterExists()

   browser.end()
 },

  'Admin User Can Login': function(browser) {
     const loginPage = browser.page.loginPage();
     const dashboardPage = browser.page.dashboardPage();

  loginPage.navigate()
    .submitLogin()

  // console.log('our dashboard', dashboardPage)
  dashboardPage.navigate()
    .validateDashUrl()

  browser.end()
 }
};

1 个答案:

答案 0 :(得分:0)

我在google群组中看到了你的帖子。在验证网址之前,请尝试选择仪表板页面特有的元素。这样您就会知道仪表板页面已加载。您应用中的每个页面都会有一个body元素。选择不同的东西等待,你的测试应该开始工作。