Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 删除NG重复量角器中的记录_Angularjs_Node.js_Protractor - Fatal编程技术网

Angularjs 删除NG重复量角器中的记录

Angularjs 删除NG重复量角器中的记录,angularjs,node.js,protractor,Angularjs,Node.js,Protractor,所以我用量角器和角度仪做e2e测试, 我的第一个测试是在列表中添加一个元素, 现在我正试图删除它,但我很难做到这一点 这就是我需要做的: 查找要删除的记录的名称 单击同一行的垃圾桶图标并将其删除 在出现的弹出窗口中按ok 尽可能避免使用By.css,并更喜欢与angular相关的所有内容(byBinding、model等)。这是因为这部分的应用程序可能最终会改变,因此我将不得不重做所有这些案例 HTML: 任何关于如何解决此问题的提示都将不胜感激 describe('Testing delet

所以我用量角器和角度仪做e2e测试,
我的第一个测试是在列表中添加一个元素,
现在我正试图删除它,但我很难做到这一点

这就是我需要做的:

  • 查找要删除的记录的名称
  • 单击同一行的垃圾桶图标并将其删除
  • 在出现的弹出窗口中按ok
  • 尽可能避免使用By.css,并更喜欢与angular相关的所有内容(byBinding、model等)。这是因为这部分的应用程序可能最终会改变,因此我将不得不重做所有这些案例 HTML:

    任何关于如何解决此问题的提示都将不胜感激

    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);
      });
    });
    

    让我知道它是否有效。

    谢谢安德烈斯您的回答帮助我解决了一些疑问

    不管怎么说,答案是这样的,最乏味的部分之一是,让我们希望以后

    it('Should delete the Team that just got Inserted',function() {
        element(by.css('a[href="#!/team-create"]')).click(); //Opens up the Team dashBoard
        element.all(by.repeater('item in teamList')).filter(function(row) {
            return row.element(by.css('.memberName')).getText().then(function(name) {
                return name === teamName;
            });
        }).first().element(by.css('.glyphicon-trash')).click();
        testHelper.popUpHandler(ptor);
        element.all(by.css('.list-group-item .memberName')).each(function(list) {
            expect(list.getText()).not.toContain(teamName);
        });
    });
    
    您无法console.log()和getText(),因为它返回一个承诺。使用then(function(text){}),就像使用元素一样。all()将两行对齐。
    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);
      });
    });
    
    it('Should delete the Team that just got Inserted',function() {
        element(by.css('a[href="#!/team-create"]')).click(); //Opens up the Team dashBoard
        element.all(by.repeater('item in teamList')).filter(function(row) {
            return row.element(by.css('.memberName')).getText().then(function(name) {
                return name === teamName;
            });
        }).first().element(by.css('.glyphicon-trash')).click();
        testHelper.popUpHandler(ptor);
        element.all(by.css('.list-group-item .memberName')).each(function(list) {
            expect(list.getText()).not.toContain(teamName);
        });
    });