我想编写一个测试用例,在其中我将前一页中单击的元素的值与当前页面中元素值的值进行比较。
我使用以下代码 -
validateText = SoftwaresUnmappedPage_POM.checkFirstSoftwareName.getText();
expect(validateText+"*").toBe(SoftwareSummary_POM.softwareName.getText());
例如 - 如果我点击一个按钮(ABC),它就会加载一个页面。此页面包含指示我单击的元素的元素。但它将名称显示为ABC *。所以我想验证我点击的元素和我登陆的页面是否相同。
导致错误 - 预期'[object Object] '为'ABC '。
有人可以帮我解决这个问题吗?感谢。
答案 0 :(得分:5)
这不会起作用,因为量角器与promisses一起工作。您首先需要解决承诺,以便能够执行您想要测试的内容。
这将有效
SoftwaresUnmappedPage_POM.checkFirstSoftwareName.getText()
// Get the resolved text from the promise
.then(function (validateText){
// Compare the result
expect(validateText+"*").toBe(SoftwareSummary_POM.softwareName.getText());
});

希望这有帮助
答案 1 :(得分:1)
除上述答案外,您还可以执行以下操作,
var validateText = SoftwaresUnmappedPage_POM.checkFirstSoftwareName.getText().then(function(validateText){
return validateText+"*";
});
expect(validateText).toBe(SoftwareSummary_POM.softwareName.getText());