Как проверить наличие элемента с помощью транспортира?

Я пытаюсь проверить, присутствует ли элемент на экране в структуре Protractor-cucumber. Я использую isPresent (). ToBe (true) для проверки. Но всякий раз, когда я пытаюсь использовать toBe (true), я вижу следующую ошибку на осыпи

Свойство toBe не существует для типа Assertion.ts (2339)

Ниже мой код:

var chaiAsPromised = require('chai-as-promised')
chai.use(chaiAsPromised)
var expect = chai.expect
var EC = protractor.ExpectedConditions
.
.
.
.
.

Then('I verify element X is available', function (callback) {
browser.waitForAngular()
.then(() => {expect(PageObject.X.isPresent()).toBe(true);})
.then(callback)
}

person Bin    schedule 16.04.2020    source источник


Ответы (1)


Вы можете попробовать использовать expect ключевое слово из jasmine

# Global installation 
npm install -g jasmine

// Element exists.
expect(element(by.binding('person.name')).isPresent()).toBe(true);

// Element not present.
expect(element(by.binding('notPresent')).isPresent()).toBe(false);

или попробуйте установить chai, используя определения типов, а затем повторите свой код

npm install --save @types/chai
person Amit Jain    schedule 17.04.2020
comment
Спасибо за ответ !! Я попытался выполнить определение типа chai, но после установки вижу эту ошибку. Я часто вижу эту ошибку, когда делаю обновление webdriver-manager. Есть ли какое-нибудь исправление для этого? node_modules/@types/mocha/index.d.ts: 2824: 13 - ошибка TS2403: последующие объявления переменных должны иметь один и тот же тип. Переменная xit должна иметь тип It, но здесь она имеет тип PendingTestFunction. - person Bin; 20.04.2020