51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3219|回复: 6
打印 上一主题 下一主题

帮忙看下我的一个数据驱动测试的例子(selenium)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-5-5 07:34:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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的记录,有没有轻松一点的方法呀。

谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-5-5 09:01:31 | 只看该作者
没有用这种方式吗?
@DataProvider(name="invalidchar")

@Test(dataProvider = "invalidchar")
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-5-6 02:50:17 | 只看该作者
回复 2# robin.von


    没有,我用的是junit+selenium
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-5-6 09:50:47 | 只看该作者
偶上面的方法是TESTNG中的方法,JUNIT不熟悉,帮不上了!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2011-5-6 14:11:26 | 只看该作者
本帖最后由 wugecat 于 2011-5-6 14:12 编辑

用@BeforeClass,或@Before将重用的放在这里.junit4也支持这样了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2011-5-7 01:20:00 | 只看该作者
回复 5# wugecat


    这个建议非常受用。

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

hashMap = dr.getTestingData("test_create_stoppayment");

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

谢谢了
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2011-5-10 15:20:18 | 只看该作者
回复 6# irabbit

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

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-4 14:22 , Processed in 0.076175 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表