【发布时间】:2016-09-20 17:56:38
【问题描述】:
我正在尝试对用 Java 编写的程序进行自动化测试。我遇到的问题是需要有一种方法可以在不更改代码的情况下添加/删除更多测试用例。
例如,您有两个字符串并想检查它们是否在字符串列表中。您将字符串传递过来并检查。在 Java 代码中,我可以创建一个 if 语句并检查两个字符串是否与给定列表中的某个字符串匹配。但是,如果我想添加更多字符串以从该列表中搜索,我将不得不返回程序并添加更多代码。
可能是一个不好的例子,但我希望你明白我的意思。当然,可以有更多的测试用例可能完全不同。如果我想将该程序提供给其他人,他们可能也想添加自己的程序。
我正在考虑创建某种带有参数和方法名称的模板,以便在代码之外调用它。基本上是一个带有规则的文件。然后,Java 代码将解释如何处理给定的规则。我正在阅读这篇文章:https://blog.codecentric.de/en/2016/01/robot-framework-tutorial-2016-keywords/,但并没有真正理解它。
我的目标是编写一些可以解释模板文件并运行其中定义的测试用例的通用 Java 代码。任何帮助将不胜感激,谢谢!
例子:
模板文件
Details: Checks if String in database
Method: testID
Arguments: Hello
Foobar.java
public class Foobar {
public void testID(String str1)
{
// Expected output will be taken from a database
Assert.assertEquals(str1, expected_output);
}
}
字符串str1 可以从参数下的模板文件中获取。
问题在于,如果我现在想测试str1 是否有一定长度,我将不得不返回并添加更多代码。如果该程序只适合我和我的团队,那就太好了。但是,当您将它提供给不知道如何编码但他们想运行自己的测试的另一家公司或个人时,它就不会那么实用了。这就是为什么我希望,一个不在团队中的人可以添加他们的测试用例,因为他们遵循模板的格式,Java 程序会知道如何处理它。
对不起,我不知道如何解释得那么好。希望不要混淆。
【问题讨论】:
-
如果您向我们展示项目的结构,那么我们可以提供帮助。
-
在 OP 中添加了更多内容。
标签: java automation robotframework