使用编程 API
概述
当 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();