lf知识星球banner

测试驱动(接口)自动化语法说明

2018-03-15 16:57:42
admin
12792
最后编辑:Seagull 于 2019-08-15 16:01:55
简介:介绍当你自定义接口驱动时,语法的说明。比如:当你要实现一个hession接口的自动化测试,那么需要你先用JAVA方法实现此接口,此方法有入参(String),有返回(String)。然后你把此方法所在的项目打包成JAR,放到客户端的驱动目录,客户端启动执行时,会自动加载此JAR包。

对于2~5节的内容,同适用于Web UI、移动端、HTTP等类型的自动化测试,在后续的章节中不再单独进行说明。

Web服务端中的系统管理模块里面,有一个客户端管理功能,其中有一个配置驱动目录的选项,会默认有一个驱动目录为/TestDriver,如果你有几个项目在同一个客户端运行,为了避免包冲突的情况,建议您一个项目配置一个驱动目录。

将您打包好的测试驱动JAR包,放置在客户端编译好的项目根目录中的驱动目录下即可。

注意:是在编译好的项目根目录下的驱动目录中,不是直接放在项目代码目录下的驱动目录

1:普通的方法调用

包|定位路径:Package名.类名 

方法|操作:方法名

参数:参数1|参数2|……|参数n


示例:

2:参数引用以及传递

将用例里面前面步骤的执行结果,传递至后续步骤的包路径、方法、参数、预期结果中当成参数; 

赋值局部变量:$=value 

引用:@value  用例里面前面步骤的执行结果,传递至后续步骤的包路径、方法、参数、预期结果中当成参数; 当您需要引用项目中定义的公共参数时,直接使用 @变量名 引用即可。


赋值全局变量: $A= value 

赋值局部变量 $=value,作用域只在单条用例内的步骤间进行传递,而关键字 $A=value 支持作用域扩展到整个任务执行的生命周期内。只要是同一个调度任务内,都可以对此变量进行引用以及传递。

注意:


  • 当遇到参数值里面本身带了字符@的,请使用@@来转义。比如参数值是一个邮箱地址XX@qq.com,那么这时候你应该写成XX@@qq.com.
  • 当遇到参数值里面本身带了字符 | 的,请使用 \\| 来转义。比如有一个参加值是:tfwfsf|ysggfw|ggsvs  ,那么这时候你应该把这个参数写成这样: tfwfsf\\|ysggfw\\|ggsvs



示例:


3:预期结果精确匹配

将用例里面 【方法|操作】执行的结果,与 【期望的结果】字段里面的字符串进行精确匹配; 

直接在预期结果里面填写需要匹配的字符串即可。


4:预期结果模糊匹配

将用例里面 【方法|操作】执行的结果,与 【期望的结果】字段里面的字符串进行模糊匹配; 

模糊匹配: %=value

示例:

5:正则方式结果模糊匹配

将用例里面 【方法|操作】执行的结果,与 【期望的结果】字段里面的字符串通过正则表达式进行匹配; 

模糊匹配: ~=value

正则表达式写法,请自行百度,不再累述。针对多个结果模糊匹配,非包含字符匹配都可以用此种方式,非常灵活。

6:步骤间添加休眠时间

步骤执行完成后,等待 N 秒,在 【步骤动作】中加上“10#Wait” 10 表示 10 秒; 

示例:

评论列表
小飞侠 2019-07-11 15:51:04 回复
我想将返回结果其中的一部分 赋值给 变量 token 怎么写?比如返回结果是 {"code":"OK","token":"zws123666"},我只想把 zws123666 这部分赋值给变量token 如何写
Seagull 2019-07-12 13:56:59 回复
可以的,key[序号]#getJV 获取测试结果中JSON对象中,指定KEY的值,比如测试结果返回:{["name":"张三","age":"18"]["name":"李四","age":"17"]} ,如果想获取李四的年纪 在步骤动作中需要这样写 age[2]#getJV 获取到以后,会拿到17这个值,给预期结果中的关键字进行判断,是匹配,还是赋值都可以。
虫虫 2019-08-14 15:59:44 回复
使用这个方法还是报这个错误,获取JSON字符串指定Key的值是:【获取JSON KEY中的Value异常】格式化成JSON或是JSONArray时出现异常,请检查参数:RESPONSE_HEAD:【{"Server":"nginx","Date":"Wed, 14 Aug 2019 07:44:47 GMT","Content-Type":"application/json; charset=UTF-8","Transfer-Encoding":"chunked","Connection":"keep-alive"}】
Seagull 2019-08-16 15:12:12 回复
指定的KEY值有问题
kk 2019-10-11 19:36:01 回复
是的,总是提示异常,不知道哪里写错了,就照着这个格式写的
云海 2019-05-16 13:36:15 回复
client端怎么debug
Seagull 2019-05-16 17:14:43 回复
client端有提供debug的方法,在IDE中可以debug的
云海 2019-05-27 09:49:29 回复
我在intellij中要debug客户端,要怎么配置才能打断点debug。启动的时候不是在本地环境中么
Seagull 2019-05-28 11:28:06 回复
客户端中有提供debug的方法跟类,详情可以官网搜索下调试关键字
白雪红叶 2019-04-26 11:01:12 回复
请问,接口自动化支持runcase调用其他测试用例么
Seagull 2019-04-28 10:11:45 回复
可以的,但是接口只能调用其他接口用例
summer 2019-03-04 12:00:34 回复
请问这个框架支持自定义关键字吗
Seagull 2019-03-06 14:29:04 回复
你好,暂时不支持自定义的关键字,因为内置关键字需要代码的实现,另外建议您有类似的需求可以使用测试驱动
Emars 2019-09-11 17:24:17 回复
我刚刚 看到这个项目 我突然有个想法 是不是有特殊需求的工具类 都可以打成jar包 放到驱动目录中 使用 例如随机姓名、身份证、电话、流水 然后保存为变量 为下面的步骤中使用
Emars 2019-09-11 17:34:27 回复
还有如果使用测试驱动作为 随机参数生成 还有一个问题 你的项目的预期结果是必填的 这样会有问题 个人建议 预期结果不要必填
1/1
发表评论
评论通过审核后显示。
搞事bannar