RF,SeleniumIDE使用store/while循环执行case,注册新用户
来源:互联网 发布:java 邮件发送多人 编辑:程序博客网 时间:2024/06/13 08:26
标题:RFide,SeleniumIDE使用Store-while-endwhile循环执行case,注册账户
环境:办公测试环境。
背景:测试过程中,需要很多新数据做差异化测试任务,手动注册耗时长且枯燥,循环执行注册脚本有利于身心健康。
方法:通过前置条件,准备好注册必填项(如身份证、银行卡、手机号等信息),然后通过判断+递增的方式循环注册新用户。
步骤:手动注册一次,记录好必填项(如身份证、银行卡、手机号等信息),通过Store-while-endwhile循环执行case,注册账户
关键字:store 10 j,store 1 j,while ${i}<=${j},fireEvent id=XXX blur/focus,type改为typekeys,storeEval ${i}+1 i,end while
命令:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="http://www.yidai.co/" />
<title>PC注册新用户</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">PC注册新用户</td></tr>
</thead><tbody>
<tr>
<td>store</td>
<td>10</td>
<td>j</td>
</tr>
<tr>
<td>store</td>
<td>1</td>
<td>i</td>
</tr>
<tr>
<td>while</td>
<td>${i}<=${j}</td>
<td></td>
</tr>
...//(此句为分隔线,不用复制,代替中间内容省略一万字)
<tr>
<td>fireEvent</td>
<td>id=smsCode</td>
<td>blur</td>
</tr>
<tr>
<td>pause</td>
<td>1000</td>
<td></td>
</tr>
<tr>
<td>fireEvent</td>
<td>xpath=.//*[@id='reg_step2']</td>
<td>focus</td>
</tr>
<tr>
<td>click</td>
<td>xpath=.//*[@id='reg_step2']</td>
<td></td>
</tr>
...//(此句为分隔线,不用复制,代替中间内容省略一万字)
<tr>
<td>storeBodyText</td>
<td>comment</td>
<td></td>
</tr>
<tr>
<td>echo</td>
<td>${comment}</td>
<td></td>
</tr>
<tr>
<td>storeEval</td>
<td>${i}+1</td>
<td>i</td>
</tr>
<tr>
<td>endWhile</td>
<td></td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
贴图:
备注:
1.问题一,注册页面提交按钮超时,手动执行可以点中,却怎么也无法执行自动连贯点击,导致变成半自动case。
处理办法是使用fireEvent id=XXX blur/focus,激活并失去提交按钮之前的文本框焦点后,聚焦定位到需要点击的提交按钮,加入Pause后执行成功。
2.问题二,文本框输入密码后,原设计是输入第六位自动提交密码,通过type无法触发提交状态。
处理办法是将type改为typekeys关键字,即刻成功触发。
3.问题三,由于链接地址重定向导致页面弹出的安全警告,由于获取不到地址,无法定位和点击。
处理办法是改掉源头问题,把重定向提示框屏蔽,将地址栏中的S去掉。
4.问题四,由于注册时,姓名不能写阿拉伯数字,IDE自带关键字不能转换数字为中文大写汉子,需要扩展js文本。
处理办法,如下列附件~
user-extention.js文本源码如下(文件来自小七大神,给小七点赞):
标题:user-extention.jsSelenium.prototype.doStoreRandom = function(variableName,value){var dic = new Array(); //注意它的类型是Array dic[0] = "零"; dic[1] = "一"; dic[2] = "二"; dic[3] = "三";dic[4] = "四"; dic[5] = "五"; dic[6] = "六"; dic[7] = "七";dic[8] = "八"; dic[9] = "九";var sValue = value.toString()ll = sValue.lengthif(ll == 1){storedVars[variableName] = dic[value];}else if(ll > 1){var tt = ''for(var i=0;i<ll;i++){tt = tt + dic[parseInt(sValue[i])];}storedVars[variableName] = tt;}}
- RF,SeleniumIDE使用store/while循环执行case,注册新用户
- SeleniumIDE 使用
- while循环下switch.....case的应用
- SQL循环执行while控制
- SQL循环执行while控制
- shell 中的for循环while循环和case语句
- while循环的使用
- SeleniumIDE的安装、使用入门
- SeleniumIDE的安装、使用入门
- sql语句中的case、while等使用
- while、do...while、for循环的使用
- orcl中的赋值语句,case,if elsif,while 循环,for
- while循环下switch.....case的应用2
- Shell 循环语句:if,case esac,for,while
- Linex--shell脚本(二)条件判断之case、while循环
- do while 循环的执行逻辑
- 使用SQL中的ROW_NUMBER()和while循环对每一行执行操作
- 使用while循环的注意事项:
- php结合redis实现高并发下的抢购、秒杀功能的实例
- 典型的SaaS平台构建--Salesforce CRM介绍
- Android Studio 超级简单的打包生成apk
- JS中Null与Undefined的区别
- 第一次记录
- RF,SeleniumIDE使用store/while循环执行case,注册新用户
- win环境下的cmd命令行python交互时清屏
- mariaDB在linux7中的安装
- Java 反射机制 及 应用场景
- 设计模式之组合模式
- Android混合开发JSBridge
- KETTLE循环抽取
- 使用eventqueue.invokelater()好处、原因
- 《MySQL入门很简单》学习笔记(14)之第14章存储过程和函数(关键词:MySQL/存储过程/存储函数/光标/游标)