问题标签 [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 回答
11944 浏览

javascript - 使用 Protractor 测试确认对话框

这似乎是一个非常简单的问题,但我真的在网上找不到答案,我自己也找不到答案。

我在我的应用程序中使用 AngularJS,在某些时候,我有一个原生 JavaScript 确认框/对话框,询问用户他/她是否想要接受或取消更改。

如何在我的测试中模拟选定的选项(使用量角器)?是否可以访问确认框并“单击”确定或取消并在我的测试中采取相应措施?我猜是这样的

有可能,但我似乎找不到答案。

0 投票
1 回答
307 浏览

tcp - 如何编辑 TCP 协议 (tcp.cc)

我的研究是通过触摸传输层进程到进程通信来最小化端到端重传延迟。

我对 tcp.cc 做了一些更改,更改了窗口大小。我正在做的改变没有影响。例如:即使我从 NS2 文件夹中删除了 tcp.cc 文件,但 TCP 拓扑仍在工作,这是为什么呢?

谢谢!

0 投票
0 回答
86 浏览

angularjs - AngularJS 端到端测试和访问外部 API 与 Mocking

我有一个提供 AngularJS 应用程序的 php API。

我一直在寻找有关端到端测试和后端的最佳实践。

我应该在测试我的 Angular 应用程序时模拟我的后端应用程序,还是让它访问数据库并创建/更新/删除记录?

我认为这两种论点都有优点。


嘲讽的好处

如果我模拟 API,测试会更快、更可靠,并且从可控、一致的状态开始。

更少的事情会出错 - 移动部件更少。

由于 API 是一种合同,我应该对我得到的响应充满信心,并且因为它们是一个已知因素,所以可以轻松地嘲笑它们。


嘲笑的坏处

每次更新 API 时,我都必须更新我的模拟。

Mocking 会增加很多复杂且难以维护的代码(尽管这不是已成定局)


使用 API 的好处

测试将全面测试应用程序的广度和深度,从前端 JS 客户端到服务器端。


攻击 API 的坏处

较慢的测试 更多的设置(需要在本地进行测试,所以我必须运行并清理数据库) 不一致的起点(除非我不断清理数据库,否则无法测试页面的外观而没有项目)


我有点纠结该走哪条路。

单元测试显然会模拟出任何依赖关系,但端到端是另一回事。

想法?

0 投票
1 回答
1581 浏览

javascript - angularJS Protractor e2e 测试 TypeError: Object [object Object] has no method 'input'

我有一个有两个页面的应用程序...第一页是登录页面,其中有一个登录按钮...一旦用户单击此登录按钮,他们就会被重定向到 login.html ....有两个输入。一个用于用户名,一个用于密码。

相关代码如下所示:

在我的测试中,我首先单击登录按钮并检查我是否已正确重定向到新页面。这个测试通过了,但是当我尝试在这些输入框中输入时出现错误,就好像这些框不存在一样。我试图让浏览器睡眠,但这也不起作用。

有什么建议吗?

更新:

使用 by.model 而不是 by.input 有效,但我正在阅读的书说第一个也应该有效..奇怪。

0 投票
1 回答
346 浏览

java - TestNG 功能测试 @Test 顺序序列

我目前正在尝试使用 TestNG 编写一些自动化测试,它将验证用户在网站上的一些操作,因此这些测试是端到端的功能测试,而不是单元测试。

我创建了一个 XML 文件来保存测试数据(这个 XML 文件的结构不会改变)。测试脚本将从测试文件中读取信息并将其传递给 DataProvider,然后提供 @Tests。问题是 - 数据提供者似乎正在用每个测试数据实例抽取每个 @Test 方法,并且它没有按顺序运行测试。

我附上了代码 - 如果我的方法是正确的,或者需要在代码中调整什么以使每组测试数据都可以运行,请有人提出建议。

测试数据文件

数据提供者读取此测试数据并将其传递给 Object[][]

自动化测试脚本如下;

}

问题是当我运行它时 - TestNG 正在将每个数据中的所有数据传递给每个 @Test 方法。我需要它通过方法序列传递每个实例..所以; , SignIn, SearchForProduct, PlaceOrder, ValidateQuantityAmount, ValidateSide, ValidateTotal, CancelOrder 然后对下一个实例重复这个

我的方法错了吗?我知道每个测试都需要独立 - 但是在运行端到端测试时怎么可能呢?

提前致谢

约翰

0 投票
1 回答
1072 浏览

selenium-webdriver - grunt-protractor-runner 和跨浏览器测试

我能够在当前设置上成功地在 chrome 上运行测试,但是我无法将其他浏览器添加到我的测试中。我正在使用 grunt 模块“grunt-protractor-runner”来运行我的 e2e 测试。

环顾四周,我知道 grunt-protractor-runner 模块确实支持 multiCapabilities,所以从表面上看,我希望编辑目标配置文件以包含 multiCapabilities 并将 chromeOnly 更新为 false 的简单任务。

尽管我可以通过 multiCapabilities,但我无法将 chromeOnly 选项更改为“false”并让我的测试成功运行。将 Firefox 和 Chrome 传递给 multiCapabilities 时出现的错误,

运行 2 个 WebDriver [launcher] 运行程序进程退出,错误代码:8

我在 Windows 7 上运行我的设置,使用 grunt-protractor-runner 1.0.1、protractor 0.23.1、chromedriver 2.9 和 selenium-server-standalone 2.41.0

0 投票
12 回答
43474 浏览

angularjs - 用 Selenium 测试 AngularJS

我在堆栈 ASP MVC + AngularJS 上有一个 SPA 应用程序,我想测试 UI。现在我正在使用 PhantomJS 和 WebKit 驱动程序尝试 Selenium。

这是一个示例测试页面 - 具有单个元素的视图。列表项<li>从服务器动态加载并受 Angular 限制。

我正在尝试通过测试,但此行有错误:

此时没有加载元素并且 _driver.PageSource 不包含元素。

如何等待项目加载?请不要建议Thread.Sleep()

0 投票
1 回答
2304 浏览

asp.net-mvc - 运行测试项目时自动启动 ASP.MVC 项目

我正在尝试为我的 ASP 网站设置一个测试项目。对于某些测试,我想使用 selenium 来执行端到端测试。

因此,我的网站必须运行,以便测试可以访问该网站。

运行测试时如何启动我的网站项目?

0 投票
1 回答
1331 浏览

node.js - 在量角器测试期间使用 $rootScope

我正在尝试进行 End2End 测试,我需要操作来自服务器的数据(模拟它)......有没有办法在 Protractor 中访问 $rootScope 以便我可以告诉服务器(节点)我正在寻找什么数据完成测试?我会在量角器中注入 rootScope 作为“之前”,然后当我需要操作数据时,我可以。

请告知如何执行此操作或是否有其他方法可以执行此操作。

0 投票
1 回答
920 浏览

javascript - 如何使用 Protractor 测试电子邮件链接?

我正在用 Protractor 编写测试,我想知道如何测试电子邮件链接。我的意思是,测试正常链接很容易,因为您只需检查新 URL。但是,当您单击电子邮件链接时,您可以转到外部电子邮件提供商,那么,有什么解决方案吗?谢谢