下面简单搭建一个可运行的 Nightwatch 工程
一、 搭建步骤
安装 Node.js & NPM (地球人都会,不详细介绍了)
新建一个名为 e2e 的文件夹,并进入该文件夹
$ mkdir e2e & cd e2e
- 在 e2e 下面初始化
package.json
$ npm init
- 安装必要的模块(这里我们暂时只需要在chrome下运行)
$ npm install nightwatch selenium-server chromedriver --save-dev
- 新建两个文件夹 specs & reports
$ mkdir specs // 放置测试用例
$ mkdir reports // 放置测试报告
- 在 e2e 根目录下新建测试配置文件
nightwatch.conf.js
$ type NUL > nightwatch.conf.js
- 用 IDE 打开
nightwatch.conf.js
,并写入下面的代码
module.exports = {
src_folders: ['specs'], // 测试用例读取路径
output_folder: 'reports', // 测试报告输出路径
selenium: {
start_process: true,
server_path: require('selenium-server').path,
host: '127.0.0.1',
port: 4444,
cli_args: {
'webdriver.chrome.driver': require('chromedriver').path
}
},
test_settings: {
default: {
selenium_port: 4444,
selenium_host: 'localhost',
silent: true,
globals: {
// 这里的值可以传入测试用例里
},
desiredCapabilities: { // 这处配置不能漏,不然会默认在Firefox下运行,然后我们没有装Firefox的驱动,所以会导致报错
"browserName": "chrome",
"marionette": true
}
}
}
}
- 在 specs 文件夹下创建
test.js
,并写入下面的代码
module.exports = {
'test': function (browser) {
browser
.url('https://www.baidu.com')
.waitForElementVisible('body', 3000)
.end()
}
}
- 创建运行文件
runner.js
,并写入代码
require('nightwatch/bin/runner.js');
- 运行
$ node runner.js specs/test.js
-
当控制台输出下面的结果(PID可能会不同),说明配置正确