我正在尝试在一个测试中处理多个浏览器实例。.一旦在一个浏览器实例中完成了操作..我的脚本将打开新的浏览器实例,并且为了忽略同步,我编写了一个函数,但它不起作用甚至struct sigaction action = {
.sa_flags = 0,
.sa_handler = intHandler
};
sigaction(SIGINT, &action, NULL);
int ch;
while (1) {
ch = fgetc(stdin);
if (ch == EOF) {
if (errno == EINTR) {
if (keepRunning) {
continue;
}
break;
}
break;
}
}
也不起作用。有人可以帮我吗?
browserInstance.ignoreSynchronization=true
this.Then(/^User tried to open in new browser instance$/,async function(){
browser2=await utility.openNewBrowser(browser);
//this common function is not working
//utility.ignoreSync(browser2);
browser2.ignoreSynchronization=true;
browser2.get("https://facebook.com");
page2=new facebook(browser2);
console.log(await browser2.getTitle()+" title");
browser2.sleep(5000);
});
var utility=function(){
this.openNewBrowser=function(browserInstance){
return browserInstance.forkNewDriverInstance();
}
this.ignoreSync=function(browserInstance){
browserInstance.ignoreSynchroniation=true;
}
}
module.exports=new utility();
答案 0 :(得分:0)
我的问题已通过仅两次调用waitForAngularEnabled得以解决
第一次应该是在创建浏览器时 第二次是在加载网址之后
this.ignoreSync=async function(url){
console.log("entered in to ignore");
browserInit.waitForAngularEnabled(false);
await browserInit.get(url);
browserInit.waitForAngularEnabled(false);
console.log("came out from ignore")
}
这是我的解决方案,如果有人有更好的解决方案,请随时发布。