如何在量角器中检查元素的类是否处于活动状态?

时间:2016-05-10 03:54:14

标签: angularjs selenium-webdriver protractor

我有以下代码:

查看:

<li class="active"> 
    <a href="#public1' data-toggle="tab"> All Stacks </a>
</li>

我可以通过以下方式找到元素(标签):

var allStacksTab = element(by.linkText("All Stacks"));

现在我如何使用expect()测试,以查看该元素/选项卡是否具有活动类?

4 个答案:

答案 0 :(得分:1)

一旦你像在你的例子中那样抓住元素,你应该能够做到以下或类似的东西......

Session_End

答案 1 :(得分:1)

尝试使用by.cssContainingText,如果你使用ES6 - 它甚至更简单:

let allStacksTab = element(by.cssContainingText("li", "All Stacks"));
// split(' ') is needed since class might be 'inactive' 
// and includes applied to string will return false positive 'true' in such case
let hasActiveClass = allStacksTab.getAttribute('class').then(classes => classes.split(' ').includes('active'))
expect(hasActiveClass).toBeTruthy('Element "All Stacks" should be active')

答案 2 :(得分:0)

尝试这样的事情。

expect(element(by.linkText("All Stacks")).element(by.xpath('..')).getAttribute('class')).toEqual('active')

答案 3 :(得分:0)

检查类是否包含活动类的简单方法:

var allStacksTab = element(by.linkText("All Stacks"));
allStacksTab.getAttribute('class')).toContain('active');`