2017-09-23 9 views
0

私はリンクのリストをループし、それぞれのアクションを実行しようとしています。 WebdriverIOは、すべてのAPIで次のようなテストコード(mocha)と同期しています。しかし、同期フローのために既存のnode.jsコードを統合する方法。次のコードについてWebdriverIO内のループリスト

const assert = require('assert'); 

constが=が

は、私はあなたのために2つの他のオプションを持って、 'webdriver.ioページ'(関数(){

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

Promiseについてよく知らない初心者からWebdriver.ioを特定の順序で制御する方法を知りたいと思います。上記はwdio testrunnerのようなテストランナーに取り組んでいますが、私は試していません。他のオプションは、非同期/待機または約束の呼び出しを入れます – Effectura

+0

このリンクに従って:https://github.com/webdriverio/webdriverio/issues/2312 – Effectura

答えて

0

を記述( 'webdriverio')が必要ですwebdriverio同期ループのための

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を使うことができます!

関連する問題