问题标签 [end-to-end]

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 投票
3 回答
6096 浏览

testing - 如何模拟 AJAX 请求?

在端到端测试期间修改场景.js 以模拟 AJAX 请求的最简单方法是什么?

Player 从服务器上名为 player.json 的文件中正确获取,并且以下测试通过。如何将不同的 json 传递给此测试并防止获取回服务器?

0 投票
1 回答
689 浏览

javascript - 是否可以将 Testacular 用于非 AngularJS 应用程序进行端到端测试

我正在构建一个简单的应用程序,并希望使用 Testacular 作为测试运行器。Testacular 易于设置用于单元测试,但将它用于 e2e 的可能性似乎也很大,但是我的应用程序不会在 AngularJS 中。这是可能的(或简单的)吗,还是我应该更多地关注 Selenium?

0 投票
4 回答
4636 浏览

angularjs - AngularJS e2e 测试:如何获取 repeater().count() 的值?

问题

调用repeater('#myTable tr','Rows').count();返回 a Future,而不是整数。我需要获取整数值,以便确认向表中添加了额外的行。

代码

测试结果

0 投票
1 回答
896 浏览

unit-testing - 协作网络应用程序的端到端 UI 测试?

我们有一个协作网络应用程序,其中在用户 A 的浏览器中执行的操作将对用户 B 的浏览器产生副作用。聊天室是应用程序的一部分,也是我们尝试测试的一个很好的例子。

我们当前的堆栈是:

  • 前端的 AngularJS
  • Express 在 Node 上运行以提供静态文件
  • Socket.IO 运行在 Node 上,用于处理客户端浏览器之间的 Web 套接字通信
  • 为我们的构建过程提供早午餐
  • Angular Seed 是我们测试的起点
  • Jasmine 用于实际测试框架
  • Testacular 运行测试

进行测试的最佳方法是什么?“最好”是指“任何”。完整的集成测试需要 2 个浏览器和 2 个 Web 服务器(HTML 和 Web 套接字)。两个 Web 服务器都在 Node 上运行,因此至少它与 Testacular 的其余部分处于相同的环境中。

在我看来,这将需要

  1. 启动我们的套接字服务器实例
  2. 在 Jasmine 中启动 Web 浏览器,并保留对该浏览器 A 的引用
  3. 启动另一个浏览器,浏览器 B,并保留该引用。
  4. 向浏览器 A 发出命令并在浏览器 B 中测试由此产生的变化。

有没有人遇到过这种测试的文档或示例(最好是在带有 Jasmine 的 Testacular 中,但我们对选项持开放态度)?甚至关于使用哪些搜索词的建议也会有所帮助。

0 投票
2 回答
1595 浏览

angularjs - 为什么 Angular $timeout 会阻止端到端测试?

我制定了一个指令,用于向用户显示通知消息。为了显示我写的通知:

我使用 $timeout 来确保消息在屏幕上停留 5 秒。

现在我想对其进行端到端测试,以便确保显示通知。问题是当显示通知时,端到端也像通知消息一样超时。这使得无法检查是否显示了正确的通知。.

这是我的测试代码:

我想避免使用 javascript setTimeout() 并希望有另一个(Angular)解决方案来解决这个问题。

0 投票
1 回答
525 浏览

testing - E2E 测试远程 AngularJS 应用程序

我正在尝试使用Karma Test Runner实现对现有AngularJS应用程序的E2E 测试。我的应用程序位于并且我在. 所以在我的业力配置文件中,我有:host1.internalhost2.internal

在登录之前,它显示了不同<div>的内部index.html,但在登录后,它隐藏了所有可见的 div 之前ng-hide='loggedIn'<div ng-view>问题是使用AngularJS路由配置获取部分视图文件,如下所示:

我在浏览器的控制台中收到这些错误:

正如您在路由配置代码片段中看到的那样,我尝试获取具有完整 URL 的模板,但不幸的是,请求并不简单GET,它是OPTIONS(我不确定为什么?)而且我收到关于旧Access的错误- Control-Allow-Origin标头。

如何在Karma配置中正确配置代理,以便我可以获取这些静态文件?或者任何其他解决方案?

谢谢!

0 投票
1 回答
5279 浏览

testing - AngularJS:使用 Karma 运行 e2e 测试

我想使用 KarmaJS (0.9.2) 运行我的 Jasmine e2e 测试。我在 Windows 7 上使用带有 AngularJS (1.0.7) 的 Google Closure。当我开始使用 karma 时,karma start config\karma-e2e.js一切正常(浏览器导航到正确的页面),但它不执行我的测试(在“浏览器导航到”处停止)。

config\karma-e2e.js文件:

测试源 ( tests\e2e\scenarios.coffee) 是:

我正在使用 html5Mode 路由,使用 手动引导 Angular,angular.bootstrap我所有的咖啡脚本都是由 IDE 编译的,我在浏览器控制台或命令行中看不到任何错误。那么我该怎么做呢?难道我做错了什么?

谢谢!

0 投票
3 回答
8728 浏览

angularjs - 在角度 e2e 测试中模拟 $httpBackend

有谁知道如何在角度 e2e 测试中模拟 $httpBackend ?这个想法是在 travis-ci 上运行测试时存根 XHR 请求。我正在使用 karma 来代理我在 travis 上运行的 rails 应用程序的资产和部分。我想在没有真正数据库查询的情况下进行验收测试。

这是我的业力配置文件的一部分:

这是我的规范文件的一部分:

我尝试通过 $injector 接收 $httpBackend 服务:

但这不是在我的测试运行的 iframe 中使用的那个。

我的下一次尝试是使用 angular.scenario.dsl,这里是代码示例:

使用示例:

这会导致以下错误:

所以,在这一点上,我不知道下一步。有没有人尝试过这样做,这种类型的存根真的可能吗?

0 投票
1 回答
247 浏览

javascript - Angular e2e 描述的排序和它的阻塞

我正在使用 Karma 在 AngularJS 中运行 e2e 测试。

在一个describe()块内,为什么不管它们在测试中的顺序如何,it()块总是在任何嵌套块之后执行?describe()

例如:

最终将按以下顺序执行:

我想在其他任何事情之前测试“应该在你好页面上”是有道理的。

0 投票
2 回答
5282 浏览

node.js - node.js/karma/端到端测试:代理/app/index.html失败(错误:连接ECONNREFUSED)

以下是我在尝试从 AngularJS 教程http://docs.angularjs.org/tutorial/step_05在 MS Windows 8 Professional 上运行端到端测试时收到的消息。你能告诉我如何让这个测试运行良好吗?

在 MS Windows 8 Professional 上使用 Karma node.js 包运行端到端测试时 ECONNREFUSED