2016-07-25 51 views
0

我來自Python的世界,我有點困惑,我怎麼可以加入睡眠到我的測試(只在JS一個星期)。我明白,睡眠不是最佳實踐,但我只想了解如何完成。目前我有一個測試啓動瀏覽器,然後立即失敗,因爲頁面上的加載時間。僅用於調試目的,我想暫停測試幾秒鐘。這是目前我沒有的工作。謝謝你的回覆。睡覺,waituntil,waitForVisible,waitForExist webdriverio

var assert = require('assert'); 

describe('basic login', function() { 
it('verify user is able to login', function() { 
    browser.url('http://localhost:3000'); 
    var elem = browser.element('div.accounts-dropdown > div.dropdown-toggle > span'); 
    //elem.waitForVisible(2000); //not working 
    //elem.waitForExist(3000); //not working 
    return browser.waitUntil (function async() { 
     elem.click(); 
     browser.setValue('//input', '[email protected]'); 
     browser.setValue('//div[2]/input', 'kU3SPn75'); 
     browser.click("//button[@type='submit']"); 
     assert('//li/div/button'); 

    }, 50000, 'something_test'); 
    //browser.click('div.accounts-dropdown > div.dropdown-toggle > span'); 
}); 

});

+3

有沒有睡覺,你不得不[阻塞線程(http://stackoverflow.com/questions/20967006/how-to-create-a-sleep-延遲在節點js即是阻止)並掛起瀏覽器,這就是爲什麼它是一個很大的禁忌。使用事件處理程序,當頁面加載時觸發事件處理程序,例如'window.onload'等。 – adeneo

回答

-1

我最終得到了以下工作:

function sleep(time, callback) { 
var stop = new Date().getTime(); 
while(new Date().getTime() < stop + time) { 
    ; 
} 
callback(); 

}

0

browser.pause(毫秒)會做你想要什麼。

browser.pause(1000);