我正在编写一个简单的量角器测试,旨在检查某个输入标签是否包含单击按钮后的文本.我尝试了一些事情,我现在正在尝试使用protractor.ExpectedConditions来检查它是否包含任何文本.这是我的代码:
it("should click submit", function() {
var EC = protractor.ExpectedConditions;
var status = element(by.id('status'));
$("#btnSubmitQuery").click();
var condition = EC.textToBePresentInElement(status, 'C');
browser.wait(condition, 8000, "Text is still not present");
status.getText().then(function (text) {
console.log(text);
});
});
Run Code Online (Sandbox Code Playgroud)
一旦单击btnSubmitQuery,就会对服务器进行REST调用,但问题是我永远无法获得状态的任何值.当我运行此代码时会发生什么,浏览器只是等待8秒然后关闭,即使我可以在元素中看到文本.没有任何内容记录到控制台.有任何想法吗?
编辑:我正在检查的html元素如下所示:
<td><input id="status" type="text" class="form-control" placeholder="PaxStatus ..." value="{{paxInformation.status}}"ng-readonly="true"></td>
Run Code Online (Sandbox Code Playgroud) 我有一个允许用户登录系统的 chrome 扩展。当用户未登录时,我希望在打开扩展程序时显示默认页面,但如果他们已经登录,我希望在他们打开扩展程序时显示不同的弹出窗口。
我目前正在通过 javascript 实现这一点,但有时会有时间延迟。在脚本执行并切换到不同页面之前,原始页面会闪烁片刻。有没有更好的方法来实现这一点?