在webdriverio

时间:2015-12-01 05:47:02

标签: node.js selenium-webdriver webdriver-io node-async

由于我是 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();

1 个答案:

答案 0 :(得分:0)

我对webdriverio(一个月)相对较新,我曾尝试过你所做的,但发现webdriverio的范例应该更像。

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