所以我用量角器和角度进行e2e测试,
我的第一个测试是在列表中添加一个元素,
现在我正试图删除它,而我却遇到了麻烦
我的第一个测试是在列表中添加一个元素,
现在我正试图删除它,而我却遇到了麻烦
所以这就是我需要做的:
>找到我要删除的记录的名称
>单击该行的垃圾桶图标并将其删除
>在出现的弹出窗口中按“确定”
>尝试尽可能避免使用By.css并更喜欢与angular(byBinding,model等)相关的所有内容.这是因为应用程序的这一部分最终会改变,因此我将不得不重做所有这些情况.
HTML:
…
<div class="list-group-item ng-scope" ng-repeat="item in teamList"> <span class="glyphicon glyphicon-user"></span> <span ng-bind="item.name" class="memberName ng-binding">nuevo Team</span> <a ng-click="editTeam(item._id)" class="hand-cursor"> <span class="glyphicon glyphicon-edit memberRemoveBotton"></span> </a> <a ng-confirm-click="Would you like to delete this item?" confirmed-click="deleteTeam(item._id)" class="hand-cursor"> <span class="glyphicon glyphicon-trash memberRemoveBotton"></span> </a> </div>
JS:
describe('Testing delete Item',function() { it('Should delete the Item that just got Inserted',function() { element(by.css('a[href="#!/item-create"]')).click(); //Opens up the Item dashBoard element.all(by.repeater('item in itemList')).then(function(table) { table.element(by.binding('item.name')).each(function(names) { console.log('the names',names.getText());//I'm trying to find the name of the item that just got inserted // is there like a nested chaining of elements in here ?? }); }); }); });
解决方法
describe('Testing delete Item',function() { it('Should delete the Item that just got Inserted',function() { // Assume you know the name of the item you want to delete. var nameToDelete = 'some name'; // Get the row that has the name by using filter. element.all(by.repeater('item in itemList')).filter(function(row){ return row.element(by.css('.memberName')).getText().then(function(name){ return name === nameToDelete; }); }) // Now you should have one row. .get(0) // Get the row and click find the remove button. .element(by.css('.memberRemoveBotton')) .click(); // Make sure it was deleted. var names = $$('.list-group-item .memberName').getText(); expect(names).not.toContain(nameToDelete); }); });
如果有效,请告诉我.