1. ホーム
  2. selenium

[解決済み] WebDriver や Protractor でタブを閉じる方法はありますか?

2022-02-09 22:09:11

質問内容

Protractor や WebDriver を使って物理的にタブを閉じる方法はありますか?

というのも、私はその方法を知っていますが タブの切り替え をプログラムしても、アクティブなタブを前景にすることはできません。スクリーンキャストを表示すると、アクティブなタブではなく、ナビゲートしたタブが表示されるため、SauceLabs上で実行される私のE2Eテストで何が起こっているかを常に知ることはできません。

私のやり方は間違っているのでしょうか?

it('should do something in the previous tab', function(done) {
    browser.getAllWindowHandles().then(function (handles) {
        browser.switchTo().window(handles[0]);
        // do something
        expect(something).toEqual(thisThing);
        done();
    });
});

解決方法は?

以下をお試しください。

  1. 新しく開いたタブに切り替える。
  2. 現在のウィンドウ(この場合は新しいタブ)を閉じます。
  3. 最初のウィンドウに切り替えます。

    browser.getAllWindowHandles().then(function (handles) {
    browser.driver.switchTo().window(handles[1]);
    browser.driver.close();
    browser.driver.switchTo().window(handles[0]);
    });