Как сравнить два значения локатора с помощью chai assertion & serenity

Я новичок в Serenity и Protractor, поэтому мне нужна ваша помощь по приведенному ниже запросу. Использование - транспортир, утверждение Чай, спокойствие сценария, огурец, TypeScript

В моем файле локаторов ниже 2 локаторов:

static test1 = Target.the("test1).located(by.xpath(...**...);

static test2 = Target.the("test2).located(by.xpath(...**...);

Мне нужно сравнить значения test1 и test2.

Файл Steps.ts:

expect(actor.toSee(Text.of(locatorClass.test1))).to.eventually.equal("21");

Если я передаю какое-то постоянное значение, оно работает. но я должен пройти другой локатор. Как я могу сравнить эти два локатора?


person Upa A    schedule 09.01.2018    source источник


Ответы (1)


Я не знаком с serenityjs, но проблема в том, что вы пытаетесь сравнить результат обещания (получение текста из теста 1) с неразрешенным обещанием (получение текста из теста 1).

У вас есть две возможности: 1. Разрешить оба обещания и сравнить значения (с помощью chai). 2. Выполните одно из обещаний и сравните значение с другим обещанием (используя chai-as-prom).

Ниже вы можете увидеть мое предложение (2 вариант). test1 обещание разрешается и сохраняется как test1text, а затем сравнивается со вторым обещанием.

static test1 = Target.the("test1).located(by.xpath(...**...);
static test2 = Target.the("test2).located(by.xpath(...**...);

return actor.toSee(Text.of(locatorClass.test1)).then((test1text) => {
    return expect(actor.toSee(Text.of(locatorClass.test2))).to.eventually.equal(test1text);
});
person Kacper    schedule 09.01.2018