等待使用python
我找到了这个答案,但我不是在测试angularjs应用程序,而是Angular2。 寻找一段类似的js代码来执行,直到angular完成 我想出了一个装饰器的想法,我会在触摸应用程序之前使用它,但我不知道脚本想要什么,我查看了clientsidescripts.js,但我不是一个有角度的开发人员,它似乎有NG1hook和可测试性。。。所以,也许我可以增加一些零碎的东西,把它们放到一个js文件中,然后执行它,比如像这个家伙一样,但这也是2015年的事等待使用python,python,webdriver,protractor,Python,Webdriver,Protractor,我找到了这个答案,但我不是在测试angularjs应用程序,而是Angular2。 寻找一段类似的js代码来执行,直到angular完成 我想出了一个装饰器的想法,我会在触摸应用程序之前使用它,但我不知道脚本想要什么,我查看了clientsidescripts.js,但我不是一个有角度的开发人员,它似乎有NG1hook和可测试性。。。所以,也许我可以增加一些零碎的东西,把它们放到一个js文件中,然后执行它,比如像这个家伙一样,但这也是2015年的事 def angular_wait_requi
def angular_wait_required(f):
def wrapped_f(self, *args, **kwargs):
self.driver.set_script_timeout(30)
self.driver.execute_async_script(WAIT_FOR_SCRIPT)
f(self, *args, **kwargs)
return wrapped_f
这就是我最后想到的太好了。甚至没有给我机会去编辑它和纠正打字错误
WAIT_FOR_SCRIPT = """
callback = arguments[arguments.length - 1];
try {
var testabilities = window.getAllAngularTestabilities();
var count = testabilities.length;
var decrement = function() {
count--;
if (count === 0) {
callback('completed');
}
};
testabilities.forEach(function(testability) {
testability.whenStable(decrement);
});
} catch (err) {
callback(err.message);
}
"""