当前位置: 首页 > 知识库问答 >
问题:

量角器可以定位和检查自举angularjs的ng-for创建的列表元素吗?

吕自怡
2023-03-14

当在量角器中运行时,下面的代码


    describe('todomvc angular2 tests', function() {
      it('add to-dos and verify that they are displayed', function() {

        browser.ignoreSynchronization = true; // The site/app under test uses AngularJS in what might be called a manually bootstrapped fashion, i.e. without use the ng-app directive.
        browser.get('http://todomvc.com/examples/angular2/');

        browser.driver.sleep(1000); // There's got to be a better way to wait for the custom  tag (which is a custom AngularJS directive) to load.

        var el = element(by.css('input.new-todo'));
        el.clear();
        el.sendKeys('task 1\r\n');
        el.sendKeys('task 2\r\n');

        browser.driver.sleep(2000); // aid in debugging

        var resultlist = element.all(by.repeater('todo in todoStore.todos')); // This doesn't work...
        expect(resultlist.count()).toEqual(2);

      });
    });

生成以下输出:


    Using the selenium server at http://localhost:4444/wd/hub
    [launcher] Running 1 instances of WebDriver
    F

    Failures:

      1) todomvc angular2 tests add to-dos and verify that they are displayed
       Message:
         Expected 0 to equal 2.
       Stacktrace:
         Error: Failed expectation

在todoStore.todos(即ul.todo-list)中查找和检查项目的最佳方法(或任何工作方法)是什么?

共有1个答案

严子默
2023-03-14

量角器应该能够很好地看到这些元素。我想知道元素是否没有按照预期进行解析?看看这个promise是否可行:

$$('[ng-repeat="todo in todoStore.todos"]').count().then(function(countOfElements){
    expect(countOfElements).toEqual(2, 'Error: Todo count did not match');
})
 类似资料:
  • 问题内容: 我正在尝试使用量角器测试元素是否可见。元素的外观如下: 在chrome控制台中时,我可以使用此jQuery选择器测试该元素是否可见: 但是,当我尝试在量角器中执行相同操作时,在运行时出现此错误: 为什么这无效?如何使用量角器检查可见性? 问题答案: 应该这样做: 记住量角器的不是jQuery和不_尚_的一部分提供CSS选择器+伪选择

  • 我的应用程序的大多数元素都在shadow-root(open)下。我需要使用量角器框架使它们自动化。deepCSS不起作用。请帮助我自动化这些元素-主要是点击。 我必须点击阴影根元素使用我的量角器自动化框架。我尝试了deepCSS、xpath等,但没有成功。

  • 我在用量角器5.2.0(节点8.4.0,角度1.5)定位ng-repeat循环中的一个元素时遇到了麻烦。UI代码如下所示: 我的量角器conf文件如下所示:

  • 我在python上有一个元素列表,我可以在index.html页面上以下拉列表的形式获得它,并将一个选定的值发送到另一个页面进行处理。问题是如何选择列表中的多个元素。我的意思是只有几个没有或库的元素?

  • 问题内容: 我正在尝试自定义一个,以便为每个第4个元素添加类似标签的内容。我曾尝试搜索,但似乎找不到可靠的答案。有没有简单的方法可以为Angular这样的条件添加条件?我只是在其中添加了一些内容,但我需要在第4个元素处开始新的一行。 即我想要以下 但现在它只是这样做 如果有关于自定义的好文章(对于新手),我将非常感谢您提供的链接以及到目前为止我发现的所有内容都太难理解了。 的HTML 问题答案:

  • 问题内容: 作为AngularJS的新手,我正在寻找一种在触发后定位循环内元素的方法。他们当时似乎还没有准备好。谢谢你的帮助。 问题答案: 这篇博客文章讨论了在控制器中侦听事件以调用函数,而不是使用: