量角器 - 在测试 Oauth2 时切换到 Facebook 登录屏幕



我正在尝试将 e2e 登录测试写入使用 oauth2 的应用程序。单击facbook登录时 - 打开另一个窗口(Facebook登录)。我正在尝试在那里输入凭据。我目前正在使用

browser.driver.switchTo().window();

因为它是一个新窗口。我已经读到我可以通过在控制台中输入"window.name"来获取窗口的名称。这样做时,我得到了"_e_02MT"我也尝试过"window.document.title"并得到了"Facebook"我尝试了不同的组合

browser.driver.switchTo().window('_e_02MT');
browser.switchTo().window('Facebook');
browser.driver.switchTo().window('Facebook');

等等还是到不了那个窗口。我收到错误:

 NoSuchWindowError: no such window

有什么想法吗?

谢谢。

您需要提供一个句柄,而不是窗口的名称:

browser.getAllWindowHandles().then(function (handles) {
  // switch to the popup
  browser.switchTo().window(handles[1]);
  // do stuff with the popup
  // ...
  // go back to the main window
  browser.switchTo().window(handles[0]);
});

最新更新