BrowserStack 是最受欢迎的云测试平台之一。 使用它与 Nightwatch 非常简单,并且在自动生成的 nightwatch.conf.js 文件中进行配置。

拥有帐户后,您可以设置以下环境变量。Dotenv 文件也受 Nightwatch 支持。

  • BROWSERSTACK_USERNAME
  • BROWSERSTACK_ACCESS_KEY

请记住还要启用 HTTP 保持活动以提高网络性能。

Nightwatch 支持这些与 BrowserStack 的开箱即用集成功能

  • 在 BrowserStack 上设置测试名称
  • 将测试标记为“已通过”或“已失败”
  • 在测试运行结束时显示指向 BrowserStack 构建页面的链接。

示例配置

使用此示例配置尝试在 BrowserStack 上运行您的测试。

nightwatch.conf.js
module.exports = {
  src_folders: [],
  
webdriver: { keep_alive: true, timeout_options: { timeout: 60000, retry_attempts: 3 } },
test_settings: { default: { launch_url: 'https://nightwatch.node.org.cn' },
browserstack: { selenium: { host: 'hub-cloud.browserstack.com', port: 443 },
// More info on configuring capabilities can be found on: // https://www.browserstack.com/automate/capabilities?tag=selenium-4 desiredCapabilities: { 'bstack:options' : { local: 'false', userName: '${BROWSERSTACK_USERNAME}', accessKey: '${BROWSERSTACK_ACCESS_KEY}', } } },
'browserstack.chrome': { extends: 'browserstack', desiredCapabilities: { browserName: 'chrome' } },
'browserstack.firefox': { extends: 'browserstack', desiredCapabilities: { browserName: 'firefox' } },
'browserstack.ie': { extends: 'browserstack', desiredCapabilities: { browserName: 'IE', browserVersion: '11.0', 'bstack:options' : { os: 'Windows', osVersion: '10', local: 'false', seleniumVersion: '3.5.2', resolution: '1366x768' } } } } }

集成 BrowserStack Local

BrowserStack Local 是一项功能,可让您测试本地主机、登台或其他无法公开访问的私有网站。 为了使用此功能,您需要下载 browserstack-local 包并使用您的测试套件运行它。

注意:BrowserStack Local 仅需要在构建开始时实例化一次,并在所有测试执行完成后停止。

您可以参考此由 BrowserStack 团队维护的 示例实现

通过代理服务器连接到 BrowserStack

您可以在 Nightwatch 中通过在您的 nightwatch.conf.js 中添加 proxy 键来指定代理设置

nightwatch.conf.js

  test_settings: {
    default: {
      desiredCapabilities: {
        // Your capabilities
      },
      proxy: {
        "host": "",     // "127.0.0.1"
        "port": "",     // "8081"
        "protocol": ""  // "http"
      }
    }
  }