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中使用循环和条件。

问题一:随机给出一个小数,请将整数位与小数位相加,输出结果。
打开附件中的Selenium_test.htmlSelenium_test.rar(312 B ),在测试条件里输入一个小数(如123.456)
代码{{{
storeValue//html/body/form/inputnum
storejavascript{storedVars['num'].split(".") [0]}left
storejavascript{storedVars['num'].split(".") [1]}right
storejavascript{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变量做加法
}}}

问题二:随机给出一个实数,请将第一位与最后一位数字相乘,输出结果。
打开附件中的Selenium_test.html Selenium_test.rar(312 B ),在测试条件里输入一个小数(如321.567)
代码{{{
2
storeValue//html/body/form/inputnum
storejavascript{storedVars['num'].substr(0,1)}x
storejavascript{storedVars['num'].substr(-1,1)}y
storejavascript{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.如何取出指定位置的字符
}}}

问题三:输出一个指定正整数的阶乘。
打开附件中的Selenium_test.html Selenium_test.rar(312 B ),在测试条件里输入一个正整数(如5)
代码{{{
3
storeValue//html/body/form/inputnum
store1result
while${num}!=0
storejavascript{parseInt(storedVars['num'])*parseInt(storedVars['result'])}result
storejavascript{parseInt(storedVars['result'])}result
storejavascript{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,请输出所在字符串的位置。
打开附件中的Selenium_test.html Selenium_test.rar(312 B ),在测试条件里输入一个字符串(如2abc%^234)







下班了,明天接着写,如果不忙。

TAG: 条件 JavaScript javascript 循环 Selenium selenium

引用 删除 chelaiw   /   2014-10-15 18:28:15
5
引用 删除 wangj51testing   /   2014-10-07 15:03:44
5
qianyong的个人空间 引用 删除 qianyong   /   2013-07-15 00:49:07
真是非常感谢呀,给我很大启发,谢谢
qianyong的个人空间 引用 删除 qianyong   /   2013-07-15 00:48:41
5
 

评分:0

我来说两句

日历

« 2024-04-18  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 11924
  • 日志数: 6
  • 图片数: 1
  • 建立时间: 2007-10-24
  • 更新时间: 2012-07-30

RSS订阅

Open Toolbar