gpt4 book ai didi

java - 从属性文件设置 SuiteClassess 并在命令行中 indtentify 属性文件

转载 作者:行者123 更新时间:2023-12-01 14:12:59 25 4
gpt4 key购买 nike

您好,我想知道是否可以从属性文件中设置要使用的套件类,如下所示(test.properties):

test = CorrectTestBackLink.class, CorrectTestSaveToDatabase.class, ErrorTestEnterLetterCalc.class, ErrorTestLeaveBlankCalc.class

或者像这样

test1 = CorrectTestBackLink.class

test2 = CorrectTestSaveToDatabase.class

test3 = ErrorTestEnterLetterCalc.class

test4 = ErrorTestLeaveBlankCalc.class

然后执行类似的操作,我知道套件类需要类,所以我不确定如何获取列表。

@Suite.SuiteClasses({selectproperties.propertyarray});
// the actual class is empty
public class RunSelected {}

SelectedProperties.class 具有类似的内容,以便将其作为数组获取。

public String propertyArray;
public String propertyFileName;
public class SelectedProperties{
System.in(propertyFileName);
prop.load(new FileInputStream(propertyFileName));
propertyArray = prop.getProperty("test");
}

然后使用此命令行运行它:

java -cp bin;libs/junit-4.8.1.jar;libs/hamcrest-core-1.3.jar;libs/selenium-java-2.34.0.jar;libs/guava-14.0.jar;libs/json-20080701.jar;libs/commons-exec-1.1.jar;libs/httpcore-4.2.1.jar;libs/httpclient-4.2.1.jar;libs/commons-logging-1.1.1.jar;libs/mysql-connector-java-5.1.26-bin.jar;libs/cpsuite-1.1.0.jar org.junit.runner.JUnitCore test.RunSelected

但我希望能够在命令中设置propertyFileName,但不确定如何设置,而是以“test.properties”之类的内容结束。

我将不胜感激所提供的任何帮助。我计划通过 Jenkins 安排和执行这些测试。我知道代码是完全错误的,但这只是为了展示我的想法。

最佳答案

我没有使用过 JUnit,所以无法提供 SuiteClasses 的代码。关于从命令行传递属性文件名 - 您可以将其传递给 main() 方法并在 SelectedProperties 中添加逻辑以读取属性文件并拆分“test”属性的逗号分隔值。然后将其作为数组传递给 SuiteClasses。

我实际上使用 TestNG 实现了类似的想法。但我不是从属性文件传递类,而是从 Excel 工作表传递类。该表具有类名称和执行标志列。根据执行标志,动态创建并执行 TestNG xml。

关于java - 从属性文件设置 SuiteClassess 并在命令行中 indtentify 属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18352902/

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