51Testing软件测试论坛

标题: 用selenium提交很多表格的form的优化问题 [打印本页]

作者: irabbit    时间: 2012-2-17 07:34
标题: 用selenium提交很多表格的form的优化问题
我不是编程高手,所以希望有相似经验的人可以过来看看帮助解答一下

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

下面是个例子

这个我觉得参数太多,不太好用
  1. public UserDetailsPage createUser(String type, String userId, String password, String customerNumber, String mobileNumber,
  2.                         String firstName, String lastName, String branch, String role) {
  3.                
  4.                
  5.                
  6.                 select("name=userType", "label="+type);
  7.                 type("userid", userId);
  8.                 type("password", password);
  9.                 type("mobilearthId", "mobilearthId");
  10.                 type("customerNumber", customerNumber);
  11.                 type("networkId", "networkId");
  12.                 type("isoCountryCode","isoCountryCode");
  13.                 type("mobileNumber", mobileNumber);
  14.                 type("networkId2", "networkId");
  15.                 type("isoCountryCode2","isoCountryCode");
  16.                 type("mobileNumber2", mobileNumber);
  17.                 type("email", "email");
  18.                 type("email2", "email2");
  19.                 type("firstName", firstName);
  20.                 type("lastName", lastName);
  21.                 select("branchId", "label="+branch);
  22.                 select("role", "label=" + role);
  23.                
  24.                 clickAndWaitForPageToLoad("submit");
  25.                 return new UserDetailsPage(selenium);
  26.                
  27.         }
复制代码
有没有比较好的方法了,能够贴个例子看下吗,谢谢了
作者: jia8162    时间: 2012-2-17 16:50
个人认为 你吧 空间封装起来 就好了
作者: irabbit    时间: 2012-2-18 02:26
能够具体一些吗?
作者: irabbit    时间: 2012-2-18 02:47
具体些吗?
作者: maguschen    时间: 2012-2-18 09:50
做个对象封装一下挺好的

1. 你这个createUser的方法的参数个数就少很多
2. 更加灵活,现在创建一个用户已经有10来个参数,未来还有可能增加,如果还按照现在的做法,以后每新加一个字段,这个方法要改2个地方;如果传对象,以后增加一个字段就只需要增加一个操作,传进来的参数还是一个对象。
作者: jia8162    时间: 2012-3-7 11:05
以你的这个代码为例
select
type
clickAndWaitForPageToLoad
做成三个函数
输入数据用外部 文件的方式
添加 基本分为 行为(type,select, clickAndWaitForPageToLoad)
                   输入 的值
                   定位 的值
行为 判断用那个函数
函数 定位 参数 为  (输入字符串,定位字符串)
这样不管你 数据怎么变
反正操作行为多是一样的 循环操作即可
作者: irabbit    时间: 2012-3-23 03:10
回复 6# jia8162


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

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

我现在往这个方向改进,但是有些问题
1. 我的form太多,单独创建那么多对象会很麻烦
2. 我从excel里面读取测试数据,但是在将数据给对象的时候,遇到了麻烦,有没有好的例子了




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