1

形勢量角器測試的IE瀏覽器失敗時,開發者工具關閉

我試圖運行在Internet Explorer中的一些自動化的測試。他們已經在Firefox中運行良好,但由於某種原因,只有在瀏覽器窗口打開後不久,我纔打開開發者工具,他們只能在IE中按預期運行。

基本上,同時開發工具被關閉這兩項測試都不能互相兼容:

it('logs in',() => { 
    browser.get('/#/login'); 

    element(by.model('vm.credentials.username')).sendKeys('[email protected]'); 
    element(by.model('vm.credentials.password')).sendKeys('test1234'); 

    element(by.css('#sign-in')).click(); 

    expect(browser.driver.findElement(by.css('#sign-in')).getAttribute('class')).toMatch(/\bloading\b/); 

    expect(element(by.css('.account-list p:last-child')).getText()).toBe('AccountPage.NoAccountsForUser'); 
    expect(browser.driver.findElement(by.css('#sign-in')).getAttribute('class')).not.toMatch(/\bloading\b/); 
}); 

it('autoselects single account',() => { 
    browser.get('/#/login'); 

    element(by.model('vm.credentials.username')).sendKeys('[email protected]'); 
    element(by.model('vm.credentials.password')).sendKeys('test1234'); 

    element(by.css('#sign-in')).click(); 

    expect(browser.getCurrentUrl()).toBe('http://localhost:8000/#/'); 
}); 

預期的行爲

所以在兩個測試中它做一個登錄動作,這將導致授權後續請求中的頭部設置爲特定值。然後獲取您有權訪問的帳戶列表,並且此列表基於通過授權標頭髮送的令牌。對於第一個測試,列表是空的,第二個應該有一個帳戶。

實際行爲

會發生什麼事是,在第二次測試中,它似乎是在做請求與在第一次測試中設定的授權頭的服務器。要麼是這樣,要麼是在第一個請求中緩存XHR請求,並在第二個請求中使用該請求。我無法確定,因爲正如我所說的,它在開發工具打開時起作用,所以我無法驗證這是發生了什麼。

任何想法?

回答

0

我會嘗試設置您的能力配置的"ensure clean session"true:定義由IEDriverServer啓動IE之前清理或沒有瀏覽器緩存

能力。

capabilities: { 
    browserName: "internet explorer", 
    ensureCleanSession: true 
}, 
相關問題