问题标签 [angularjs-e2e]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
836 浏览

angularjs - AngularJS e2e 测试 - $routeParams 始终为空

我正在尝试为我的 AngularJS 应用程序编写一个端到端测试,在该测试中我检查当某个参数在 URL 中时,是否会发生某些事情。但是,$routeParams是一个空对象。这个人也有同样的问题。我试图确定一些文本出现在 UI 中时?code=whatever,在 URL 中。我的应用程序有效,这条路线符合预期:

当我test-index.html?code=123通过 Karma 测试运行程序访问时,在浏览器控制台中我看到:

我希望必须$routeParams在单元测试中进行模拟,但我认为端到端测试会像真正的应用程序一样运行。$routeParams当肯定有 URL 参数时,为什么在我的测试中完全为空?

编辑:这是我的测试:

0 投票
1 回答
414 浏览

angularjs - AngularJS e2e测试前后对比

我正在尝试为我的 angularjs 应用程序编写一些 e2e 测试,并且在处理以下问题时遇到了一个停止块:我有一个 ng-repeater 输出供应商表。我运行 e2e 测试以创建一个新的供应商,该供应商加载前一个(列表)页面。我想做的是在创建新供应商后将原始表行的长度与新的(应该是+1)行的长度进行比较。我似乎已经尝试了我能想到的一切,但在其他任何地方都没有找到答案。这是我尝试使用的一些代码:

这些都不起作用,并返回错误。有没有办法做到这一点?

编辑这是我的整个测试代码,除了我试图用表中继器做的事情:

0 投票
3 回答
8216 浏览

angularjs - 量角器在特定位置双击

我正在开发一个系统(使用AngularJS),该系统具有通过双击网页上的某个位置来调用的功能,然后我得到鼠标的坐标并做我想做的事。

我正在尝试使用量角器进行 e2e 测试,但找不到任何有关如何模拟双击并取回位置的信息。

有人对此有任何想法吗?

谢谢!

0 投票
1 回答
842 浏览

javascript - Angular E2E 测试数据:ngMockE2E 还是测试数据服务器?

我正在开发一个 Angular 应用程序(Angular 1.1.5)。我需要某种方式来模拟 e2e 测试的 REST API 响应。

AngularJS (Green & Seshadri)详细介绍了使用$httpBackend.

文档建议使用模块ngMockE2E模拟$httpBackend(这与正常的单元测试$httpBackend模拟不同。

我花了几个小时研究ngMockE2EAPI,虽然我可以看到一些好处,但似乎也有很多缺点。我的问题是:

ngMockE2E与提供测试响应的简单服务器相比,有哪些优势?或者,更一般地说,测试 Angular 应用程序与服务器交互的最佳方法是什么?

我能想到几个缺点:

  • 我需要更改我的 HTML 以使用不同的 Angular 模块(取决于ngMockE2E我的实际应用程序模块的新模块)引导应用程序
  • Firebug/Developer 工具没有要检查的 HTTP 请求。这对我来说是一件大事。我最终在我的模拟后端编写了请求/响应日志记录方法。我猜大多数模拟后端都包含这种代码。
  • 没有一种简单的方法可以从 URL 中提取参数。如果我想从 中获取id参数/resource/:id,我需要提供一个正则表达式来匹配 URL ( \/resource\/.+$),然后在斜杠上拆分匹配的 URL 字符串并选择最后一个元素。
  • API 很笨拙。返回静态对象很简单,但根据请求的 URL 动态确定要返回的测试对象却很困难。一些应用程序可能能够硬编码一组完整的测试 URL,但我需要测试大量资源,所以这对我来说是不切实际的。更复杂的代码意味着出错的地方更多。

我也能想到一些优点。使用时ngMockE2E

  • 我不需要告诉我的应用测试 API 在哪里 -$httpBackend将检查所有HTTP 请求是否匹配。
  • 我根本不需要运行 Web 服务器。
  • 我不需要重新启动服务器来获取对我的测试数据的更改。
  • 测试中的整体组件较少。但是,鉴于这是一个集成测试,这并不是一个巨大的好处。

对想法和经验非常感兴趣。

0 投票
1 回答
790 浏览

testing - 如何衡量 End2End 测试覆盖率?

我在项目的 end2end 测试中使用了 angularjs e2e,我也可以在 karma 中运行它。

我知道我可以使用 'karma-coverage' 插件来测量我的代码覆盖率,但这仅用于单元测试。

现在,我想测量 End2End 测试覆盖率,这有助于我知道我的测试用例有多少覆盖场景,任何人都可以告诉我如何自动测量 end2end 测试覆盖率?

0 投票
2 回答
441 浏览

javascript - 使用场景测试运行器进行 Angularjs e2e 测试 - 忽略 alert()

我正在为我的应用程序创建 e2e 测试,但在测试登录页面时出现问题。我想测试正确的登录名和不正确的登录名,但问题是当您输入错误的凭据时,您会收到警报(“您的电子邮件或密码不正确”),并且在 e2e 测试中也会触发,这意味着我必须单击 alert() 上的“确定”按钮以继续测试。无论如何要忽略测试中的 alert() 吗?

0 投票
1 回答
9259 浏览

angularjs - 使用代理到 ​​https 运行 AngularJS Protractor

尝试运行 Protractor 时,我在命令行中收到以下错误:

> 致命错误:量角器退出代码:1

我需要代理到 https 测试服务器。我该如何做到这一点?我遵循了这个Github issue的建议,但我仍然收到上述错误。这是我的配置文件:

0 投票
2 回答
2960 浏览

javascript - 使用量角器获取伪元素的值

我想验证伪元素的文本内容。使用返回的承诺ptor.executeScript("window.getComputedStyle(jQuery('.my-class')[0], ':after').content").then(function(data){ console.log(arguments) // {'0':null} });

我也尝试过在期望中放弃它,但我猜这会因为同样的原因而失败。

由于对此的 CSS 声明无论如何都指向元素的属性之一,我是否应该尝试读取该属性?

0 投票
1 回答
248 浏览

angularjs - 在不使用单元测试工具的情况下将 Angular E2E 结果导出到文件?

有没有人能够使用 Angular 测试运行器将 Angular E2E 测试结果导出到文件中。我想避免使用 Karma 并将结果导出到文件中。这可能吗?

谢谢你的帮助!

0 投票
2 回答
201 浏览

javascript - 如何使用 karma 和 ng-scenario 对 Angular/Umbraco 混合应用程序进行 e2e 测试

我们正在使用 Angular/Umbraco 混合应用程序进行在线订购程序,现在我们想设置基于 karma 和 ng-scenario 的 e2e 测试。

问题是过程中有一些步骤被用作静态页面,例如,使用电子邮件和密码登录的用户不是由 Angular 处理,而是由后端框架 Umbraco(使用典型的表单 POST 方法)处理。e2e ng-scenario 测试无法通过这些步骤进行,因为 input(name).enter(value) 命令仅接受有效的 ng-model 作为名称,因此无法模拟在输入字段中输入用户电子邮件和密码。

更重要的是,我们还想测试用户继续使用支付服务(在测试模式下)并在成功支付后返回我们的页面。

有没有人遇到过类似的设置/情况并找到了一个优雅的解决方案?