帮忙看下我的一个数据驱动测试的例子(selenium)
String excelFile = "TestingData.xls";String sheet = "Stop Payment";
DataReader dr;
Test Case Account From Cheque No To Cheque No Low Amount High Amount Payee Reason Expected Message
test_create_stoppayment (USD) 81400321 - Checking 1 9999 1 99999999 lance no comment Stop sent.
@Test
public void test_create_stoppayment() throws Exception {
dr = new DataReader(excelFile, sheet);
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap = dr.getTestingData("test_create_stoppayment");
//我将测试的数据储存在excel文件里,让后用datareader读书来
stopPayment.selectAccount(hashMap.get("Account"));
stopPayment.typeChequeFrom(hashMap.get("From Cheque No"));
stopPayment.typeChequeTo(hashMap.get("To Cheque No"));
stopPayment.clickCreate();
stopPayment.clickConfirm();
assertTrue(stopPayment.isTextPresent(hashMap.get("Expected Message")));
}
希望指教。
我觉得不好的地方是,每个测试的test case都需要重复的使用datareader读取每个test case的记录,有没有轻松一点的方法呀。
谢谢 没有用这种方式吗?
@DataProvider(name="invalidchar")
@Test(dataProvider = "invalidchar") 回复 2# robin.von
没有,我用的是junit+selenium 偶上面的方法是TESTNG中的方法,JUNIT不熟悉,帮不上了! 本帖最后由 wugecat 于 2011-5-6 14:12 编辑
用@BeforeClass,或@Before将重用的放在这里.junit4也支持这样了 回复 5# wugecat
这个建议非常受用。
但是有一个地方不是想同的
hashMap = dr.getTestingData("test_create_stoppayment");
我将test case名称也就是方法名称作为一个参数,去取得excel表一列的数据,那这样的如何让它能够通用呢?
谢谢了 回复 6# irabbit
写一段程序自动生成.java文件,只要遵循一定的规律,可以生成多少行都可以
页:
[1]