TestNG参数化传入方法



我想知道当我使用testng.xml时,是否可以将参数放入方法中。我知道将参数放入测试类中。我使用页面对象模型的方法。这是我的代码

<suite name="dev-parametrization" verbose="1" >
<test name="Paragraphs-Tests">
<classes>
<class name="com.java.tests.ParagraphsApiControllerTests">
<methods>
<include name="createParagraph">
<parameter name="paragraphsURL" value="http://192.168.0.139:8880/paragraphs"/>
</include>
</methods>
</class>
</classes>
</test>

低于测试等级

public class ParagraphsApiControllerTests {
Paragraphs paragraphs = new Paragraphs();
@Parameters({"paragraphsURL"})
@Test(priority = 1)
public void createParagraph() {
paragraphs.createParagraph();
}

我的方法——这里我想使用xml中的参数。文件有可能吗?我该怎么做?

public class Paragraphs {

String paragraphsURL = "http://192.168.0.139:8880/paragraphs";
String apiParagraphsURL = "http://192.168.0.139/api/paragraphs";
public void createParagraph() {
RestAssured.baseURI = paragraphsURL;

不要在测试类和Paragraph类中使用相同的方法名。我将测试类方法名称从createParagraph更改为testCreateParagraph

测试.xml

<suite name="dev-parametrization" verbose="1" >
<test name="Paragraphs-Tests">
<classes>
<class name="com.java.tests.ParagraphsApiControllerTests">
<methods>
<include name="testCreateParagraph">
<parameter name="paragraphsURL" value="http://192.168.0.139:8880/paragraphs"/>
</include>
</methods>
</class>
</classes>
</test>

测试等级

公共类ParagraphsApiControllerTests{

Paragraphs paragraphs = new Paragraphs();
@Parameters({"paragraphsURL"})
@Test(priority = 1)
public void testCreateParagraph(String paragraphsURL) {
paragraphs.createParagraph(paragraphsURL);
}

段落类

public class Paragraphs {
public void createParagraph(String paragraphsURL) {
RestAssured.baseURI = paragraphsURL;
}
}

有关的更多信息,请参阅本教程

最新更新