如果browser.wait
命令超时,我仍然想打印出页面的内容。 我也仍然希望它在超时的情况下无法通过测试。
我正在使用硒铬驱动程序。
到目前为止,我拥有的:
it('Test# 3', function() {
var i = 3;
util.browserGet(url, domainName, token);
browser.wait(ec.presenceOf(element(by.className("pagination-bottom"))), 20000, 'Took Too Long').then(function() {
browser.takeScreenshot().then(function(png) {
writePngFile(png, 'test_' + (i) + '_screenshot.png');
})
});
});
我想做的是有一个else/onError/final,所以我总是打印屏幕截图:
it('Test# 3', function() {
var i = 3;
util.browserGet(url, domainName, token);
browser.wait(ec.presenceOf(element(by.className("pagination-bottom"))), 20000, 'Took Too Long')
.then(function() {
browser.takeScreenshot().then(function(png) {
writePngFile(png, 'test_' + (i) + '_screenshot.png');
})
})
.else(function() {
browser.takeScreenshot().then(function(png) {
writePngFile(png, 'test_' + (i) + '_screenshot.png');
})
});
});
it('Test# 3', function() {
var i = 3;
util.browserGet(url, domainName, token);
browser.wait(ec.presenceOf(element(by.className("pagination-bottom"))), 20000, 'Took Too Long')
.finally(function() {
browser.takeScreenshot().then(function(png) {
writePngFile(png, 'test_' + (i) + '_screenshot.png');
})
});
});
工具版本:
"loglevel": "^1.6.6",
"protractor": "^5.4.2",
"puppeteer": "^1.19.0",
"shelljs": "^0.8.3"
这并不能完全回答我的问题,但是如果我使用browser.sleep(5000)
而不是browser.wait
命令,我可以打印出信息。
但是,现在您丢失了验证。
我不会将此标记为答案,但认为我应该提及它,以防它帮助其他人。
it('Test# 3', function() {
var i = 3;
util.browserGet(url, domainName, token);
browser.sleep(5000).then(function() {
browser.takeScreenshot().then(function(png) {
writePngFile(png, 'test_' + (i) + '_screenshot.png');
})
});
});