9年资深测试,独立研发适用IOS、安卓、WEB平台的自动化软件,
使用Jenkins、shell、Maven实现项目全自动化一条龙服务。
中级进阶--使用JS、循环、条件语句丰富SeleniumIDE的测试应用
上一篇 /
下一篇 2012-07-30 17:32:14
有人用SeleniumIDE来编写javascript:;" onClick="javascript:tagshow(event, '%B2%E2%CA%D4');" target="_self">测试场景,然后利用Java语音来做各种条件、循环等工作。其实IDE配合插件用好了也很经典,尤其在IDE中使用Java_script能编写更丰富的测试用例。摆脱庞大的SeleniumServer端就从这里开始吧!
先给大家出4个题目,下面围绕他们你将一一学会如何在SeleniumIDE中使用JS、循环、条件语句。
1.随机给出一个小数,请将整数位与小数位相加,输出结果。
2.随机给出一个实数,请将第一位与最后一位数字相乘,输出结果。
3.输出一个指定正整数的阶乘。
4.随机给出一串字符,如果有数字2,请输出所在字符串的位置。
开始讲解之前,请大家先安装如下2个插件。
1.Stored Variables Viewer
2.Flow Control(https://github.com/davehunt/selenium-ide-flowcontrol)
其中Stored Variables Viewer可以很直观的看到存储的各个变量及其值。
Flow Control则提供了能在IDE中使用循环和条件。
问题一:随机给出一个小数,请将整数位与小数位相加,输出结果。
代码{{{
storeValue | //html/body/form/input | num |
store | javascript{storedVars['num'].split(".") [0]} | left |
store | javascript{storedVars['num'].split(".") [1]} | right |
store | javascript{parseInt(storedVars['left'])+parseInt(storedVars['right'])} | sum |
type | //html/body/form/input[2] | ${sum} |
}}}
解说{{{
第一行就是从测试条件里取出这个数存为num。
第二行用js的split函数分割出2个数组,存储第一个数组到left。注意js中取出selenium存储的变量必须用storedVars['变量名']。split(".")是以小数点作为分隔符。 第三行存储第二个数组到right。
第四行将left和right相加并存为sum。这里必须使用parseInt()强制转换为int型,否则就是字符串的+了。
第五行输出结果到返回结果。
}}}
效果{{{
1.告诉大家js中如何取出selenium的变量。
2.如何使用js的split函数
3.如何在js中对selenium变量做加法
}}}
问题二:随机给出一个实数,请将第一位与最后一位数字相乘,输出结果。
代码{{{
2 |
storeValue | //html/body/form/input | num |
store | javascript{storedVars['num'].substr(0,1)} | x |
store | javascript{storedVars['num'].substr(-1,1)} | y |
store | javascript{parseInt(storedVars['x'])*parseInt(storedVars['y'])} | result |
type | //html/body/form/input[2] | ${result} |
}}}
解说{{{
第一行就是从测试条件里取出这个数存为num。
第二行用js的substr函数取出字符串首字符,存储到x。
第三行存储字符串尾字符到y。
第四行将x和y相乘并存为result。
第五行输出结果到返回结果。
}}}
效果{{{
1.如何使用js的substr函数
2.如何取出指定位置的字符
}}}
问题三:输出一个指定正整数的阶乘。
代码{{{
3 |
storeValue | //html/body/form/input | num |
store | 1 | result |
while | ${num}!=0 | |
store | javascript{parseInt(storedVars['num'])*parseInt(storedVars['result'])} | result |
store | javascript{parseInt(storedVars['result'])} | result |
store | javascript{parseInt(storedVars['num'])-1} | num |
endWhile | | |
type | //html/body/form/input[2] | ${result} |
}}}
解说{{{
第一行就是从测试条件里取出这个数存为num。
第二行将1赋值给result。
第三行开始while循环,条件num不为0.
第四行将num和result相乘并存为result。
第五行将num减1.
第六行结束循环。
第七行输出结果到返回结果。
}}}
效果{{{
1.如何使用插件的while循环
2.如何设置条件
}}}
问题四:随机给出一串字符,如果有数字2,请输出所在字符串的位置。
下班了,明天接着写,如果不忙。
收藏
举报
TAG:
条件
JavaScript
javascript
循环
Selenium
selenium