gpt4 book ai didi

java - 我如何在 java 中为我的 Fitnesse Fixture 传递程序参数?

转载 作者:行者123 更新时间:2023-11-29 06:04:26 26 4
gpt4 key购买 nike

我有一个固定装置需要将一些系统参数传递给它。我该怎么做。即java MyClass -Darg1=x -Darg2=y

我如何将 -Darg 值传递到我的测试中。

@丹。我提到命令行参数是我的坏处。我真正打算做的是像您指出的那样传递系统属性。我有一些设置,如区域(NA/EMEA 等)、环境(SIT/UAT)等,基于各种 url 等不同。我必须在 Fitnesse 中编写测试,在那里我从我的决策表中传递测试屏幕的值。但我想能够决定这些测试应该在某某区域/环境组合上运行。目前我有一个触发 Selenium 播放的 junit 测试,我可以通过传递 -Dregion 等来控制它从 IDE/Maven 的调用。对于 Fitnesse,我想知道如何传递这些系统参数,以便我的 Fixture 在被调用时可以访问这些属性并相应地触发 Selenium 的播放。

最佳答案

要将变量传递给 FitNesse,您可以设置一个环境变量。例如,从命令行启动 FitNesse,如下所示:

set SUT=www.google.de
java -jar fitnesse.jar -p 8080

您可以像使用其他变量一样在 FitNesse 中使用环境变量 - 在上面的示例中,FitNesse 测试表中的“${SUT}”将替换为 www.google.de。

然后要将 SUT 的值放入测试夹具中,您可以在测试夹具中添加一个静态类,如下所示:

public class Environment {
public static string SUT;
}

然后在 FitNesse 设置代码的某处设置环境 SUT 变量:

!|script|Environment|
|SUT|${SUT}|

然后 Environment.SUT 在整个 Fixture 代码中可用。


更新:

另请参阅 Dan 关于如何通过使用 -D 参数启动 fitNesse 来使用 Java 系统变量的评论。

关于java - 我如何在 java 中为我的 Fitnesse Fixture 传递程序参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9021071/

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