我试图遍历链接列表,并对每个链接执行一些操作。对于所有API,WebdriverIO对于测试代码是同步的,如下面的(mocha)。但是如何将现有的node.js代码集成到同步流中。对于以下代码
const assert = require('assert');
const webdriverio = require(' webdriverio')
描述(' webdriver.io页面',function(){
it('should be a pending test');
before(() => {
var options = {
desiredCapabilities: {
browserName: 'chrome'
}
};
client = webdriverio.remote(options)
return client.init();
})
after(function() {
browser.end();
});
it('should have the right title - the fancy generator way', function () {
var list = ["https://www.google.com", "https://www.yahoo.com", "https://www.github.com"]
for(var i = 0 ; i < list.length;i++){
browser.url(list.length);
var title = browser.getTitle();
browser.saveScreenshot('./snapshot' + i + '.png').call(function(){
fs.exists(screenshotPath, function(fileExists) {
fileExists.should.be.true;
done();
})
});
}
});
});
答案 0 :(得分:0)
我还有2个其他选项可用于同步循环
https://www.npmjs.com/package/serial-loop
或者您可以像这样创建自己的循环
function testonly() {
//.. do some stuff
// when done make again
testonly()
// when you finish with your stuff you can start a new function as example after()
if(test == 'test') {
after()
}
}
function after() {
//..
}
或者您可以使用回调方法。希望这是你想要的。当然你可以在这个循环中使用webdriver.io东西!