由于我是 webdriverio 的新手,我一直坚持这个问题。我的要求是我有一个页面,其中包含项目列表(如按钮等),我需要逐个点击每个项目。但点击每个项目后,它将重定向到另一个部分/页面。并且有一个“关闭按钮”可以返回到第一页(包含项目列表)。
我的实际要求是 webdriverclient 必须单击该按钮,它将转到受尊重的页面,然后单击“关闭按钮”并返回并单击第一个按钮,它将继续直到所有按钮都完成。(我在这里使用'async'模块)
守则就在这里..
var webdriverio = require('webdriverio');
var async = require("async");
var options = {
desiredCapabilities: {
browserName: 'chrome'
}
};
var client = webdriverio.remote(options);
client
.init()
.url('pagelink')
.elements('li', function (err, res) {
if (err) {
console.log(err);
} else {
var i = res.value.length;
async.each(res.value, function (oneResult, callback) {
console.log('i value = ' + i);
client
.pause(5000).then(function () {
console.log('Waiting for ..... i = ' + i);
client
.element('li :nth-Child(' + i + ')').click('#button').then(function () {
console.log('I do .....' + i);
client
.pause(3000).then(function (time) {
console.log('Waiting for 3 sec....');
client
.click('.closeBtn').then(function (err, res) {
console.log('Coming Back');
});
});
});
});
i--;
}, function (err) {
if (err) {
console.log('A processing failed to process. ' + err);
} else {
console.log('All results have been processed successfully');
}
});
}
})
.end();
答案 0 :(得分:0)
我对webdriverio(一个月)相对较新,我曾尝试过你所做的,但发现webdriverio的范例应该更像。
client
.click('li :nth-Child(' + i + ')')
.waitForExist('.closeBtn')
.click('.closeBtn')
.waitForExist('.uniq_to_first_page');