学习 NightWatch - 测试
test 测试
.pause()
// ...
// 暂停 1s
browser.pause(1000)
// 暂停
browser.pause()
// ...
.debug()
// ...
export default {
'demo test': async browser => {
await browser.debug()
}
}
// ...
捕获控制台信息
此命令仅适用于基于 Chromium 的浏览器,例如 Google Chrome 和 Microsoft Edge
// ...
export default {
'demo test': browser => {
browser
.captureBrowserConsoleLogs((event) => {
// type 输出类型:log、debug、info、error...
// timestamp 记录控制台消息的时间
// args value对象属性含日志
console.log(event.type, event.timestamp, event.args[0].value);
})
}
}
// ...
捕获浏览器异常
该命令仅适用于基于Chromium的浏览器,如Google Chrome和Microsoft Edge
// ...
export default {
'demo test': async browser => {
await browser.captureBrowserExceptions((event) => {
// event = {timestamp: number, exceptionDetails: {}}
// timestamp 捕获 JS 异常的时间。
// exceptionDetails 记录详细信息的对象
console.log('>>> Exception:', event);
});
}
}
// ...
拍摄堆快照
此命令仅适用于基于 Chromium 的浏览器,例如 Google Chrome 和 Microsoft Edge
// ...
export default {
'demo test': browser => {
browser
// .tackHeapSnapshot(SavePath: String, Callback?: () => void)
.takeHeapSnapshot('heap_snaps/snapshot1.heapsnapshot');
}
}
// ...
例子
// *******************************************************
// test 文件夹下
// *******************************************************
// 导入 浏览器对象 和 测试对象
import { NightwatchBrowser, NightwatchTests } from 'nightwatch';
// 导入页面对象
import { BaiduPage } from './page-objects/BaiduPage';
// 测试对象
const home: NightwatchTests = {
// 自定义测试方法
// 运行时会输出当前方法 key
// 会自动传入浏览器对象
"测试百度": (browser: NightwatchBrowser) => {
// 浏览器最大化
browser.maximizeWindow()
// 使用页面对象
// browser.page 后跟随方法必须和在 page-objects 中的文件同名
const BaiduPage: BaiduPage = browser.page.BaiduPage()
BaiduPage
// 跳转页面对象对应路径
.navigate()
// 断言 标题等于 百度一下,你就知道
.assert.titleEquals('百度一下,你就知道')
// 等待元素出现
.waitForElementVisible('@SearchKeyWordInput')
// 设置元素的 value
.setValue('@SearchKeyWordInput', 'NightWatch')
BaiduPage
// 使用页面对象的方法
.clickSearch()
.waitForElementVisible('@SearchResultContainer')
// 断言 元素 @SearchResultContainer
.expect.element('@SearchResultContainer')
// 文本 包含 nightwatchjs/nightwatchman - GitHub
.text.contain('nightwatchjs/nightwatchman - GitHub')
browser
// 浏览器暂停
.pause()
// 结束浏览器
.end()
}
};
export default home;
学习 NightWatch - 测试
http://localhost:8080/archives/35d93004-717e-41df-a287-1a96f88a6cc7