试图为主题选择器编写量角器e2e测试

时间:2017-03-02 00:41:25

标签: javascript angularjs angular typescript protractor

我是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);
     });

提前感谢您的帮助。 欢呼声,

1 个答案:

答案 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")
  }
希望你很清楚。 : - )