我有一个类似gmail的应用程序,所以当用户注销时,它保存用户名,当下一个用户尝试登录时,它显示密码页面而不是用户名页面(因为每个操作都在一个窗口中发生)。需要为每个用户打开私有(隐身)窗口。我有一个用于登录的用户循环,我尝试按如下所示打开私有窗口。
var i;
for(i=0; i<user_count; i++){
element(by.css(".username")).sendKeys(test@gmail.com);
....
....
element(by.css(".logout")).click();
browser.actions().sendKeys(protractor.Key.chord(protractor.Key.CONTROL, protractor.Key.SHIFT ,"n")).perform();
browser.getAllWindowHandles().then(function(handles){
browser.switchTo.window(handles[1]);
browser.get(browser.baseUrl);
element(by.linkText(locators.locator_signinBtn)).click();
});
}
但是上面的代码没有打开新的私人窗口。我们该怎么做。谢谢您
答案 0 :(得分:2)
尝试在循环中使用browser.restart();
。并以隐身模式打开chrome,请更新chrome选项,如下所示:
capabilities: {
'directConnect': true,
'browserName': 'chrome',
chromeOptions: {
args: ["--incognito"]
}
},