WebdriverIO

时间:2017-09-23 11:44:42

标签: webdriver-io

我试图遍历链接列表,并对每个链接执行一些操作。对于所有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();
                })
            });
        }
    });

});

1 个答案:

答案 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东西!