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

typescript - 量角器:断言视频正在播放

在我使用 Angular 构建的 Web 应用程序中,我有一个<video>想要使用Protractor测试的元素。

我需要做的是

1)播放暂停视频

2)断言视频是否正在播放

我怎样才能做到这一点?

0 投票
2 回答
754 浏览

selenium-webdriver - 如何检查元素在量角器中是否具有显示块/无样式?

我有两个具有相同 css 的 div,唯一的区别是样式有 display:block 和 none。

我们如何识别量角器中哪个元素具有样式显示块或没有?

我需要单击与 display:block div 一起驻留的 item3 div。

我试过下面的代码。

从上面的代码我可以看到两个 div。

我收到“找不到元素”单击未定义“错误。

我正在尝试使用 Anuglar 7、量角器、jasmine 和 selenium 网络驱动程序进行端到端测试。

0 投票
2 回答
349 浏览

selenium - 如何跳过在量角器中为特定浏览器执行的测试用例文件

我正在使用Protractor使用Jasmin在 Angular 中编写 e2e 测试用例。

我正在使用Saucelab在Chrome、Firefox、Edge 和 IE11上执行我的测试用例。

我遇到了一个问题,即使用mouseMove的悬停功能在 IE11 的情况下不起作用,所以我想跳过IE11的那些测试用例,但必须为其余 3 个浏览器执行 thost 测试。

我的 protractor.config.js 文件如下......

我对其他一些解决方法持开放态度,因为我无法思考如何实现这一点。

0 投票
1 回答
180 浏览

angular - 如何测试跨度的幻影?

我正在测试登录页面,在我输入无效的登录和密码的情况下,我希望收集跨度“身份验证失败”

我通过 xpath '/html/body/div[2]/div/div/snack-bar-container/simple-snack-bar/span 选择 span webElement,当我在导航器控制台上测试它时,我收到里面的文本跨度。但是当我在测试脚本上使用它时,它不起作用。

我希望收到测试的肯定结果,但我收到:“加载资源失败:服务器响应状态为 401(未授权)”。

0 投票
3 回答
6099 浏览

angular - 运行 Angular e2e 测试时如何禁用或绕过 MSAL 身份验证?

我想为我的 Angular 应用程序设置一些端到端测试,这需要使用 MSAL 库对一些下游服务进行身份验证。当我尝试在本地运行我的 e2e 测试时,MSAL 库强制我使用用户名/密码进行身份验证。

这是一个问题,因为我们的 CI/CD e2e 测试不应该有任何人为干预;因此,我正在寻找一种绕过 MSAL 身份验证或设置服务帐户登录的方法。不幸的是,关于 Angular 的 MSAL 的文档并不多(尤其是在 e2e 测试方面),但这似乎是其他人可能遇到的常见问题。

我试图从我们的 app.module.ts 文件中禁用 MsalModule,但是当我尝试运行应用程序时,仍然提示我登录。我还看到一些文章试图以编程方式登录,但这对我们不起作用,因为 MSAL 在技术上不是我们能够接触到的 Angular 组件。

app.module.ts:

预期结果:删除 MSAL 身份验证模块应该允许我们的应用程序无需登录即可运行。

实际结果:应用程序仍在提示登录,或未正确呈现。

0 投票
3 回答
1393 浏览

protractor - 无法使量角器(ng e2e)工作 - “找不到模块”

我正在尝试在运行 e2e 时对我的项目进行测试(通过“ng e2e”或从我的 PhpStorm 测试工具运行量角器代码)。

我在“ng e2e”中遇到的错误是

如果我在 PhpStorm 中运行它

感谢您的任何帮助

0 投票
1 回答
58 浏览

protractor - E2E - 输入文件。加载和选择文件后如何关闭 Finder 窗口?

我使用输入文件从 xml 文件加载数据。

HTML 代码:

端到端代码:

它工作正常,除了在选择文件并加载数据后无法关闭查找器窗口(Mac 用户)。这也导致E2E失败。

任何提示或想法如何解决此问题并在选择文件后强制关闭 Finder 窗口?

0 投票
1 回答
280 浏览

angular - Nx cypress - 添加用于可视化测试的自定义插件

我正在尝试从 cypress https://docs.cypress.io/plugins/#visual-testing但在 nrwl nx monorepo 中设置一个可视化测试插件。

