lf知识星球banner

自动化测试用例中的步骤传参之截取测试结果字符串

2018-06-30 08:15:00
Seagull
原创
6129

自动化测试的过程中,经常碰到的测试场景就是用例的前后步骤需要传参,而且传递的参数也需要经过截取字符串处理,其实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个新技能吧。


补充:V2.7版本增加直接获取JSON中指定KEY的value

getJsonValue(String jsonstr, String key, String indexstr) :通过json字符串中的指定key,获取对应的value

jsonstr(json字符串);  key(json中待取值的key);  indexstr(key的索引,用于json中有多个同样的key时获取,默认为1,序号从1开始);




文章原创申明
  • 本站文章以及相关内容除注明 转贴外,均为本站 原创翻译

  • 如果本站转载的文章涉嫌侵犯了您的权益,请在评论区留言或是邮件联系管理员及时删除 【admin@luckyframe.cn】

评论列表
zane001 2018-09-02 16:40:17 回复
我想问下,我在这个 luckyclient.driven路径新建一个class, 运行时找不到,是还需要配置哪里吗
Seagull 2018-09-05 14:05:30 回复
你好,最好把工程打成JAR包放在驱动目录,保证方法是public,保证你的入参跟用例一致,其他的是不需要去配置的
1/1
发表评论
评论通过审核后显示。
付费知识圈