希望可以做成一个汇总贴,保持更新啊~
超时
1
|
Timeout - Async callback was not invoked within the 20000ms timeout specified by jest.setTimeout.Timeout
|
这个原因是超时啦!比如在等倒计时或者是等验证码的时候,超出了 timeout 时间就会报这个错,还会伴随着这样的报错信息:
1
2
3
4
|
Teardown Puppeteer
(node:73761) UnhandledPromiseRejectionWarning: Error: Caught error after test environment was torn down
Protocol error (Runtime.callFunctionOn): Target closed.
|
就是测试还没跑完环境已经关闭辽~这个时候有多种方法解决,比如直接设置:
1
|
jest.setTimeout(50000);
|
或者是在单个测试的时候设置超时时间:
1
2
3
|
test("xxx", () => {
// expect(...)
}, 50000);
|
元素下标
Xpath 中获取元素是从 1 开头的,不像数组是 0 开头。
Xpath 错误
1
|
Evaluation failed: TypeError: Failed to execute 'evaluate' on 'Document': The result is not a node set, and therefore cannot be converted to the desired type.
|
一般这样的报错是 Xpath 错误。
如何验证 Xpath 的正确性
可以在 chrome 控制台中输入 $x('//*[text()="xxx"]')
来获取元素,鼠标放在元素上元素会高亮来验证 Xpath 的正确性与否。
参考资料