问题标签 [arquillian-drone]

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

java - 在 Arquillian Drone 的扩展中使用 BrowserMob 代理时,HAR 不完整

我为 Arquillian-Drone 编写了一个扩展,它应该记录测试的 HTTP 请求并为每个方法创建一个 HAR 文件。创建了 HAR 文件(大多数情况下......目前似乎有点不稳定),但它们不包含 HTTP 请求的 URL

我在stackoverflow上找到了另一个问题,描述了相同的结果,但在我的情况下没有解决方案。

(票证:BrowserMob Proxy + Selenium:未收到任何 HTTP 响应

实例化器

观察员

剪掉我的 HAR:

{"log":{"version":"1.2","creator":{"name":"BrowserMob 代理","version":"2.1.5","comment":""},

"pages": [{"id":" arquilliantest1561033479096minimaltestAnlegenKrankheit ", "startedDateTime":"2019-06-20T12:24:39.316Z", "title":" arquilliantest1561033479096minimaltestAnlegenKrankheit ", "pageTimings":{"comment:" },“评论”:””}],

“条目”:[{“pageref”:“arquilliantest1561033479096minimaltestAnlegenKrankheit”,“startedDateTime”:“2019-06-20T12:24:40.032Z”,

"request": {"method":"POST", "url":" https://shavar.services.mozilla.com/downloads?client=navclient-auto- ffox&appver=67.0&pver=2.2", "httpVersion": “HTTP/1.1”、“cookies”:[]、“标头”:[]、

所以看起来这些网址以某种方式被 HAR 名称替换(就像在另一张票中一样)

我已经使用 BrowserMob,就像在另一张票中建议的那样:

编译组:'net.lightbody.bmp',名称:'browsermob-core',版本:'2.1.5'

任何想法将不胜感激!

编辑:我使用以下版本

  • Browsermob 核心:2.1.5
  • Arquillian : 1.4.1-决赛
  • 无人机:2.5.1
  • 硒:3.14.0
  • 火狐 67.0
  • 壁虎驱动程序:0.24.0

编辑

我想我知道问题的根源:Firefox 的跟踪保护。我尝试实现一个 Firefox 配置文件,该配置文件将跟踪保护的首选项设置为 false,但不知何故,这些更改不会显示在我的浏览器中。更改偏好时有什么需要考虑的吗?

0 投票
1 回答
396 浏览

java - 重新查找 WebElement 在单击事件中删除了哪个类

我有一个带有 class 的元素a。所以,在 Selenium 代码中,我得到了这个:

之后我点击它element.click();。click 事件a从元素中删除类——这正是我要执行的测试用例。

所以,现在我想问元素是否已经拥有这个类:

但这不起作用,因为WebElement尝试通过给定的选择器再次找到元素,这对我来说并不清楚。我认为一旦找到 WebElement,就会在整个范围内进行内部复制。但显然,每次在代码中调用它时,它都会调用链接选择器。

那么,我怎样才能更持久地检索元素呢?如何避免WebElement在每次调用时刷新以跟踪已选择元素的更改?

当然,我可以使用 DOM、父母或列表 ID 来解决问题。但是我真的很想避免这种情况,因为我不想在我的测试代码中获得太多关于 DOM 结构的信息。这就是我添加类和 ID 的原因。


编辑:添加日志输出:

如您所见,接收到的元素是517f4e9c-5d09-4fe0-8c34-4d8c153a9c4a.

现在检查:

如您所见,现在没有返回任何元素。


编辑:在评估@RahulL 的解决方案之后(这似乎有效;在单击执行时没有记录进一步的WebDriver:FindElements调用 - 与我的日志相反)我相信问题出在包装我的 Selenium 的Aquillian Graphene实现中。该findElement()调用不直接调用 Selenium 类。这就是我添加这些标签的原因。它可能与发现问题有关。

所以,类定义:

arquillian.xml

0 投票
0 回答
65 浏览

jakarta-ee - 在 github 操作中针对 Chrome 无头运行 Arquillian 测试

我创建了一个JakartaEE Server Faces 示例,它使用 Arqillian Dron 和 Arquillian Graphene 来测试人脸网页。

测试在我的本地系统上通过,但是当像这样在 Github 操作工作流程中将无头 chrome 设置为 web 驱动程序时(请参阅此处的完整文件,默认情况下它使用 phantomjswebdriver):

它在这一步被冻结。

mvn clean verify -Parq-payara-embedded,chromeheadless但是我在本地系统中运行了相同的命令( ),它可以工作。如何chromeheadless在 Github 上进行操作?