学习 NightWatch - 会话功能和自定义方法
Session Capabilities 会话功能
是用于定义所需要的 WebDirver 实现或 Selenium 服务器所提供的浏览器功能
必须在 `nightwatch.conf.js
文件中配置关于 ``
src_folders``` 文件夹路径
custom-commands 自定义命令
须在配置文件中配置 `custom_commands_path
` 属性
该属性值是一个可以包含 多个自定义命令文件夹路径 的 字符串数组
方法名称是文件本身名称
所有 NightWatch 命令都是异步的,自定义方法必须发出完成信号
类式命令
这是推荐形式
// 需要导出一个类构造函数
export default class CustomCommand {
// 命令函数实例方法
command() {
// 两种方法发出完成信号
// 返回 Promise
// 通过 emit 触发 complete 事件完成
// 通过 emit 触发 complete 事件
this.emit('complete', returnValue)
// Promise
return new Promise(resolve => /** ... */)
}
}
函数式命令
// 需要导出一个函数
// 此函数至少调用一个 NightWatch API
export default {
command (file, cb) {
const self = this
// ...
return this
}
}
custom-assertions 自定义断言
须在配置文件中配置 `custom_assertions_path
` 属性
该属性值是一个可以包含 多个自定义断言文件夹路径 的 字符串数组
export.assertion = function (definition, expectedTest, msg) {
this.formatMessage = () => {
const msg = `Testings ... ${this.negate}`
return {
msg,
args: [`'${expected}'`]
}
}
}
custom_reporter 自定义报告器
--reporter
命令行参数
// --reporter FileName
export default {
write: (results, options, done) => {
done()
}
}
外部全局变量
// 配置文件
export default {
// ...
reporter: (results, done) => {
console.log(results)
done()
}
// ...
}
学习 NightWatch - 会话功能和自定义方法
http://localhost:8080/archives/f4ede42a-6633-46f5-9f33-572dfd99fc0b