51Testing软件测试论坛

标题: 帮忙看下我的一个数据驱动测试的例子(selenium) [打印本页]

作者: irabbit    时间: 2011-5-5 07:34
标题: 帮忙看下我的一个数据驱动测试的例子(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的记录,有没有轻松一点的方法呀。

谢谢
作者: robin.von    时间: 2011-5-5 09:01
没有用这种方式吗?
@DataProvider(name="invalidchar")

@Test(dataProvider = "invalidchar")
作者: irabbit    时间: 2011-5-6 02:50
回复 2# robin.von


    没有,我用的是junit+selenium
作者: robin.von    时间: 2011-5-6 09:50
偶上面的方法是TESTNG中的方法,JUNIT不熟悉,帮不上了!
作者: wugecat    时间: 2011-5-6 14:11
本帖最后由 wugecat 于 2011-5-6 14:12 编辑

用@BeforeClass,或@Before将重用的放在这里.junit4也支持这样了
作者: irabbit    时间: 2011-5-7 01:20
回复 5# wugecat


    这个建议非常受用。

  但是有一个地方不是想同的

hashMap = dr.getTestingData("test_create_stoppayment");

我将test case名称也就是方法名称作为一个参数,去取得excel表一列的数据,那这样的如何让它能够通用呢?

谢谢了
作者: wugecat    时间: 2011-5-10 15:20
回复 6# irabbit

写一段程序自动生成.java文件,只要遵循一定的规律,可以生成多少行都可以




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2