【问题标题】:Initialize browser to a base URL at the beginning of a test in e2e testing在 e2e 测试中的测试开始时将浏览器初始化为基本 URL
【发布时间】:2015-08-12 07:55:51
【问题描述】:

我在 Django 中有一个项目,其中一些页面使用 React 来增强用户体验。我想创建集成测试以确保这些页面随着时间的推移没有回归。经过一番挣扎,我选择测试nightwatch.js

我的网络服务器专门用于在 localhost:8500 上运行的测试,我希望 nightwatch.js 完成的所有查询都在此服务器上进行。我这样配置测试工具:

...
"test_settings" : {
  "default" : {
    "launch_url" : "http://localhost:8500/",
    ...

问题是我不知道如何使用此设置。当我使用init() 方法时,看起来测试卡在主页上......例如,使用这个测试:

module.exports = {
  'Test account login in /admin': function (browser) {
    browser.init().url('/admin/')
      .waitForElementVisible('body', 1000)
      .setValue('#id_username', 'username')
      ... + click, wait, check results
      .end();
  }
};

...失败了,我可以看到这是因为浏览器仍在主页上(代码中的一些断言显示了我主页中的元素)。

这里有什么问题?如何使浏览器在特定 URL 上初始化?

【问题讨论】:

    标签: e2e-testing nightwatch.js


    【解决方案1】:

    看起来.url() 方法在参数中只接受绝对 URL。您应该通过单击链接或通过该功能提交绝对 URL 来浏览您的应用程序...

    使用browser.launchUrl 可以使某些东西变得干燥:

      browser.url(browser.launchUrl+'admin/')
    

    我打开an issue on the nightwatchjs Github 建议使用相对 URL。

    【讨论】:

    • 不幸的是,这个问题已经以“不会做”的方式结束。真可惜。
    猜你喜欢
    • 1970-01-01
    • 2014-06-15
    • 2021-04-14
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多