【问题标题】:Selenide + JUnit5 + BrowserStack: Parametrized test miltiplied with browsersSelenide + JUnit5 + BrowserStack:参数化测试乘以浏览器
【发布时间】:2022-06-29 16:55:54
【问题描述】:

我的设置是:

  • 硒化物
  • Junit5
  • 分级

我使用参数化测试对不同的用户运行相同的测试。

最重要的是,我想添加 BrowserStack。

例如。正在测试

@ParameterizedTest(name = "{index}; user: {0}")
@ArgumentsSource(...)
public void exampleTest(TestUser user) {

我想结束,例如。

  • (0) 示例测试;用户 1;火狐
  • (1) 示例测试;用户 2;火狐
  • (2) 示例测试;用户 1;铬
  • (3) 示例测试;用户 2;铬

问题是 junit5 的 BrowserStack 示例 (a) 是为纯硒编写的,而不是硒化物,并且 (b) 似乎不适用于 ParameterizedTest。

有没有人尝试过这样的设置,并且可以指出正确的方向?如果我可以使用开箱即用的解决方案,我不想重新发明轮子;)

我也愿意使用 SauceLabs 而不是 Browserstack。

【问题讨论】:

    标签: gradle junit5 browserstack selenide


    【解决方案1】:

    我认为,一个好的方法是隔离您的测试域

    在测试运行时切换浏览器并不是一个好的解决方案,因为 Selenide 具有静态配置

    您必须拆分测试配置和测试运行

    1 部分 - 您的配置域:外部浏览器配置(您可以通过 JUnit5 扩展实现此方法)示例 - 根据一些外部环境变量配置您的测试库(Selenide 等)的 JUnit5 扩展

    2 部分 - 您的测试域 - 通过您的测试数据(用户、条件等)进行的参数化测试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-23
      • 2021-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-21
      • 2019-04-08
      • 2023-02-03
      相关资源
      最近更新 更多