我已经编辑了一个项目。我的代码是:
let articleName = $('[placeholder="Article name"]');
articleName.click().clear().sendKeys('Test Item Edited');
saveItem.click();
但是当我尝试通过以下方式检查测试用例时:
expect(articleName.getText()).toContain('Test Item Edited');
or
expect(articleName.getAttribute("Test Item Edited")).toEqual('Test Item Edited');
它显示错误“预期''包含'已编辑的测试项目'。”
在我的源代码中编辑项目后找不到文章名称。是这个原因吗?
<input _ngcontent-c30="" class="mat-input-element mat-form-field-autofill-control ng-pristine ng-valid ng-touched" matinput="" required="" maxlength="80" pattern="[A-Za-z0-9 ]{1,80}" id="mat-input-611" placeholder="Article name" aria-invalid="false" aria-required="true">
我是 Protractor 新手。所以我不知道如何处理这个问题。
最佳答案
问题出在您的 getAttribute()
标记上,当您在文本框字段中输入文本时,您可以使用 value
属性访问输入的文本。
因此您的 expect
断言如下 -
expect(articleName.getAttribute('value')).toEqual('Test Item Edited');
关于javascript - 如何检查 Protractor 中是否存在编辑后的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50903238/