无法使用Protractor在Safari浏览器中将焦点切换到子窗口

时间:2019-04-18 21:13:21

标签: javascript safari protractor

在Safari浏览器11和12版本中无法将焦点切换到子窗口

OS版本:macOS High Sierra和macOS Mojave

下面是我尝试过的代码段。

const id = 12;

const result = await User.destroy({ where: { id });

use result 

仍然将焦点保留在主窗口上,而不是切换到子窗口。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

我很惊讶地看到browser.wait(self.windowCount(2))内的browser.getAllWindowHandles()。如果您拥有所有手柄,但还没有到那里,那么之后再等待它不会有多大好处。同样,应该保证browser.wait与之后的内容链接在一起。也许像(未经测试):

exports.switchWindowFocus = function (url) {
  var self = this;
  browser.wait(self.windowCount(2), 10000).then(function() {
    browser.getAllWindowHandles().then(function (handles) {
      console.log(handles.length);
      browser.switchTo().window(handles[1]).then(function() {
        expect(browser.getCurrentUrl()).toEqual(url);
      })
    });
  });
};