gpt4 book ai didi

java - 混合容器/客户端模式下的 Arquillian 和 Selenium

转载 作者:行者123 更新时间:2023-11-29 09:02:18 25 4
gpt4 key购买 nike

我正在阅读 Arquillian 网站上的教程 http://arquillian.org/guides/functional_testing_using_drone/

在“启用客户端模式”的段落中,他们声明可以在同一个测试中混合使用容器内模式和客户端模式!只需离开 testable 属性。任何使用 @RunAsClient 注释的方法都将从客户端执行,其余方法将在容器内执行,让您两全其美!

这是我的问题。我想写一个用户测试

@Drone
DefaultSelenium browser and

@EJB
MyXXXRepository

我有一个测试将用户添加到 InMemory 数据库,然后我有一个使用该用户登录浏览器的 Selenium 测试...

所以为了让 Selenium 工作,我需要告诉 @Deployment 为 testable=false,这将导致我的 @EJB 失败。所以根据文档我可以跳过 testable=false,如果我告诉 Selenium 测试方法它应该在客户端模式下运行。根据文档,这应该有效。但!!!这将抛出异常

Caused by: java.lang.NoClassDefFoundError: Lcom/thoughtworks/selenium/DefaultSelenium;

所以我需要能够告诉

@Drone
DefaultSelenium browser;

同时处于客户端模式...

有人要吗?

最佳答案

Drone 旨在成为客户端。就我个人而言,我从未尝试部署 WebDriver/Drone 测试并从服务器运行它。这听起来有点疯狂 :) 显然,由于测试本身是混合的,类加载器提示与 Drone 相关的导入。

但是我有一个解决方案可以让您从“灰盒”的角度进行测试。 Arquillian 宇宙中有一个名为 Warp 的相当新的扩展,它可以让你解决你的问题。这是 the guide .

希望对您有所帮助。

关于java - 混合容器/客户端模式下的 Arquillian 和 Selenium,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16649190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com