Protractor 量角器如何等待选项
我有这样的代码:Protractor 量角器如何等待选项,protractor,Protractor,我有这样的代码: element(by.model(“roleSelection.role”)).element(by.cssContainingText('option',newRole))。单击()。然后(function(){console.log('role click')})/; 通过调用服务器加载选项 我可以通过这样做来等待第一个元素 browser.wait(函数(){ 返回browser.isElementPresent(by.model(“roleSelection.role
element(by.model(“roleSelection.role”)).element(by.cssContainingText('option',newRole))。单击()。然后(function(){console.log('role click')})/;
通过调用服务器加载选项
我可以通过这样做来等待第一个元素
browser.wait(函数(){
返回browser.isElementPresent(by.model(“roleSelection.role”))。然后返回(function(present){
归还礼物;
});}, 8000);
这似乎奏效了。但是我怎么能等到“子元素”可以点击呢。
我试过这个
browser.wait(函数(){
返回browser.isElementPresent(by.model(“roleSelection.role”))。然后返回(function(present){
如果(出席){
var elm=元素(按.model(“roleSelection.role”);
返回elm.isElementPresent(by.cssContainingText('option',newRole))。然后返回(函数(subpresent){
返回子当前;
});
}
}); }, 8000);
好吧,试试这个:
但是,请记住,量角器适用于有角度的网页、交互和动画。例如,制作动画。因此,例如jquery或其他动画,它不一定能正常工作
这样:
onPrepare: function () {
// disable animations when testing to speed things up
var disableNgAnimate = function () {
angular.module('disableNgAnimate', []).run(function ($animate) {
$animate.enabled(false);
});
};
browser.addMockModule('disableNgAnimate', disableNgAnimate);
}
或者您可以在浏览器中以脚本方式切换。executeScript()
。
请看这个。它只适用于jquery动画
如果没有动画问题。使用setTimeout()
JS函数。好吧,尝试以下方法:
但是,请记住,量角器适用于有角度的网页、交互和动画。例如,制作动画。因此,例如jquery或其他动画,它不一定能正常工作
这样:
onPrepare: function () {
// disable animations when testing to speed things up
var disableNgAnimate = function () {
angular.module('disableNgAnimate', []).run(function ($animate) {
$animate.enabled(false);
});
};
browser.addMockModule('disableNgAnimate', disableNgAnimate);
}
或者您可以在浏览器中以脚本方式切换。executeScript()
。
请看这个。它只适用于jquery动画
如果没有动画问题。使用
setTimeout()
JS函数。您尝试过clickable吗?类似这样的东西
var EC = protractor.ExpectedConditions;
var select = element(by.model("roleSelection.role"))
var isClickable = EC.elementToBeClickable(select);
browser.wait(isClickable,5000); //now options should have been loaded by now
你试过clickable吗?类似这样的东西
var EC = protractor.ExpectedConditions;
var select = element(by.model("roleSelection.role"))
var isClickable = EC.elementToBeClickable(select);
browser.wait(isClickable,5000); //now options should have been loaded by now
页面有角度,但有手动引导。此页面在登录后显示,然后我选择角色。之后,页面将获取要从中选择的“部门”。现在,当获取该文件时,我选择了“department”。我尝试了expectedconditions,但它不起作用,甚至上面的简单版本也不起作用。消息类似于“无法绑定”。页面有角度,但带有手动引导。此页面在登录后显示,然后我选择角色。之后,页面将获取要从中选择的“部门”。现在,当获取该文件时,我选择了“department”。我尝试了expectedconditions,但它不起作用,甚至上面的简单版本也不起作用。消息类似于“无法绑定”。这似乎解决了它(无论如何,大多数情况下)。非常感谢。这似乎已经解决了它(无论如何,大多数时候)。非常感谢。