在webdriverio中执行asynchronousfunction

我坚持这个问题,因为我是新的webdriverio 。 我的要求是我有一个页面,其中包含项目列表(如button等),我需要逐一点击每个项目。 但是,点击每个项目后,它将redirect到另一个部分/页面。 还有一个“closuresbutton”返回第一页(其中包含项目列表)。

我的实际需求是webdriverclient必须点击button,它将转到受尊敬的页面,然后单击“closuresbutton”并回滚,然后单击第一个button,它将继续,直到所有的button完成(我在这里使用'asynchronous'模块)

守则在这里..

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(); 

我对webdriverio(一个月)比较陌生,而且我尝试了你所做的,但发现webdriverio的范例应该更像。

 client .click('li :nth-Child(' + i + ')') .waitForExist('.closeBtn') .click('.closeBtn') .waitForExist('.uniq_to_first_page');