Javascript 在量角器中,如何检查aria hidden=";“真的”;或;假;
我需要检查aria hidden=“true”或“false”,具体取决于单击Javascript 在量角器中,如何检查aria hidden=";“真的”;或;假;,javascript,selenium,protractor,Javascript,Selenium,Protractor,我需要检查aria hidden=“true”或“false”,具体取决于单击 <tr ng-class="{'submitted' : (position.submitted) }" ng-repeat- start="position in demandFactory.openings | orderBy:sortType:sortReverse"> <td><span ng-click="openDemand(po
<tr ng-class="{'submitted' : (position.submitted) }" ng-repeat-
start="position in demandFactory.openings | orderBy:sortType:sortReverse">
<td><span ng-click="openDemand(position.demandID)"><span ng-show="position.demandID == demandFactory.selectedDemand">
<span class="glyphicon glyphicon-menu-down glyphicon-small" aria-hidden="true"></span>
</span>
<span ng-show="position.demandID != demandFactory.selectedDemand">
<span class="glyphicon glyphicon-menu-right glyphicon-small" aria-hidden="true"></span>
</span></span>
<span class="jobName"> {{ position.name }} </span>
</td>
<td>{{ position.demandID }}</td>
<td>{{ position.rotation }}</td>
<td>{{ position.headcount }}</td>
<td>{{ position.num }}</td>
<td>{{ position.approved }}</td>
</tr>
使用量角器,您可以使用文档中的
getAttribute
getText()
返回元素内部的文本,而不是元素属性
你可以这样做
var val;
aPromiseOfRow.getAttribute('aria-hidden').then(function(attrValue) {
val = attrValue;
});
- 使用文档化的
获取要测试的元素Get(index
- 在
expect()中获取属性
- 根据您的用例适当地使用像toBe/toEqual这样的匹配器
var aPromiseOfRow = element.all(by.repeater('position in demandFactory.openings').get(0);
expect(aPromiseOfRow.getAttribute('aria-hidden')).toEqual('true');
如果您希望访问该值以供以后使用,请使用类似的方法
var val;
aPromiseOfRow.getAttribute('aria-hidden').then(function(attrValue) {
val = attrValue;
});
希望有帮助…在同一个td中有两个跨度。我需要检查两个跨度的aria隐藏。它们是嵌套的跨度。建议为
元素添加适当的CSS类/id选择器。然后使用aPromiseOfRow.element(by.CSS(“此处的跨度选择器”)。getAttribute(“aria隐藏”)
。逻辑非常简单。基本上获取元素,然后调用getAttribute(“aria hidden”)
。失败:aPromiseOfRows.element不是一个函数。我遇到一个错误,这是因为aPromiseOfRows
是一个元素数组。您需要的是aPromiseOfRows.get(0)
获取该数组中的第一个元素。然后可以使用.element(by.css('span-selector'))
进入span元素。请注意其aPromiseOfRow
上的响应,而不是aPromiseOfRow
。更轻松的是,建议对您正在使用的代码多加思考。如果不理解您正在编写的内容,那么在编写过程中几乎没有任何价值:)下面是我所做的。我使用定位器找不到任何元素:By(css选择器,.glyphicon-glyphicon-menu-down-glyphicon-small)var-aPromiseOfRows=element.all(By.repeater('position in-demandFactory.openings')。行(0));var aPromiseOfRow=aPromiseOfRows.get(0);log(aPromiseOfRow.element(by.css('.glyphicon-glyphicon-menu-down-glyphicon-small')).getAttribute(“aria-hidden”);可能重复@JeffC标记的问题,请通读现有问题和答案。最有可能的是,你也会得到你正在寻找的解决方案。