问题标签 [e2e-testing]

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 回答
861 浏览

angularjs - afterEach 在继续之前不等待完成

我使用 afterEach 注销,但我的测试尝试在 afterEach 完成注销之前登录。

我试图避免使用睡眠语句(真的减慢了速度)。

如何让测试等待前一个 beforeEach 完成?

代码片段:

logout() 方法(来自 AccountBlock 对象):

0 投票
1 回答
481 浏览

javascript - 查看未完成的请求

有什么方法可以查看 Protractor 正在等待的请求?我正在尝试调试易碎状态测试,但很难判断按钮是否没有触发响应,或者量角器是否懒得等待。

TL;DR:我如何查看 Protractor 控制流上的剩余承诺?

0 投票
1 回答
718 浏览

javascript - 量角器单击链接并将服务器响应与文件进行比较

我正在构建一个用户上传文件的系统。我已经设法使用量角器测试文件上传,但现在我需要验证从服务器请求原始文件时响应与上传文件相同。

用户通过单击链接来下载文件,这会触发对该文件的正常 GET 请求。由于我处理的是纯文本文件,因此下载的文件不会作为附件提供,而是显示在浏览器中。相关的PHP代码是:

我有两个问题:

  1. 如何让量角器等到整个文件下载完成?
  2. 如何将下载的文件与我上传的文件进行比较?

这是我到目前为止得到的:

0 投票
1 回答
676 浏览

angularjs - 如何检测茉莉花/量角器中的期望是否失败

我正在尝试测试一个页面,一旦页面完全加载完成,就会生成服务器端 RSA 密钥对,这在我当前的设置下需要 5 到 20 秒。在浏览器收到密钥对之前,不允许用户做任何事情。

我一直在使用 browser.sleep(),但是如果密钥对是在 5 中生成的,则等待 20 秒很烦人。我尝试使用 Protractor 的 evaluate() 方法作为 while 循环条件,但实现 evaluate() 返回一个 ElementFinder 而不是参数的值。有没有一种方法可以让 Jasmine/Protractor 以与 Jasmine 评估 toBe/toEqual/etc 相同的方式计算布尔值?

简而言之,

计算一个布尔值,相当于 Angular 范围内评估()的参数的值,它与“真”进行比较。有没有办法使用该计算值或自己计算它?

0 投票
1 回答
755 浏览

jquery - 如何在测试角度页面时模拟 jquery ajax 调用

我正在使用protractor为我的角度页面编写 e2e 测试。我使用 $httpBackend 来模拟由 $http 发送的请求但是在一个旧页面中我发现了 jquery ajaxFrom 插件,它通过 jquery ajax 发送调用。我注意到它不能被 $httpBackend 嘲笑

嘲笑这些东西的最佳解决方案是什么?

0 投票
2 回答
3324 浏览

angularjs - 自动启动 Selenium 服务器进行 e2e 测试

我按照这个SO 帖子 设置了我的Gruntfile. 如果我手动下载 Selenium 独立版并在文件中指定其位置,我的测试将成功运行。由于我想自动化这个过程,我尝试了以下配置:

有没有办法避免手动下载?我尝试了上述方法,但是当我运行它时,我收到了警告:

Running "protractor_webdriver:start" (protractor_webdriver) task
Verifying property protractor_webdriver.start exists in config...OK
File: [no files]
Options: path="node_modules/grunt-protractor-runner/node_modules/protractor/bin/", command="webdriver-manager start", keepAlive=false
Starting Selenium server
>> Selenium Standalone is not present. Install with webdriver-manager update --standalone

所以我还需要手动下载 selenium 独立服务器吗?
或者我在这里错过了一些配置?

0 投票
4 回答
82462 浏览

angularjs - Use element by css to check if element exists in Protractor

In a protractor end to end test, I want to check if an element exist using element(by.css(...)), my code:

This test fails, it says:

After that I tried to use a promise:

This results in an error:

Error: No element found using locator By.CssSelector(...)

Yes, I know that no element will be found, but how can I create a working test using element(by.css(...))?

Does anyone know how to achieve this? or is element(by.css()) not the method to use here?

0 投票
1 回答
7581 浏览

angularjs - 量角器等待 isElementPresent 并单击等待的元素失败

我的端到端测试有问题。有时他们通过没有任何问题,但三分之二的时间他们失败了。我使用带有以下代码的量角器:

HTML(注意这个元素是可见的,并且不会被 ng-if 或 ng-show 隐藏):

我收到的错误:

E2E:管理仪表板删除导出创建导出消息:NoSuchElementError:使用定位器找不到元素:By.id(“export”)

0 投票
1 回答
1599 浏览

selenium - 构建 e2e 测试的最佳实践是什么?

对于构建端到端测试的最佳方式,我有点困惑。

我编写的大多数测试测试都依赖于其他测试。

IE

  • 用户需要登录
  • 用户需要创建 Foo
  • 用户现在可以创建 Bar
  • Bar 需要存在,才能明显地对其进行编辑。

您将如何构建您的测试以考虑到这一点?

0 投票
1 回答
589 浏览

protractor - 使用 sauceLabs 在 iPad 上进行量角器测试失败

我无法使用 iPad 进行量角器测试。桌面浏览器测试工作正常。这是我的配置:

这是输出:

我的功能配置有问题吗?