问题标签 [selenium-jupiter]

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

java - 如何通过 gradle systemProperties JUnit5 测试?

我正在使用gradle 3.5Unit 5 (jupiter)

我希望将系统属性传递给我的测试,以便配置测试

我正在使用此命令运行测试gradle test -Denv=envFile1

这是我的毕业文件:

这是我的测试:

这是我得到的输出:

*我已经更新了问题

0 投票
1 回答
68 浏览

selenium-jupiter - 2.1.0 需要最低 docker 版本吗?

我正在尝试评估 Selenium-Jupiter,但会遇到不同的问题,行为取决于我使用的版本。

我正在使用 gradle 4.6 和

使用时io.github.bonigarcia:selenium-jupiter:2.1.0

使用时io.github.bonigarcia:selenium-jupiter:2.0.0

我假设 Selenium-Jupiter 和 Selenoid 之间的交互需要一些配置,就像DOCKER_API_VERSION这里描述的那样http://aerokube.com/selenoid/latest/#_recommended_docker_settings但我不知道从 Selenium-Jupiter 到哪里做这个配置事情的一面。

我意识到这是一个相当模糊的呼救声,但希望有人至少能给我一些关于如何解决这个问题的提示。我真的很喜欢使用 Docker 进行这种虚拟化的想法,我认为我们的 GUI 测试确实可以从这样的解决方案中受益。

0 投票
3 回答
496 浏览

selenium-webdriver - 如何根据环境使用不同的 webdrivers

我使用硒木星。我从这样的方法参数中得到一个 webdriver:

现在我想在网格上运行测试,所以我需要使用基于环境的 webdriver。例如,在我的 PC 上开发测试时,我想使用(本地)ChromeDriver,但是当使用 Jenkins 在网格上运行测试时,我想使用 RemoteDriver。所以我需要这样的东西:(当 env = 0 时给我本地 Chrome 或在 env = 1 时给我远程 Chrome 但它不起作用)

0 投票
11 回答
91525 浏览

java - Junit 5 - 没有为参数注册 ParameterResolver

我可以在没有任何特殊测试框架的情况下编写和执行 Selenium 脚本,但我想使用 Junit 5(因为我们依赖于其他工具)并且org.junit.jupiter.api.extension.ParameterResolutionException在使用 Junit 4 时我从未见过这样的错误。

目前它是 Junit 5,我用谷歌搜索它以获得某种想法,但无法解决问题。

JUnit 5使用,Eclipse 4.8和测试脚本Selenium

堆栈跟踪:

org.junit.jupiter.api.extension.ParameterResolutionException:没有为可执行文件 [public login.loginTest(org.openqa.selenium.WebDriver)] 中的参数 [org.openqa.selenium.WebDriver arg0] 注册的 ParameterResolver。在 org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:191)

0 投票
1 回答
55 浏览

java - selenium-jupiter - 连接到 seleniumGrid 的 testTemplates

是否可以将注释@TestTemplate与注释结合起来,@DriverUrl以便我可以在我的 Selenium Grid 上运行测试?

谢谢克里斯蒂安

0 投票
1 回答
322 浏览

java - 将@TestTemplate 与@ParameterizedTest 结合使用?

我们如何使用Selenium-Jupiter's @TestTemplate(让它在不同的浏览器上运行:https ://bonigarcia.github.io/selenium-jupiter/#template-tests )将它与@ParameterizedTest(用于数据驱动测试,例如尝试不同的凭据,定义在来源,在登录页面上)?

我一直无法弄清楚。而不是能够以Selenium-Jupiter's @TestTemplate编程方式配置浏览器场景(seleniumExtension.addBrowsersWebdriver作为方法的参数类型templateTest),其中该方法将被执行两次(一次使用 Chrome,第二次使用 Firefox),我只能使用两种@ParameterizedTest方法:

0 投票
1 回答
319 浏览

java - selenium-jupiter - 如何设置 Firefox 和 Chrome 选项

我需要使用 Firefox 和 Chrome 运行相同的 selenium 测试,但我还需要为它们设置不同的选项。那可能吗?

显然可以在两种浏览器上运行相同的测试,就像为其中一个浏览器设置选项一样。但是当我尝试为两者设置选项时,它似乎不起作用。

建议?

0 投票
0 回答
433 浏览

java - 如何以编程方式在 Selenium Jupiter 的基类中配置 WebDriver?

我想将基于 JUnit 4 的现有 Selenium-Tests 迁移到 JUnit 5。为此,我想使用Selenium-Jupiter

测试必须满足的一项要求是,能够在运行时切换 WebDriver 实现- 基于执行环境 -为所有测试使用一个公共基类

  • 在开发人员机器 (Windows 10) 上执行时,应使用 FirefoxDriver,启动本地安装的 Firefox。
  • 在 CI 环境 (CentOS 7) 中,应使用 RemoteWebDriver,将测试执行委托给 Selenium Grid

我已经尝试根据文档配置“通用 WebDriver” ,但我不知道如何为 RemoteWebDriver 实现这一点(“示例 2”应该让事情更清楚)。

关于内容,这个 stackoverflow-posting 非常相关,但没有产生令人满意的答案。

更新:我自己解决了这个问题。请参阅“示例 3”...


Boni,也许您想稍微更新一下 Selenium Jupiter 文档。至少我遇到了一些问题,弄清楚了......哦,非常感谢您使用 Selenium Jupiter(以及底层的 WebDriverManger)所做的出色工作。


示例 1:有效,但不优雅

我看到的问题是:

  1. 相当冗长(尽管这可能通过自定义注释来处理)
  2. 每个测试类需要两个@Test-methods 用于一个逻辑/语义测试用例
  3. 公开了具体的 WebDriver 实现,因此允许测试作者依赖 WebDriver 实现细节(例如,Firefox 配置文件)

示例 2:我想做,但还不行

基类,进行 WebDriver 配置:

在测试中我只需要做某事。像这样。

注意,参数的类型怎么只有WebDriver!

示例 3:我当前的解决方案

现在可以按照“示例 2”中的描述来实施具体测试。

0 投票
1 回答
437 浏览

java - 如何运行 Grid 并运行

是否可以通过 Java/Selenium 代码在 Selenium Grid 中运行集线器和节点?在@Boni Garcia 提供的示例中,有GridLauncherV3但这不适用于 Selenium-jupiter 版本 3.2.1。你能帮忙吗?

0 投票
1 回答
154 浏览

selenium-jupiter - 如何有条件地设置浏览器参数(特定于 Selenium-Jupiter)

我已经尝试了很多方法来在 chrome-in-docker 浏览器中设置代理。

我终于找到了可行的方法,但这不是最好的解决方案。

这在我在 Jenkins 中运行测试(需要代理)时有效,但在本地运行时会失败。

有没有更好的方法来设置代理服务器,或者有条件地设置它?

我的代码使用 maven 在 Java 中运行。我可以向 Jenkins 添加系统属性(-Dis.CI=true 或其他),但我只能弄清楚如何将这些参数设置为方法参数。这绝对不适用于有条件地设置它们。

非常感谢任何其他设置 --proxy-server 的方法。我还希望有一种全局设置的方法。必须在每个测试类中设置它将是一场噩梦。

我试过使用 WebDriverManager.globalConfig().setProxy("...") 并没有效果。我假设配置中的代理与代理服务器不同。