首页 > 代码库 > TestNG的參数化測试、共享线程池配置、參数默认值配置
TestNG的參数化測试、共享线程池配置、參数默认值配置
在使用TestNG进行測试时,常常会使用到一些參数化配置,比方数据库、连接池、线程池数。
使用TestNG的參数@Parameter注解进行自己主动化读取
原创文章,版权全部。同意转载,标明出处:http://blog.csdn.net/wanghantong
使用多线程的方式执行測试代码配置: 在‘<suite>‘标签中配置data-provider-thread-count="20"
Java代码:
/** * * <p> * Title: TestngParameters * </p> * * <p> * 參考配置文件testng-parameters.xml * Description:參数化測试在配置文件里配置可运行參数,使用@Parameters注解来调用, 注解中參数名称和类型必须和配置文件里一致 * * 多线程的測试:在'<suite>'标签中配置data-provider-thread-count="20" * </p> * * <p> * Company: * </p> * * @author : Dragon * * @date : 2014年10月13日 */ public class TestngParameters { // @Parameters注解内相应的參数名称和配置文件里的key必须是同样 @Parameters({ "first-name" }) @Test public void testSingleString(String secondName) { System.err.println("Invoked testString " + secondName); assert "Cedric".equals(secondName); } @Parameters({ "count" }) @Test public void testSingleInteger(Integer count) { System.err.println("Invoked count " + count); assert count.intValue() == 8; } private String m_dataSource; private String m_jdbcDriver; private int poolSize; /** * <p> * description:注:@Parameters定义的參数顺序必须和方法的參数顺序一致,配置文件里的參数仅仅是和注解的參数名称一致 * </p> * * @param ds * @param driver * @param poolSize */ @Parameters({ "datasource", "jdbcDriver", "poolSize" }) @BeforeMethod public void beforeTest(String ds, String driver, int poolSize) { this.m_dataSource = ds; this.m_jdbcDriver = driver; this.poolSize = poolSize; System.err.println(getM_dataSource() + " --- " + getM_jdbcDriver() + " --- " + getPoolSize()); } public String getM_dataSource() { return m_dataSource; } public String getM_jdbcDriver() { return m_jdbcDriver; } public int getPoolSize() { return poolSize; } /** * 假设在配置文件里没有指定參数db,那么參数值将使用默认值'mysql' * * @param db */ @Parameters("db") @Test public void testNonExistentParameter(@Optional("mysql") String db) { System.err.println("db .. " + db); } }
配置文件:testng-parameter.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <!-- data-provider-thread-count="20" 共享线程池配置 --> <suite name="framework_testng" data-provider-thread-count="20"> <parameter name="first-name" value=http://www.mamicode.com/"Cedric" />>原创文章。版权全部,同意转载。标明出处:http://blog.csdn.net/wanghantong
測试结果:
com.dbcp.source --- com.mysql.jdbc.driver --- 10 db .. mysql com.dbcp.source --- com.mysql.jdbc.driver --- 10 Invoked count 8 com.dbcp.source --- com.mysql.jdbc.driver --- 10 Invoked testString Cedric PASSED: testNonExistentParameter("mysql") PASSED: testSingleInteger(8) PASSED: testSingleString("Cedric") =============================================== TestGroups Tests run: 3, Failures: 0, Skips: 0 ===============================================TestNg依赖具体解释(一)------简单的依赖(单一方法依赖)
假设我饶恕,
别觉得我没原则。由于我明确。
得饶人时且饶人。不能把事做绝了。
TestNG的參数化測试、共享线程池配置、參数默认值配置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。