【问题标题】:Angular Scenario Test Runner displays page but assertions failAngular Scenario Test Runner 显示页面但断言失败
【发布时间】:2013-05-28 02:33:44
【问题描述】:

我正在尝试将 Angular 的 Scenario Test Runner 与我的 Django 1.4.4 webapp 一起使用。

设置:我从新提取的 Angular phonecat 教程项目(2013 年 3 月,9a55c8)中复制了场景测试运行程序文件。我将测试目录与其他静态资产(如 js、css 等)放在一起*。我正在使用 Angular 进行一些绑定,但不是路由。

问题:当我运行 e2e 运行程序并发出 browser().navigateTo('../../../<myapp>'); 时,我可以从我的应用程序加载中看到页面(在测试运行程序屏幕的底部),但它就像测试人员看不到。 browser().location().path() 值在我的测试代码中为空。如果我尝试断言有关该页面上元素的任何内容,则这些元素是未定义的。

【问题讨论】:

    标签: django testing angularjs automated-tests integration-testing


    【解决方案1】:

    简短的回答是设置实际上没有任何问题。是什么让我相信存在基于对 API 的两个误解的观察结果。如果有人遇到类似问题,请注意:

    1. 诸如element(selector) 之类的模式会返回在执行之前显示为空的未来对象。因为它们看起来很空,我相信它们不匹配。如示例中所示,将它们与期望一起使用是可行的,例如: expect(element('title').text()).toMatch('.*Home Page.*');
    2. browser().location() 使用 $location service,默认配置为使用 Hashbang URL(例如,http://foo.com/#!/bar?param=val#hash)。由于我使用的是传统 URL(没有哈希),因此路径和 URL 为空。使用browser().window().href() 实现了预期目标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-22
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      • 1970-01-01
      • 2022-12-22
      相关资源
      最近更新 更多