我是Protractor的新手,发现这有点困难,我希望我能解释一下,如果您需要任何进一步的信息,请告诉我。
所以..我正在处理的应用程序将默认主题设置为黑色,然后您可以在导航栏中选择一个下拉菜单,它为您提供选择不同主题“白色”的选项,我已经能够成功选择白色主题,但我想知道如何使用此如果默认主题是白色或更改为白色,然后检查主题黑色仍在工作,我怎么能写e2e测试来反映。
我应该提一下,一旦选择了一个主题,它就会缓存1年,这样主题就会保留,除非改变。
我编写的代码选择Light主题
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)
我们也有黑暗主题和浅色主题: 您可能需要找到存储主题的值。
在我的项目中,请参阅以下HTML代码:
对于黑暗主题:
<body class="nsweb-theme-dark">
<nsw-app _nghost-ewh-1=""><toaster-container _ngcontent-ewh-1="" ng-reflect-toasterconfig="[object Object]">
For Light Theme:
<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")
}
希望你很清楚。 : - )