我正在尝试测试我的 html 的点击事件
html
<div class="testGroup">
<div ng-repeat="test in tests">
<a ng-click="clickMe(test.id)">{{test.name}}</a>
<a ng-click="clickMe(test.id)">{{test.name}}</a>
<a ng-click="clickMe(test.id)">{{test.name}}</a>
<a ng-click="clickMe(test.id)">{{test.name}}</a>
</div>
</div>
<div class="testGroup">
<div ng-repeat="test in tests">
<a ng-click="clickMe(test.id)">{{test.name}}</a>
<a ng-click="clickMe(test.id)">{{test.name}}</a>
<a ng-click="clickMe(test.id)">{{test.name}}</a>
</div>
</div>
<div class="testGroup">
<div ng-repeat="test in tests">
<a ng-click="clickMe(test.id)">{{test.name}}</a>
<a ng-click="clickMe(test.id)">{{test.name}}</a>
<a ng-click="clickMe(test.id)">{{test.name}}</a>
</div>
</div>
三个 div 是相同的,但我想选择第一个 testGroup 类并单击第一个 a 标签。我还想单击第二个 testGroup 类上的第一个 a 标签。
在我的spec.js中
element.all(by.css('.testGroup')).get(0).then(function(elem) {
element(by.repeater('test in tests').row(0)).click();
});
我收到 undefined is not a function 错误。我认为这是因为 get(0) 不是一个 promise 。如何触发单击第一个 testGroup div 中的第一个标签和第二个 testGroup div 中的第一个标签?感谢您的帮助。
最佳答案
像这样的东西可以吗?
var testGroupOneTag = $$('.testGroup').get(0).$('[ng-click="clickMe(test.id)"]');
var testGroupTwoTag = $$('.testGroup').get(1).$('[ng-click="clickMe(test.id)"]');
testGroupOneTag.click():
testGroupTwoTag.click():
$$ 是 css 的 element.all 的缩写。
关于html - 如何在我的测试用例中选择子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32149678/