Selenium TestNg参数
我是SELENIUM TESTNG新手,我需要创建一个包含两个参数的方法Selenium TestNg参数,selenium,testng,testng-annotation-test,Selenium,Testng,Testng Annotation Test,我是SELENIUM TESTNG新手,我需要创建一个包含两个参数的方法 一个是从testngxml发送参数,另一个是从调用方法的地方传递参数 我希望有一个可重用的代码来检查我要使用的DB连接,并且相同的方法使用要执行的查询 @参数({“env”}) } 你能告诉我如何做到这一点吗。我使用了下面的方法来调用测试,它对我有效 @测试(优先级=2) { } 它对我来说很好您遇到了什么错误?我尝试在另一个测试中调用它,当我尝试调用函数时,它要求传递其中一个参数来自testng xml文件的参数和我发送
一个是从testngxml发送参数,另一个是从调用方法的地方传递参数 我希望有一个可重用的代码来检查我要使用的DB连接,并且相同的方法使用要执行的查询 @参数({“env”}) }
你能告诉我如何做到这一点吗。我使用了下面的方法来调用测试,它对我有效 @测试(优先级=2) { }
它对我来说很好您遇到了什么错误?我尝试在另一个测试中调用它,当我尝试调用函数时,它要求传递其中一个参数来自testng xml文件的参数和我发送查询的调用方法。您可以显示它是哪个函数吗?公共类测试{public void t1(){DB.DataBase(env,query)}@Test()public void flightNum_DBvalidate()抛出实例化异常、IllegalAccessException、ClassNotFoundException、SQLException{String data1=DB.DataBase(“选择stmt”);
@Test(dataProvider = "query")
public static int DataBase(String env,String query) throws SQLException, InstantiationException,
IllegalAccessException, ClassNotFoundException {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
switch (env) {
case "ENV1":
con = DriverManager.getConnection("ENV1 CON");
break;
case "ENV2":
con = DriverManager.getConnection("ENV2 Con");
break;
default:
break;
}
Statement statement = con.createStatement();
// We use Sybase specific select getdate() query to return date
ResultSet rs = statement.executeQuery(query);
if (rs.next()) {
S1 = rs.getInt(1);
S2 = rs.getString(2);
S3 = rs.getString(3);
System.out.println(S1+" "+S2+" "+S3);
}
rs.close();
statement.close();
con.close();
return S1;
}
@Parameters({"env",query"})
public void DBvalidate(String env, String query)
query = "select * from emp";
String data1 = DB.DataBase(env, query);