概述

当 Nightwatch 作为常规库包导入时,会导出一个 API,以便您可以以编程方式使用 Nightwatch。这样做时,可以内联提供单个配置设置。因此,不需要提供配置文件。但是,从版本 1.3 开始,默认情况下会为您的项目创建 nightwatch.conf.js。

语法

Nightwatch 2 引入了一个全新的编程 API,这使得在外部使用 Nightwatch 变得非常容易。您可以通过创建自定义运行器或使用外部测试运行器(如 Jest、Mocha 或 Ava)来使用它。

Nightwatch.createClient([options])

创建一个新的 Nightwatch 客户端,可用于创建 WebDriver 会话。

语法
custom_test_runner.js
const Nightwatch = require('nightwatch');

const client = Nightwatch.createClient({ headless: true, output: true, silent: true, // set to false to enable verbose logging browserName: 'firefox', // can be either: firefox, chrome, safari, or edge
// set the global timeout to be used with waitFor commands and when retrying assertions/expects timeout: 10000,
// set the current test environment from the nightwatch config env: null,
// any additional capabilities needed desiredCapabilities: {
},
// can define/overwrite test globals here; // when using a third-party test runner only the global hooks onBrowserNavigate/onBrowserQuit are supported globals: {},
// when the test runner used supports running tests in parallel; // set to true if you need the webdriver port to be randomly generated parallel: false,
// All other Nightwatch config settings can be overwritten here, such as: disable_colors: false });

client.updateCapabilities([options])

给定一个使用上面列出的 createClient() 方法创建的现有 client,这可用于更新最初指定的 capabilities。

语法
client.updateCapabilities({
  testCapability: 'one, two, three'
});

client.launchBrowser()

给定一个使用上面列出的 createClient() 方法创建的现有 client,这可用于创建一个新的浏览器会话。

返回的对象将是 Nightwatch 浏览器 API 对象。

语法

const browser = await client.launchBrowser();