我遵循https://github.com/meinaart/cypress-plugin-snapshots中的指南,但无法使其工作。

实际结果是 toMatchImageSnapshot 不起作用(我有is not a function错误)

有人遇到同样的问题并知道解决方案吗?

0 投票
0 回答
231 浏览

angular - 从带有超时的 mapbox-gl-js 传递带有集成地图的页面时,Angular e2e 测试失败 - 错误

我们的 Angular 应用程序包含不同的页面,其中一个显示与mapbox-gl-js集成的地图。

由于我们集成了 mapbox,我们的量角器 e2e 测试失败。一旦测试到达显示地图的页面,下一次单击同一页面上的任何其他 HTML 元素会导致以下错误:超时 - 在 jasmine.DEFAULT_TIMEOUT_INTERVAL 指定的超时内未调用异步回调。

在测试之前工作得很好。

看来,量角器在页面上找不到任何 HTML 元素进行验证。唯一可能的方法是单击页面上的另一个元素,然后页面会冻结,直到发生超时错误。

例如:

  1. e2e-test到达地图
  2. 我可以点击带有地图的页面上的按钮
  3. 超时错误

对此的任何帮助将不胜感激。

0 投票
5 回答
11943 浏览

angular - 未创建会话:Chrome 版本必须介于 71 和 75 之间 - 在 Concourse 中运行 angular e2e

在大厅执行 e2e 测试时,我收到以下错误,看起来 chromedriver 没有得到更新。虽然类似的问题正在讨论有关 chrome 版本落后的问题,但就我而言,chrome 稳定版正在按预期下载(76.0.3809.100)。但是被量角器的 webmanager 驱动程序拉取的 chromedriver 版本卡在 2.46 中。

我尝试手动将 chromedriver 从 2.46 更新到 76.0.3809.12,但在执行过程中它仍然回落到 2.46。

[07:33:13] E/launcher - 未创建会话:Chrome 版本必须介于 71 和 75 之间(驱动程序信息:chromedriver=2.46.628388(4a34a70827ac54148e092aafb70504c4ea7ae926),平台=Linux 4.15.0-36-generic x86_64)[07 :33:13] E/launcher - SessionNotCreatedError: session not created: Chrome version must be between 71 and 75 (Driver info: chromedriver=2.46.628388 (4a34a70827ac54148e092aafb70504c4ea7ae926),platform=Linux 4.15.0-36-generic x86_64) 在 Object .checkLegacyResponse (/tmp/build/357f536d/git-platformUI/ui/node_modules/selenium-webdriver/lib/error.js:546:15) 在 parseHttpResponse (/tmp/build/357f536d/git-platformUI/ui/node_modules/ selenium-webdriver/lib/http.js:509:13) 在 doSend.then.response (/tmp/build/357f536d/git-platformUI/ui/node_modules/selenium-webdriver/lib/http.js:441:30)在过程中。_tickCallback (internal/process/next_tick.js:188:7) 来自:任务:WebDriver.createSession() at Function.createSession (/tmp/build/357f536d/git-platformUI/ui/node_modules/selenium-webdriver/lib/webdriver .js:769:24) 在 Function.createSession (/tmp/build/357f536d/git-platformUI/ui/node_modules/selenium-webdriver/chrome.js:761:15) 在 Direct.getNewDriver (/tmp/build/357f536d /git-platformUI/ui/node_modules/protractor/built/driverProviders/direct.js:77:33) 在 Runner.createBrowser (/tmp/build/357f536d/git-platformUI/ui/node_modules/protractor/built/runner.js :195:43) 在 q.then.then (/tmp/build/357f536d/git-platformUI/ui/node_modules/protractor/built/runner.js:339:29) 在 _fulfilled (/tmp/build/357f536d/git -platformUI/ui/node_modules/q/q.js:834:54) 在 self.promiseDispatch。在 Promise.promise.promiseDispatch (/tmp/build/357f536d/git-platformUI/ui/node_modules/q /q.js:796:13) 在 /tmp/build/357f536d/git-platformUI/ui/node_modules/q/q.js:556:49 在 runSingle (/tmp/build/357f536d/git-platformUI/ui/ node_modules/q/q.js:137:13) [07:33:13] E/launcher - 进程退出,错误代码 199