问题标签 [angular-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 投票
1 回答
334 浏览

email - E2E - 如何测试注册过程是否正在发送确认电子邮件?

我确实有一个通过 , 和一个具有布尔值的复选框的注册email过程password/confirmPass表单tc

当用户提交表单时,会打开一个带有文本的开放式对话,另一方面会向用户发送一封电子邮件以确认他的注册。一切正常。

为了对此过程运行 E2E 量角器测试,我编写了以下代码:

测试也运行没有错误。但我的问题是,我希望在测试后我会在收件箱中收到确认电子邮件,另一方面这证明我测试是 100% 成功的,但我只是没有收到确认电子邮件,这意味着测试并没有真正按预期运行。

  1. 是否可以运行测试以发送确认电子邮件?
  2. 测试代码是否错误并且我确实有逻辑错误?
  3. 它与单击后应该打开的打开的对话窗口有关submitButton并且我没有测试它(在我的代码中)吗?

我仍然要提到的一件事是,如果缺少用户数据并且未选中 tc(复选框),则该按钮将被禁用。

0 投票
0 回答
288 浏览

angular - 调用我的 API 时,使用 Protractor 运行 e2e 测试失败

我正在尝试在我的 Angular 4 应用程序上运行 e2e 测试,该应用程序访问了我的 ExpressJS 后端 API。默认情况下,在端口 4200 上运行ng serve我的应用程序。然后单独运行nodemon server.js在端口 3000 上启动我的 ExpressJS 服务器。我可以使用。有了app.use(cors({ origin: 'http://localhost:4200', credentials: true }));我可以从我的 Angular 应用程序中访问我的 API 就好了。但是,当我尝试运行ng e2e应用程序时,它不再在端口 4200 上运行,而是在 49155 端口上运行。因此,我的 API 不仅会阻止跨源请求,而且测试会到达终点http://localhost:49155/api/endpoint,而不是被代理到http://localhost/3000/api/endpoint.

我知道我可以运行一个ng serve --proxy-config proxy.conf.json看起来像

但是有什么办法可以通过我的ng e2e测试来做到这一点?有没有办法允许多个 cors 使用cors()

0 投票
2 回答
3110 浏览

angular - 无法在代理后面使用量角器运行 Angular > 2 e2e

将不胜感激任何帮助!

  • 我在windows上运行
  • 我在全球安装了量角器 5.3.0 版
  • 在更新 webdriver 之前,我运行了:webdriver-manager clean
  • 并更新版本如下:

webdriver-manager 更新 --ie32 --proxy http://my-proxy:8080 --ignore_ssl

  • 节点版本 9.2.1
  • npm 版本 5.7.1
  • 在启动 e2e 之前启动开发服务器 ..

我的 protractor.conf 文件如下:

尝试首先通过以下方式运行测试:ng e2e 其次通过:

并且仍然收到此代理错误:

0 投票
1 回答
353 浏览

node.js - 如何测试 Angular JS UI 应用,使用 Mocha 框架进行端到端测试

我需要对使用 AngularJs 4 开发的 Node.js 前端应用程序执行端到端测试。目前我们正在使用 Mocha 框架进行 Nodejs Rest API 服务。我们可以使用 Mocha 框架来测试使用 AngularJs 4 开发的 Node.js 前端应用程序吗?

0 投票
1 回答
1513 浏览

angular - Angular CLI ng e2e:错误:连接 ETIMEDOUT

我无法$ ng e2e在使用 CLI 创建的普通新香草项目上运行:

  • 听起来像是一个端口问题:我将端口从 4200 更改为protractor.conf.js(baseUrl) 中的其他端口,只是为了确保这个端口不忙。结果相同。
  • 我不确定这是否与我在代理背后的事实有关?错误听起来不像……proxy并且https-proxy在 npm 配置中发送,npm 本身能够通信。

一些版本提示:

量角器配置(由 CLI 创建):

有什么想法吗?

0 投票
2 回答
1011 浏览

radio-button - 使用量角器选择 mat-option 失败

以下选择垫选项的方法失败:

使用定位器找不到元素:by.cssContainingText("mat-option", "København K")

element(by.id('area')).element(by.cssContainingText('mat-option', 'København K')).click();

这是HTML:

我不明白为什么它会失败。

0 投票
5 回答
1334 浏览

angular - 量角器无法在已部署的应用程序上检测到 Angular 5

我正在尝试使用 Protractor 和 Cucumber 为我的 Web 应用程序创建一个包含 E2E 测试的存储库。我从这个存储库开始:https ://github.com/spektrakel-blog/angular-protractor-cucumber

当我强制量角器将应用程序视为常规网页时,测试运行良好。测试运行程序正在与应用程序交互并期待一些结果。问题是,我想让 Protractor 检测 Angular,以便在检查“然后”断言之前等待区域稳定。

这是我的量角器.conf.js:

简而言之-测试使用以下配置运行,但是当我删除时browser.ignoreSynchronization = true;,我收到以下错误:Timed out waiting for asynchronous Angular tasks to finish after 30 seconds. This may be because the current page is not an Angular application..

到目前为止我尝试过的事情(没有改进):

  • 添加ng-app<body>标签
  • 检查window.getAllAngularRootElements()-app-root正确返回
  • 检查window.getAllAngularTestabilities()- 返回一个Testability对象
  • 在 Chrome 上启动测试(有或没有沙箱)
  • 在 Firefox 上启动测试
  • 尝试部署我们的应用程序的 CI 服务器和本地环境ng serve

我正在使用最新版本的 Protractor、Cucumber、Chai 和 TypeScript。任何帮助将非常感激。非常感谢您!

0 投票
1 回答
558 浏览

angular - 量角器 - 使用 `browser.setLocation('/')` 时“未定义角度”

是不是因为browser.setLocationangular v6 不支持(比如by.modelby.binding)?

我试过await browser.waitForAngular()了,但它似乎并没有改变任何东西。

我确实希望保持角度/量角器(例如browser.ignoreSynchronization = truebrowser.waitForAngularEnabled(true))之间的同步

0 投票
2 回答
1286 浏览

angular - E2E Angular 6 websocket 模拟

我们最近开始使用 Cypress 通过 Angular 6 UI 进行 E2E 测试。事实证明它很棒,而且在我们看来,它比 Protractor 好用得多。

我们的计划是模拟与服务器的所有交互。对于使用 cy.route() 和固定装置的所有 REST/XHR 调用来说,这很容易。

但是,我们也使用网络套接字。事实证明,嘲笑与它的交互并不是那么容易。

从我目前所做的研究来看,我能找到的唯一建议是使用 cy.stub()。原则上这听起来不错,但我找不到任何详细说明,理想情况下有一些使用它来模拟网络套接字的例子。

我认为可能有效的另一种方法是使用 Angular 的 TestBed 服务。注入我们自己的服务来处理我们与 Web 套接字的交互。

但是,其中任何一条都是正确的路线吗?任何人都可以提供任何应该完成的最佳方式的例子吗?

任何让我朝着正确的方向前进以帮助我开始的指示将不胜感激。谢谢。

0 投票
0 回答
525 浏览

angular - 如何在没有 CLI 的情况下设置 e2e 测试 Angular?

我目前正在尝试为一个非常大的 Angular 应用程序进行 e2e 测试,但我在设置它们时遇到了麻烦。由于各种情况,我无法尝试将 Angular CLI 集成到项目中,所以我必须解决它。

我的项目结构

tsconfig.json

量角器.conf.ts

tsconfig.e2e.json

我可以使用以下方法启动我的服务器:

当我尝试使用以下命令开始 e2e 测试时:

我收到以下错误:

我认为抛出该错误是因为 .ts 文件未转换为 .js ......所以我猜我的配置或我开始测试的方式是错误的。