问题标签 [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.
junit - Arquillian 无法在 Glassfish 嵌入式容器上注入本地或远程 EJB
我使用 Arquillian 测试具有显式本地和远程接口的 EJB。但在测试中,Arquillian 不会在具有本地接口或远程接口类型的字段中“注入”任何内容。
我使用嵌入的 Glassfish 作为服务器进行测试,我使用 junit4。
我用了 :
@EJB
,@Inject
,@EJB(lookup="java:global/costa-services-depa/GreeterImpl!es.costa.GreeterLocal")
,@EJB(lookup="java:global/costa-services-depa/GreeterImpl!es.costa.GreeterRemote")
使用 (2) even for GreeterImpl
, or GreeterLocal
orGreeterRemote
它给了我错误Could not inject members
。
使用 (1,3,4) 我得到一个java.lang.NullPointerException
,这意味着 EJB 没有被注入。
这是我的代码的一部分:
这是glassfish-resources.xml
:
这是test-persistence.xml
:
这是arquillian.xml
:
这是jbossas-ds.xml
:
关于 Glassfish Embedded 和 Arquillian 和 Junit 的依赖关系:
在控制台中,我注意到:
注意:默认情况下部署为测试应用程序还是不作为我制作的“costa-services-depa”?
要知道在 EJB 的调用路径中我放置了 test 而不是 costa-service-depa 但它总是给我同样的问题(NullPointerException
)。
selenium-webdriver - 如何配置 arquillian-drone 在 Firefox 中禁用 JavaScript
我想在禁用 JavaScript的 Firefox 中运行我的测试,所以我创建了一个限定符:
我在文件中添加了扩展名arquillina.xml
:
当然,这个配置不会禁用 JavaScript,你能给我一个例子来说明如何做到这一点吗?
我用:
- 摇篮 2.3
- arquillian-junit-container 1.1.8
- arquillian 无人机 2.0.0
- 硒 2.45.0
configuration - arquillian-drone-graphene 功能测试的良好配置是什么?
我找不到使用 arquillian-drone-graphene 进行 JEE7 Web 应用程序功能测试的良好配置。注意:我可以在 Arquillian 测试套件中运行 CDI 和 EJB 测试;他们工作正常。我的 POM.xml 如下:
我的 arquillian.xml 如下:
有人可以建议我为 wildfly-8.2.0.Final + arquillian + Drone + Graphene 功能测试 POM 提供一个好的配置吗?
注意:使用上述配置,我的功能测试总是以以下错误跟踪结束:
input - 为什么 Graphene WebDriver 测试浏览器实例中不显示 JSF UI 组件?
我想知道为什么我的 JSF 2.2 UI 输入组件没有在我的 Arquillian Drone Graphene WebDriver 的测试浏览器实例中呈现。我的测试页面如下:
我的 Arquillian 无人机测试课程如下:
并且所有这些结果(在运行 maven 测试中)进入以下 WebDriver 测试浏览器
为什么 JSF 没有在这个测试浏览器中呈现?
xpath - 使用 XPATH 定位 WebElement (NoSuchElementException)
我在尝试使用 Arquillian Drone + Graphene 编写自动化 webUI 测试时使用 xpath 定位元素时遇到问题。为了弄清楚我试图在谷歌主页上找到搜索按钮。即使我没有完成。既不是绝对的也不是相对的xpath。
但是,我可以使用 ID 或 xpath 字符串中包含 ID 来定位元素。但仅当 ID 为真实 ID 且未生成时。例如在 google 主页上: google-logo 有一个真实 ID“hplogo”。我可以通过直接使用 ID 或 xpath 表达式中的 ID 来定位此元素。
为什么可以使用 ID“hplogo”定位 google 徽标,但在使用绝对 xpath 时会失败"/html/body/div[1]/div[5]/span/center/div[1]/div/div"
?我真的很困惑。我究竟做错了什么?任何帮助表示赞赏!
编辑:
WebElement e = browser.findElement(By.xpath("/html/body/div[1]/div[5]/span/center/div[1]/div/div"));
导致 NoSuchElementException。
classnotfoundexception - java.util.ServiceConfigurationError:javax.servlet.ServletContainerInitializer:未找到提供程序 org.omnifaces.ApplicationInitializer
我的问题可能看起来像这个问题的重复。(但我不认为那里发布的答案是它的解决方案)即。当 Omnifaces-2.1 依赖项添加到我的应用程序的 POM 中时,Wildfly 8.2.0.Final Embedded Container 上的 Arquillian-Drone 测试失败并出现以下错误/异常跟踪。
此跟踪表明,创建测试存档时未加载 Omnifaces 库,但为什么呢?但是,相同的 POM 配置在 Wildfly 8.2.0.Final Remote 和 Managed 测试容器上完美运行。我坚持要为 Wildfly 8.2.0.Final Embedded 容器提供解决方案。有没有人完成了这个问题的解决方法?
selenium - 在基于 Web 的测试中自动验证 HTTP 身份验证
我正在与 Arquillian Drone 和 Graphene 合作,为我们的 Web 应用程序编写基于 Web 的测试。Web 应用程序使用 HTTP 身份验证。当我开始测试时(我目前使用的是 FirefoxDriver,但我想它与其他所有驱动程序都一样),这个登录弹出窗口似乎输入了凭据:
然后测试暂停并等待,直到我手动输入凭据。如何使测试自动使用声明的凭据并登录网页?
selenium - 将 Arquillian 无人机与 Selenium Grid 结合使用
我使用 Arquillian Done 为我的基于 Web 的应用程序创建了一套功能性 UI 测试,我想在 Selenium Grid 上运行,而不是在本地运行它们。
我遇到的问题是,尽管在arquillian.xml
文件中设置了 Selenium 集线器服务器的主机/端口详细信息,但 UI 测试是在本地而不是在 Selenium 节点之一上执行的。我什至尝试输入不存在的主机的详细信息,但测试仍在本地运行并且没有生成错误消息。看起来 Drone 似乎忽略了arquillian.xml
文件中的配置。
我在arquillian.xml
文件中的配置有问题,还是我做错了什么?不幸的是,似乎很少有关于将 Arquillian Drone 与 Selenium Grid 结合使用的文档。
文件内容arquillian.xml
如下:
我的 Maven pom.xml 文件包含以下依赖项和依赖项管理部分:
model-view-controller - 如何使用 Tomcat 8 + JSF 2.2 进行 JUnit 测试?
我想知道怎么JUnit tests
做Tomcat 8 + JSF 2.2
?我可以测试什么样的东西JUnit
?view
?, ? model
, control
?
为了制作测试用例,我是否必须使用另一个 JUnit 工具?
谢谢。
jakarta-ee - Arquillian Graphene/Drone 测试使用错误的端口访问 WebLogic 托管服务器
我正在使用 Arquillian 为我的一个项目执行集成测试,并发现当应用程序部署到 WebLogic 12c R2 容器时,Arquillian Graphene/Drone 使用了错误的端口号来执行浏览器测试。测试启动浏览器时,使用分配给 WebLogic 管理服务器的端口,而不是分配给 WebLogic 托管服务器的端口,这意味着容器返回 HTTP 404 错误,导致测试用例失败。
我已经研究了各种 Arquillian 组件的代码,并且我相信我已经找到了问题的根本原因。问题似乎出在“wls-common”模块的RESTUtilsdeploy(CommonWebLogicConfiguration config, Logger logger, Archive<?> archive)
类中,该模块包含负责将存档部署到 WebLogic 托管服务器并将其ProtocolMetaData
返回给 Arquillian 的方法。Arquillian Graphene/Drone随后ProtocolMetaData
使用它来访问网页。
在此方法中是
HTTPContext httpContext = new HTTPContext(adminUrl.getHost(), adminUrl.getPort());
用于构建ProtocolMetaData
对象的以下代码行。这意味着正在使用管理端口,而不是分配给托管服务器的端口。
假设我已经正确确定了根本原因,我不相信这个 Arquillian 容器适配器可以与 WebLogic 12c R2 一起使用,这让我觉得我可能试图错误地使用这个适配器。
我的 POM 文件中 WebLogic 容器适配器的 Maven 依赖项如下:
我的 arquillian.xml 文件中的条目如下:
我使用的 WebLogic 版本是 12.2.1
我的问题是我在尝试使用此容器适配器部署到 WebLogic 12c R2 容器时是否遗漏了什么?有其他人成功使用此适配器吗?
由于 WebLogic 容器在单独的主机上运行,我相信我需要使用 REST 适配器而不是远程适配器,因为远程适配器似乎需要 Arquillian 测试与 WebLogic 容器在同一主机上运行。