lf知识星球banner

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

2018-03-15 16:57:42
admin
14755
最后编辑: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-12-03 22:00:34 回复
还有一个问题就是,添加客户端的时候,只添加IP,不添加端口吗?
Seagull 2019-12-05 14:06:20 回复
端口默认6633
苏苏 2019-12-03 21:58:27 回复
您好!客户端配置那里,是不是就是新增的被测项目的服务地址的IP?但是添加的服务ip每次调试后,客户端状态都是异常的,不知道是什么原因,telnet连都没有问题,望能回复,谢谢大佬
Seagull 2019-12-05 14:17:27 回复
不是的,是Web服务端的IP跟端口
1 2019-12-07 09:50:20 回复
一定要确保内网环境
苏苏 2019-11-25 11:47:19 回复
您好!请问必须要把被测试的项目打成jar包吗?能不能像postman一样,通过配置请求地址、请求路径和入参后执行?
Seagull 2019-11-27 14:24:59 回复
不需要把被测试项目打成jar的,你是不是测试驱动的概念没理解?
苏苏 2019-12-03 21:55:06 回复
您好!是不是客户端配置的IP,就是被测接口项目的服务地址?但是我填写了IP后,感觉获取的IP的状态是失败的
yoyo 2019-10-30 15:28:19 回复
根本没看 明白客户端怎么用,有没有测试的完整例子?
Seagull 2019-10-31 09:18:14 回复
客户端是个执行端,不需要你研究怎么用啊,配置好就行了。
kokoro 2019-10-21 10:15:06 回复
您好,麻烦问下协议模板里的消息头参数可以用公共参数替换么
小飞侠 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 回复
是的,总是提示异常,不知道哪里写错了,就照着这个格式写的
yy 2019-10-23 14:58:49 回复
bug,返回的头部信息当做json字符串传入,导致解析json失败
Seagull 2019-10-24 13:42:32 回复
新版本已解决
yy 2019-10-23 13:57:45 回复
有解决么?
Seagull 2019-10-23 17:16:45 回复
新版本中已经解决
云海 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