如何使用chai断言比较两个定位器值宁静

时间:2018-01-09 11:58:06

标签: protractor serenity-bdd cucumber-serenity serenity-js

我是Serenity和Protractor的新手,所以在下面的查询中需要你的帮助。 使用 - 量角器,Chai断言,编剧平静,黄瓜,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");

如果我传递一些恒定值,它就会起作用。但我必须通过其他定位器。我如何比较这两个定位器?

1 个答案:

答案 0 :(得分:0)

我不熟悉serenityjs,但问题是你试图将promise的结果(从测试1中获取文本)与未解决的promise(从测试1获取文本)进行比较。

您有两种可能性: 1.解决承诺和比较值(使用chai)。 2.解决一个承诺并将价值与另一个承诺进行比较(使用c​​hai-as-promise)。

您可以在下面看到我的提案(第二个选项)。 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);
});