irabbit 发表于 2012-2-17 07:34:28

用selenium提交很多表格的form的优化问题

我不是编程高手,所以希望有相似经验的人可以过来看看帮助解答一下

比如我要写一个提交创建用户的方法,我需要把每个field的值单独传进去了,还是测试数据作为一个object传进去了?

下面是个例子

这个我觉得参数太多,不太好用public UserDetailsPage createUser(String type, String userId, String password, String customerNumber, String mobileNumber,
                        String firstName, String lastName, String branch, String role) {
               
               
               
                select("name=userType", "label="+type);
                type("userid", userId);
                type("password", password);
                type("mobilearthId", "mobilearthId");
                type("customerNumber", customerNumber);
                type("networkId", "networkId");
                type("isoCountryCode","isoCountryCode");
                type("mobileNumber", mobileNumber);
                type("networkId2", "networkId");
                type("isoCountryCode2","isoCountryCode");
                type("mobileNumber2", mobileNumber);
                type("email", "email");
                type("email2", "email2");
                type("firstName", firstName);
                type("lastName", lastName);
                select("branchId", "label="+branch);
                select("role", "label=" + role);
               
                clickAndWaitForPageToLoad("submit");
                return new UserDetailsPage(selenium);
               
        }有没有比较好的方法了,能够贴个例子看下吗,谢谢了

jia8162 发表于 2012-2-17 16:50:19

个人认为 你吧 空间封装起来 就好了

irabbit 发表于 2012-2-18 02:26:56

能够具体一些吗?

irabbit 发表于 2012-2-18 02:47:04

具体些吗?

maguschen 发表于 2012-2-18 09:50:54

做个对象封装一下挺好的

1. 你这个createUser的方法的参数个数就少很多
2. 更加灵活,现在创建一个用户已经有10来个参数,未来还有可能增加,如果还按照现在的做法,以后每新加一个字段,这个方法要改2个地方;如果传对象,以后增加一个字段就只需要增加一个操作,传进来的参数还是一个对象。

jia8162 发表于 2012-3-7 11:05:30

以你的这个代码为例
select
type
clickAndWaitForPageToLoad
做成三个函数
输入数据用外部 文件的方式
添加 基本分为 行为(type,select, clickAndWaitForPageToLoad)
                   输入 的值
                   定位 的值
行为 判断用那个函数
函数 定位 参数 为(输入字符串,定位字符串)
这样不管你 数据怎么变
反正操作行为多是一样的 循环操作即可

irabbit 发表于 2012-3-23 03:10:53

回复 6# jia8162


    非常感谢楼上2位,综合一下,我始终还有一个问题:

1.将对象传到createuser这个方法
2. 输入数据用外部 文件的方式

我现在往这个方向改进,但是有些问题
1. 我的form太多,单独创建那么多对象会很麻烦
2. 我从excel里面读取测试数据,但是在将数据给对象的时候,遇到了麻烦,有没有好的例子了
页: [1]
查看完整版本: 用selenium提交很多表格的form的优化问题