robot framework生成随机数或随机字符串(Evalu
2018-09-12 本文已影响17人
Yvanna_15
前言:经常会碰到做边界值测试时,可能需要输入长整型以内的数字或者字符长度不超过500的字符串,如果手动去输入很费时间,这时就可以利用robot framework自动化实现,提高测试执行效率。(PS. 当然也可以巧妙地用excel的RAND()函数啦)
keyword(关键字)用Evaluate,可以参考robotframework官网提供的示例使用。http://robotframework.org/robotframework/latest/libraries/BuiltIn.html
代码如下:
*** Test Cases ***
1. 生成指定数据范围的随机数字
${phoneNumber} Evaluate random.randint(18220180000,18220189999) random
2. 生成指定长度的随机字符串(仅由大小写字母组成)
${str} Evaluate string.ascii_letters string
${len} Evaluate len("${str}")
${num} Set Variable 500 #指定字符串长度为500
${newstr} Set Variable ${Empty}
:FOR ${index} IN RANGE ${num}
\ ${i} Evaluate random.randint(0,int(${len})-1) random
\ ${tmp} Set Variable ${str[int(${i})-1]}
\ ${newstr} Set Variable ${newstr}${tmp}
Log ${newstr}
3. 生成固定长度的由大小写字母和数字随机组合的字符串
${letters}= Evaluate "".join(random.sample(string.letters+string.digits,50)) random,string #指定字符串长度为50
log ${letters}
设置比较大时会报错,比如把第3个脚本里的长度50改成100,就会出现下面这种错误。
Evaluating expression '"".join(random.sample(string.letters+string.digits,999))' failed: ValueError: sample larger than population
参考博文
http://www.cnblogs.com/maxiaotu/p/6830322.html (还有指定其他类型的字符串示例)
https://blog.csdn.net/jcwang710448116/article/details/78645513(第1、2个脚本参考)
https://blog.csdn.net/fengqingting2/article/details/17224481(第3个脚本参考)
https://blog.csdn.net/WHACKW/article/details/49459521(Evaluate实例)