最近团队也在调研,想多方参考下。 希望可以介绍下框架,使用的情况,有什么缺点。 主要针对混合开发的 app 测试。
1
TommyLemon 2018-10-30 16:57:22 +08:00 1
|
2
TommyLemon 2018-10-30 17:00:09 +08:00 1
测试接口用的是 APIJSONAuto,原来是测试那边写 Python 脚本,现在都不用了。
自动生成接口文档,清晰可读永远最新 自动生成请求代码,支持 Android 和 iOS 自动生成 JavaBean 文件,一键下载 自动管理与测试接口用例,一键共享 自动给请求 JSON 加注释,一键切换 自动保存历史请求记录,一键恢复 自动校验与格式化 JSON,支持高亮和收展 缺点是部分情况下需要手动纠错。 http://i.youku.com/apijson |
3
TommyLemon 2018-10-30 17:04:43 +08:00
|
4
MuscleOf2016 OP @TommyLemon 你是自动化测试岗位吗
|
5
TommyLemon 2018-10-30 17:17:50 +08:00
@MuscleOf2016 开发
|
6
MuscleOf2016 OP @TommyLemon ok,已经 star 了。
|
7
lusheldon 2018-10-30 18:12:56 +08:00 via Android
@TommyLemon 老哥,请教一下你这个框架有没有校验接口业务逻辑(比如查数据库比对结果)呢,还有数据准备和清理怎么实施的呢?
|
8
mikuazusa 2018-10-30 18:21:40 +08:00 1
APP 接口这块,用 hitchhiker,更轻量级的用 postman,更重量级的用 Robot Framework Ride
APP UI、功能方面,用 monkey。 |
9
TommyLemon 2018-10-30 18:45:22 +08:00 1
@lusheldon 有的,但不是查数据库,而是自动根据上一次的正确结果来对比。
数据准备 不需要写任何代码,不需要 Mock,直接通过你上传的接口来获取。 数据清理 不属于接口工具的功能,这是你们自己的业务,可以写脚本或用专门的工具。 这是用 APIJSONAuto (前端) 和 APIJSON (后端) 做的接口管理平台, 额外提供机器学习测试,目前线上环境还有 bug 暂时不能用这个功能,可以用接口托管等其它所有功能。 apijson.org |
10
MuscleOf2016 OP 大佬们
|
11
lusheldon 2018-10-30 20:56:49 +08:00 via Android
@TommyLemon 我一定是被降权了,都收不到提醒的。过几天研究一下您这个框架。不过我们做的测试都是要查数据库甚至要经过很多逻辑计算的,可能也不太适用。
|
12
connection 2018-10-30 21:03:44 +08:00
@TommyLemon 这个是针对接口级的自动化吧?
|
13
MuscleOf2016 OP @lusheldon 今天回复提醒我也没收到。
|
15
MuscleOf2016 OP 再顶下。
|
16
TommyLemon 2018-10-31 09:35:03 +08:00
@lusheldon 这位兄弟 @mikuazusa 理解到位,APIJSONAuto 是用结果来对比的,不用管过程怎么样。
而且预设结果只需要点一下回归测试按钮,然后点击 [这是对的] 按钮,就生成 /更新 了对比标准。 也不需要像其他工具一样要写代码来断言。 可以试试 http://apijson.org/ |
17
TommyLemon 2018-10-31 09:36:23 +08:00
@connection 对的,自动请求所有接口,然后自动对比每个接口返回的结果,不需要写任何代码
|
18
MuscleOf2016 OP @TommyLemon 其实可以理解为已知返回数据的大致格式,通过固定参数去请求,工具来比对已知返回数据格式和实际返回数据,一致说明测试通过。
|
19
TommyLemon 2018-10-31 10:36:57 +08:00
@MuscleOf2016 部分正确。
它是调用接口拿到真实的结果,然后和最近的正确的真实结果来对比。 不过 机器学习测试 和 普通测试 有点不一样,它会对正确结果抽取一个模型,里面描述了 类型、值的范围、长度范围 等属性, 不论是 有问题的 值 所在路径(例如 list/0/User/name, User/contactIdList/1 ), 还是对比结论(状态码改变、缺少字段、新增字段、值超出范围、值类型改变) 都更精准,容错性也更好。 而且每次纠错后都会学习新的正确结果,然后更新原来的标准,数据越多模型越理想。 |
20
Yarnus 2018-10-31 13:48:09 +08:00
刚好需要 先马了
|
21
MuscleOf2016 OP @TommyLemon 谢谢解答,刚没看到这边用机器学习去对比结果的。
|
22
TommyLemon 2018-10-31 15:25:56 +08:00
@MuscleOf2016 机器学习代码用 js 写的,然后 java (用的是 SpringBoot 框架) 调用。
现在有个问题,IDE 调试还是正常的,打包成 jar 后,java 读取不到 js 文件 https://www.oschina.net/question/3739440_2273949 试过 getInputStream,pom 配置 resource 等 10 多种组合方式都不行, 大家有什么解决方法吗? |
23
TommyLemon 2018-11-05 16:34:22 +08:00
@MuscleOf2016 @mikuazusa
已解决,现在可以用机器学习测试了: 1.点击右区域 第 3 个图标按钮(本地保存,点击查看共享),会进入测试用例界面 2.点击 切换机器学习的按钮(机器学习:已关闭),会开启机器学习 3.点击左区域 最右侧的图标按钮(回归测试) http://apijson.org/ |