2017-03-02 130 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,你是一个传奇人物,这非常有意义,我会申请这个并让你知道。再次感谢你我的朋友,你真棒。 –

相关问题