Ошибка: время ожидания функции истекло, убедитесь, что обещание разрешается в течение - Cucumber js

Я использую транспортир с огурцом js. У меня есть все функции с асинхронностью и ожиданием, а также установлен глобальный тайм-аут.

вар {setDefaultTimeout} = требуют ('огурец'); setDefaultTimeout (60 * 1000);

Then('I click on tab', async ()=> {
  
    await organizationOperation.clickHeaderTab();

  });

Вопрос - если я использую неправильный xpath/элемент не находится в пользовательском интерфейсе, в этом случае появляется ошибка ниже

Ошибка: время ожидания функции истекло, убедитесь, что обещание выполняется в течение 60000 миллисекунд.

Он должен выдавать ошибку, локатор не найден (текст локатора)

или если я использую напрямую

  Then('I click on tab', async ()=> {
      
 const d = await $('.xxxxx').getText();
     console.log(d)

});

получаю ту же ошибку --› Ошибка: время ожидания функции истекло, убедитесь, что обещание разрешается в течение 30000 миллисекунд

Почему на консоли не отображается ошибка «Элемент не найден»?


person Rohit Saini    schedule 11.02.2021    source источник
comment
добавьте свою функцию clickHeaderTab   -  person Sergey Pleshakov    schedule 11.02.2021
comment
асинхронный clickHeaderTab(){ return await OrganizationComponent.clickHeaderTab(); }   -  person Rohit Saini    schedule 11.02.2021
comment
не могли бы вы предоставить более подробную информацию о вашей проблеме? с дополнительными фрагментами кода?   -  person kishor sharma    schedule 12.02.2021
comment
предположим, что это простой пример Then('Я нажимаю на вкладку', async ()=› { const d = await $('.xxxxx').getText(); // путь css недоступен в пользовательском интерфейсе console.log(d ) }); В этом случае он должен вернуть элемент, не найденный на консоли. но получение обещания не разрешается за 60000 миллисекунд .. вот так   -  person Rohit Saini    schedule 12.02.2021


Ответы (1)


Используете ли вы неявное ожидание в своем коде при запуске браузера? Если да, убедитесь, что ваш тайм-аут больше, чем указанное вами неявное время ожидания. Если нет, объявите неявное время ожидания меньше, чем значение по умолчанию setDefaultTimeout(60 * 1000);

В случае, если неявное ожидание превышает время по умолчанию, мы использовали время ожидания этой функции ошибки, обязательно разрешите с помощью в ****. Если неявное ожидание меньше времени по умолчанию, ожидание элемента через неявное ожидание истечет первым и выдаст исключение «Элемент не найден».

person Sreenivasulu    schedule 05.07.2021