2017-03-02 129 views
1

我是量角器的新手,發現這有點困難,我希望我能解釋它,如果您需要任何進一步的信息,請讓我知道。試圖爲主題選擇器編寫量角器e2e測試

所以..我正在使用的應用程序有一個默認主題設置爲黑色,然後有一個下拉菜單,您可以選擇在導航欄中給你一個選項來選擇不同的主題「白色」,我一直能夠成功地選擇白色主題,但我想知道如何使用這個,如果默認主題是白色的,或者更改爲白色,然後檢查Black主題是否仍在工作,我該如何編寫e2e測試來反映這一點。

我應該提到,一旦選擇了一個主題,它就會被緩存1年,這樣主題就會保留,除非被更改。

代碼,我已經寫了選擇淺色主題

it('should select theme selector',() => { 
     let top = element(by.css('cloudgate-theme-selector')); 
     top.element(by.css('.dropdown-toggle')).click(); 
     element(by.cssContainingText('li a', 'Light')).click(); 
     browser.sleep(1000); 
    }); 

感謝您對您的幫助提前。 歡呼聲,

+0

所以,你可能想檢查從一個主題切換到其他,並驗證是否顯示正確的主題?這是你的場景嗎? –

+0

是的,這正是我想驗證,但不確定如何寫出來!非常感謝Kishan –

回答

0

我們也有黑暗的主題和輕的主題: 您可能需要找到存儲主題的值。

在我的項目看到的HTML代碼如下:

暗主題:

<body class="nsweb-theme-dark"> 
<nsw-app _nghost-ewh-1=""><toaster-container _ngcontent-ewh-1="" ng-reflect-toasterconfig="[object Object]"> 

光主題:

<body class="nsweb-theme-light"> 
<nsw-app _nghost-ewh-1=""><toaster-container _ngcontent-ewh-1="" ng-reflect-toasterconfig="[object Object]"> 

這樣你就可以就拿主題數據(對我來說,它是類)的文本可用,即光/黑暗,然後驗證它:

if (theme == dark) 
    { 
    expect(themecolor).toBe("nsweb-theme-dark") 
    } 
else 
    { 
    expect(themecolor).toBe("nsweb-theme-light") 
    } 

希望你清楚。 :-)

+0

OMG非常感謝Kishan,你是一個傳奇人物,這非常有意義,我會申請這個並讓你知道。再次感謝你我的朋友,你真棒。 –

相關問題