自动化测试用例中的步骤传参之截取测试结果字符串
2018-06-30 07:45:00
Seagull

自动化测试的过程中,经常碰到的测试场景就是用例的前后步骤需要传参,而且传递的参数也需要经过截取字符串处理,其实LuckyFrame从V 2.6版本开始,在客户端的源代码中已经提供了此类方法,下面就来教教大家怎么使用吧。


首先,V 2.6版本新增加了一个包路径 luckyclient.driven;此路径在以后的版本中,专门用来存在内置的一些公共驱动方法,所以以后有更新的公共驱动方法大家可以到这个路径下面查找,本次版本只新增了一个SubString的类( 处理截取字符串)。

SubString类中总共提供了7种截取字符串的方式:

subCentreStr(String str,String startstr,String endstr):截取指定字符串中指定的部分字符

str(原始字符串); startstr(截取字符串的开始字符); endstr(截取字符串的结束字符)


subStartStr(String str,String startstr):截取字符串从指定字符开始到最后一个字符

str(原始字符串); startstr(截取字符串的开始字符); 


subEndStr(String str,String endstr):截取字符串从开始到指定字符

str(原始字符串);  endstr(截取字符串的 结束字符); 


subCentreNum(String str,String startnum,String endnum):通过字符串位置截取指定字符串的中间字段

str(原始字符串);  startnum(截取字符串的开始位置,必须为纯数字);  endnum (截取字符串的结束位置, 必须为纯数字); 


subStartNum(String str,String startnum):截取字符串从指定位置开始到最后一个字符

str(原始字符串);  startnum(截取字符串的开始位置,必须为纯数字); 


subEndNum(String str,String endnum):截取字符串从开始到指定位置

str(原始字符串);  endnum (截取字符串的结束位置,必须为纯数字); 


subStrRgex(String str,String rgex,String num):通过正则表达式截取字符串

str(原始字符串);  rgex(匹配字符串的正则表达式);  num (匹配到的第几个字符串,必须为纯数字);

例: 


那实际应用到LuckyFrame的步骤当中应该怎么使用呢,我们还是以上面的 subStrRgex方法 (其他截取字符串的方法类似,不再示例)为例,在用例中直接使用内置的驱动方法即可,在实际自动化测试场景应用中,参数列中的第一个参数 (原始字符串)传入可能需要引用一个已经赋值的变量,替换即可。

关于测试用例中,步骤中的上下级如果赋值传参可以参照手册章节: 3.2.1  测试驱动(接口)自动化语法说明


用例写完成,接下来调试一下这个内置的接口方法, 见下图:


调度通过,成功截取需要的字符串,是不是很简单呢,快来试试Get个新技能吧。