我是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");
如果我传递一些恒定值,它就会起作用。但我必须通过其他定位器。我如何比较这两个定位器?
答案 0 :(得分:0)
我不熟悉serenityjs,但问题是你试图将promise的结果(从测试1中获取文本)与未解决的promise(从测试1获取文本)进行比较。
您有两种可能性: 1.解决承诺和比较值(使用chai)。 2.解决一个承诺并将价值与另一个承诺进行比较(使用chai-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);
});