如何使用 Mocha、Chai 和量角器睡眠 10 秒

How to sleep for 10 seconds using Mocha, Chai and protractor

所以我一直在使用 .sleep 函数时遇到问题,它似乎跳过了睡眠函数,原因是我需要使用用户名和密码手动登录(Popup window)并且在我输入之后它手动我希望程序继续。

基本上就是这么简单:

describe('Personal information', function() {
    var EC = protractor.ExpectedConditions;

    this.timeout(50000);

    it('enter email', function(done) {
        browser.sleep(10000).then(function() {
            console.log('waited 10 seconds');
        });

        browser.wait(EC.presenceOf(piPage.enterEmail('test@test.com')), 5000);
        //enterEmail = element(by.id('email'));
    });
});

基本上我想做的是等待 10 秒,然后同时它应该查找元素是否已显示。一旦它出现,然后继续输入电子邮件等代码。然而,这段代码此时 运行 迫在眉睫,永不休眠。

使用 async function:

it('enter email', async function(done) {
    await browser.sleep(10000).then(function() {
        console.log('waited 10 seconds');
    });

    await browser.wait(EC.presenceOf(piPage.enterEmail('test@test.com')), 5000);
    //enterEmail = element(by.id('email'));
});

我发现我有时需要在 selenium 驱动程序实例本身而不是 Protractor 上调用睡眠。所以这将涉及使用 browser.driver 而不是像这样 browser

browser.driver.sleep(10000).then(function() {
    console.log('waited 10 seconds');
});