我正在尝试切换到另一个标签并在新标签页上使用控件,我收到此错误:
UnknownError:条目中的null值:name = null
这是测试(重要部分):
element(by.repeater("project in projects").row(1).column("{{project.name}}")).click().then(function(){
flow.timeout(5000);
$('.project-data a').click().then(function () {
browser.getAllWindowHandles().then(function (handles) {
flow.timeout(5000);
browser.switchTo().window(handles[1]).then(function () {
browser.sleep(5000);
browser.ignoreSynchronization = true;
});
测试中还有其他部分,但由于我在这部分中得到了错误,因此无关紧要。 流程是这样的: 单击链接后,选项卡打开,似乎切换到新选项卡 - 然后失败并关闭窗口。
答案 0 :(得分:1)
而不是像flow.timeout(5000)
那样使用browser.wait:
browser.wait(function() {
return handles.length > 1
}, 5000);
而不是第二个flow.timeout(5000)
使用:
browser.wait(function() {
return browser.getCurrentUrl().then(function (url){
return url = "url of the second tab";
});
}, 5000);
它看起来更干净,处理得更好,最重要的是,它将完成这项工作