Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 将参数传递给Junit 5 TestRunner扩展_Selenium_Webdriver_Junit5_Browser Automation - Fatal编程技术网

Selenium 将参数传递给Junit 5 TestRunner扩展

Selenium 将参数传递给Junit 5 TestRunner扩展,selenium,webdriver,junit5,browser-automation,Selenium,Webdriver,Junit5,Browser Automation,试图弄清楚如何将一些参数传递给Junit5中TestWatcher的自定义实现。使用TestWatcher将所有测试的基类设置为@ExtendWith。为了使它尽可能简单,我似乎找不到一个简单的答案来说明如何做到这一点我也遇到了一个类似的问题,基本上我需要注释@DisplayNameGenerator()的全局参数(分隔符字符串数据) 因为缺少代码示例来说明如何解决这个问题,我将解释如何获取用户提供的参数,看看它是否适合您 我创建了一个接口,返回字符串值,这是我想要从用户那里获得的自定义参数 @

试图弄清楚如何将一些参数传递给Junit5中TestWatcher的自定义实现。使用TestWatcher将所有测试的基类设置为@ExtendWith。为了使它尽可能简单,我似乎找不到一个简单的答案来说明如何做到这一点

我也遇到了一个类似的问题,基本上我需要注释@DisplayNameGenerator()的全局参数(分隔符字符串数据)

因为缺少代码示例来说明如何解决这个问题,我将解释如何获取用户提供的参数,看看它是否适合您

我创建了一个接口,返回字符串值,这是我想要从用户那里获得的自定义参数

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@API(status = EXPERIMENTAL, since = "5.4")
public @interface IndicativeSentencesSeparator {

    String value();
}
这样我就可以用这个新接口创建我的测试,传递参数,但也可以选择使用它,就像这样

@DisplayName("My Test")
@DisplayNameGeneration(DisplayNameGenerator.IndicativeSentencesGenerator.class)
@IndicativeSentencesSeparator(" --> ")
class MyTestClass { //Some test methods and stuff }
为了在实现中获得这个新类的值,我在试图提取值的类中使用了java方法
class.getAnnotation(classType)
,通过参数发送类以查找我创建的接口

IndicativeSentencesSeparator separator =
myTestClass.getAnnotation(IndicativeSentencesSeparator.class);
最后,要获得getter
值所使用的参数,请

String parameter = separator.value();

你最好向我们展示你迄今为止所做的努力,因为人们更倾向于帮助那些试图帮助自己的人。用你迄今为止尝试过的任何代码来展开你的问题。这更像是一个“是否可能”的问题,而不是我自己的代码。我正在执行一个主要的重构,在尝试向类传递一些变量时遇到了问题,但没有找到太多关于这方面的文档。我已经研究了参数化注释,但是这些注释似乎更倾向于使用不同的变量运行相同的测试。只是希望从beforeach和beforeach方法传递到扩展。我还没有找到一种方法来传递用ExtendWith Annotation注释的类中的变量。我一直在尝试利用ExtensionContext存储来传递参数,但我不确定这是否是正确的轨迹。需要提交特定值表明扩展可能不是正确的工具。使用普通的测试助手对象可以满足您的需要,而且更简单。