Транспортир: ExpectedConditions.elementToBeClickable of Undefined - PullRequest
0 голосов
/ 02 августа 2020

Пытался дождаться загрузки ввода. Итак, я использовал expectedconditions.elementToBeClickable вот так:

  it('test expected conditions', async function () {
    await browser.waitForAngularEnabled(false);
    await browser.driver.get('https://www.baidu.com');

    var EC = protractor.ExpectedConditions;
    await browser.wait(EC.elementToBeClickable(element(by.css('kw'))), 5000);
    element(by.css('#kw')).sendKeys('protractor')
    element(by.css('#su')).click()

    browser.driver.sleep(10000);
  });

Но появляется сообщение об ошибке:

Failed: Cannot read property of 'elementToBeClickable' of undefined.

Я почти уверен, что могу найти ввод, используя css тип «кВт» (я просто хочу попробовать ожидаемые условия, чтобы оптимизировать код). . И я импортировал необходимые API, а именно:

import { browser, logging, element, by } from 'protractor';
import { protractor } from 'protractor/built/ptor';

Итак, кто-нибудь может сказать мне, почему это происходит? И как я могу это решить? Большое спасибо

1 Ответ

0 голосов
/ 02 августа 2020

Основная проблема с импортом.

Вы должны импортировать модуль ExpectedConditions из protractor следующим образом:

import { ExpectedConditions as EC } from 'protractor';

использование:

await browser.wait(EC.elementToBeClickable(element(by.css('kw'))), 5000);
...