我正在尝试测试一个页面,一旦页面完成加载,就会生成服务器端RSA密钥对生成,这需要在我当前设置的5到20秒之间。在浏览器收到密钥对之前,不允许用户执行任何操作。
我一直在使用browser.sleep(),但是如果在5中生成密钥对则等待20秒是令人讨厌的。我尝试使用Protractor的evaluate()方法作为while循环条件,但实现了evaluate()返回一个ElementFinder而不是参数的值。是否有一种方法允许Jasmine / Protractor以相同的方式计算布尔值Jasmine评估toBe / toEqual / etc?
简而言之,
expect(controller.evaluate('data.step1.done')).toBe(true);
计算一个布尔值,相当于Angular范围内的evaluate()参数的值,它与“true”进行比较。有没有办法使用该计算值或自己计算?
答案 0 :(得分:2)
这里的想法是使用browser.wait()
等待模糊内容消失:
browser.driver.wait(function() {
return !browser.driver.isElementPresent(by.css(".blurred"));
}, 20000)
.then(
function() {
// success code
},
function() {
// fail code
}
);
在这种情况下,它会等待最多 20秒。在模糊内容消失后,它会停止等待。