Как спать в течение 10 секунд, используя мокко, чай и транспортир - PullRequest
1 голос
/ 15 января 2020

Итак, у меня возникла проблема с функцией .sleep, когда кажется, что она пропускает функцию сна. Причина в том, что мне нужно вручную войти в систему с именем пользователя и паролем (всплывающее окно), и после того, как я ввел его вручную, мне бы хотелось, чтобы программа для продолжения.

В основном это так просто, как:

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 секунд, а затем посмотреть для элемента, если он представлен еще. Как только он будет представлен, введите код, введя адрес электронной почты et c. Однако этот код работает в данный момент неизбежно и никогда не спит.

Ответы [ 2 ]

1 голос
/ 15 января 2020

Я обнаружил, что иногда мне нужно вызывать sleep для самого экземпляра драйвера селена вместо Protractor. Так что это будет включать использование browser.driver вместо browser, например, так:

browser.driver.sleep(10000).then(function() {
    console.log('waited 10 seconds');
});
0 голосов
/ 15 января 2020

Используйте 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'));
});
...