0

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

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

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

4

1 回答 1

2

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

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