问题标签 [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.
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,但不知何故,这些更改不会显示在我的浏览器中。更改偏好时有什么需要考虑的吗?
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
:
jakarta-ee - 在 github 操作中针对 Chrome 无头运行 Arquillian 测试
我创建了一个JakartaEE Server Faces 示例,它使用 Arqillian Dron 和 Arquillian Graphene 来测试人脸网页。
测试在我的本地系统上通过,但是当像这样在 Github 操作工作流程中将无头 chrome 设置为 web 驱动程序时(请参阅此处的完整文件,默认情况下它使用 phantomjs
webdriver):
它在这一步被冻结。
mvn clean verify -Parq-payara-embedded,chromeheadless
但是我在本地系统中运行了相同的命令( ),它可以工作。如何chromeheadless
在 Github 上进行操作?