测试脚本管理:讲述如何在 EOLINKER 上设计测试项目目录结构。
编写测试脚本:讲述如何在 EOLINKER 上编写接口测试脚本。
测试脚本执行及报告:讲述如何在 EOLINKER 上执行接口测试脚本,及如何查看和下载测试报告。
测试项目人员协作:讲述如何在 EOLINKER 上进行多人的测试项目协作。
在 EOLINKER 上设计测试项目目录结构来管理测试脚本;
先来看下 EOLINKER 的测试脚本管理分级:
项目管理 > 测试项目管理 > 测试项目模块管理(支持子模块和子子模块管理) > 测试用例集 > 单个测试用例
如果现在你只有一个项目叫"小鱼游游 Web",包含 web 版 /app 版 /公众号 H5 版 /小程序版,你可以通过 [新建自动化测试] (如下图中标记 1 )来创建每个版本的测试项目;
如果现在你有多个项目,如"小鱼游游 Web","小鱼游游 APP",同时每个项目包含 web 版 /app 版 /公众号 H5 版 /小程序版,你可以先通过 [新建分组] (如下图中标记 2 ),为"小鱼游游 Web","小鱼游游 APP"分别创建各自的项目目录,然后进入各个项目目录中,通过 [新建自动化测试] (如下图中标记 1 )来创建每个版本的测试项目;
另外,如果项目已经结案,可以通过项目列表的[归档]操作按钮,项目就会移至 [已归档项目] (如下图中标记 3 )列表中,这里的归档和未归档没有本质上的区别,只是放在不同的文件夹而已。
通过前面操作,各位已经有了测试项目,大家可以进入项目来一看究竟。
1.如果需要了解测试项目当前的协作人员数 / 项目动态 / 测试用例个数等信息的话,请打开 概况页面;
2.如果要创建并管理 测试项目模块,测试用例集以及单个测试用例,您可以先去 场景用例 页面查看,回头将为您详细讲解;
3.如果想指定一批测试用例脚本在你设定的时间自动跑,并把测试结果发送到你指定的邮箱,定时进行查看。这个功能需要大家开通企业版本才能进行使用;而如果你已经拥有企业版本,那你可以打开 定时任务 页面先看看里面长什么样,后面会和大家进行详细讲解;
4.如果希望自定义一些公共调用的变量或参数,如 http 请求的默认值( host url,请求头部,body 参数),来 公共资源管理 页面。
5.如果想对测试脚本进行限权管理,比如只读 /读写等,去 协作人员管理 页面设置;
6.最后,如果你想在导入 API 文档时,只看小鱼游游 Web 项目的 API 文档时,你可以进行 自动化测试管理 里面的 [可引用的 API 项目] 中进行设置;
回顾前面说的:“如果你要创建并管理 测试项目模块,测试用例集以及单个测试用例,先去[场景用例]页面打个照面,稍后再详细给你叨叨。”
点[场景测试],进入测试项目模块 /测试用例集页面;
通过 [新建分组] (如下图中标记 1 )创建项目模块目录(通常模块划分 2 种:按业务和按界面,你可以在设计单接口测试脚本时,按界面,在设计场景测试脚本时,按业务),你可以通过模块目录后面的菜单按钮,创建子分组和子子分组,即子模块和子子模块。
创建好模块目录后,我们需要在各个模块目录下面创建对应用例集,通过 [新建用例] (如下图中标记 2 )创建各自的用例集。
1.普通类型-UI 模式(默认类型):如果你偏爱界面,那你可以选择这种模式,你只需要填空就能完成接口测试脚本;
2.高级类型-代码模式:如果你钟意撸代码,如果你又会 Javascript,这个模式会更加适合你;
到此,项目结构已完成,下面就可以开始编写测试脚本了。
在测试用例集列表,点选一个普通类型-UI 模式用例集,进入单个测试用例 - 普通类型[UI 模式]页面,通过 [+已有接口] (如下图中标记 1 )从 API 文档导入接口基本信息( url/请求方法 /请求协议 / 传参 /返回信息),这样方便我们设计脚本时,只要改动传参和添加校验信息,即完成一个用例脚本编写,具体怎么做,去下一小节吧;当然如果开发的没有在 EOLINKER 的 API 研发管理模块中编写 API 文档,那你可以通过 [+空白接口] (如下图中标记 2 )来编写测试脚本。
如果你点选是一个高级类型-代码模式用例集,你将进入单个测试用例 - 高级类型[代码模式]页面,界面如下,
上面小节已提到,编写接口测试脚本有 2 种方式:
通过 [+已有接口] 按钮,从 API 文档列表导入已有的接口文档(如下图 - API 文档列表页面),然后基于接口文档基本信息,并添加用例名称和校验信息(断言),完善接口测试脚本。(推荐)
通过 [+空白接口] 按钮,填写空白接口文档,然后添加用例名称和校验信息(断言),完成接口测试脚本。
截图进入路径:API 研发与自动化测试 -> API 研发管理 -> 小鱼游游 Web ( Web 开发项目)-> API 文档
如果你现在是在 EOLINKER 上编写项目的第一条测试用例脚本,你可以根据下面的步骤去编写测试脚本:
创建测试环境并导入到用例集
创建前置用例(如登录或注册)
创建后置用例(如退出登录)
说明:步骤 2-3 放在步骤 5 后面再做,也是可以的。
导入 API 文档(或添加空白接口)
a. 在导入的 API 文档中,编辑测试用例描述(在 EOLINKER 上叫接口名称)
b. 在导入的 API 文档中,编辑请求信息
c. 在导入的 API 文档中,编辑预期返回信息(这里是填写返回头部和返回参数,如果这部分开发已经填写,可以跳过这一步)
d. 在导入的 API 文档中,添加返回头部校验
e. 在导入的 API 文档中,添加返回结果校验
f. 在导入的 API 文档中,添加高级设置
点保存,完成测试脚本编写。
说明:后面添加新的用例,基本就是重复 4-5 的操作,还是挺便捷的嘛!
在测试环境中,我们可以自定义公共 URL (接口所在的主机名)自定义全局变量、自定义添加公共请求参数、自定义添加公共请求头部标签、自定义添加公共鉴权方式。
创建测试环境并导入到用例集操作步骤如下 gif 动态图:
GIF 动态图说明:
第一个页面为测试项目列表页面。 第二个页面为测试项目的公共资源管理-测试环境页面,在这里创建测试环境。 第三个页面为测试项目的场景用例页面,在这里导入刚才创建测试环境。
前置用例,即测试用例的前置条件,登录或数据初始化,目前还不支持远程连接并操作数据库,不过我们可以通过调用接口方式,达到数据初始化的目的。
这里假设在 API 文档列表中,已经添加 登录的接口文档,这里我通过 [+已有接口] 按钮从 API 文档列表中 导入登录接口 来创建前置用例,步骤如下 GIF 动态图:
GIF 动态图说明:
第一个页面为测试项目的场景用例页面,在这里,点 [前置用例] ,进入前置用例集列表页面,然后点 [新建前置用例] ,创建一个名为 登录的用例集,点这个新建的用例集进入前置用例编辑页面。
第二个页面为前置用例编辑页面,(注:在新建用例或导入 API 前,先清除掉编辑窗口中的示例代码),在这里,
a. 点 [+已有接口] 按钮,此时会进入 API 文档列表选择页面,勾选登录接口,点 [确定] 按钮,完成 API 导入。
b. 编辑导入的 API 文档,因为这里的登录接口有 3 个必填传参,所以我定义 3 个变量,变量的值,需要自己去构造,每个公司的登录参数都不一样,有的是时间戳+随机字符串+密钥,有的是 md5 等等,这一部分 eolinker 都有封装好的 md5 和 sha 方法,可直接调用,你也可以自己通过 在通用函数构造自定义的函数,如下图为通用函数编辑页面,我觉得这块比 jmeter 好用太多,jmeter 那边你需要用 java 写个 jar 包,然后在 jmeter 的测试计划中导入,然后调用的时候,还要写 beanshell 脚本,真的太麻烦了。
另外,还写了个断言,用于测试前置用例是否正确,其中"result_api_1.response"是获取接口返回信息,这个信息是 string 类型,所以后面用 JSON.parse(),将其转化为 json 对象,用于后面 response.statusCode 获取返回信息中的 statusCode 字段的值。
c. 编辑完 API 文档,即写好前置用例,可以点测试按钮,看是否登陆成功,我这里测试结果是测试失败,是因为我的 3 个传参我给的是空的。
d. 点 [保存] ,然后点 [返回列表] 返回到前置用例集列表页面。
后置用例,即为后期处理,返回参数加工、资源清除或数据清除。
后置用例和前置用例的创建步骤一样,这里就不再上 gif 动态图。
这里不用多说,直接上 gif 动态图,图看不明白的,可以看下面的动态图说明( TT,图录的好辛苦,要求加鸡腿...)。
GIF 动态图说明:
第一个页面为测试项目的场景用例页面,在这里,点之前创建好的 测试项目模块目录 [通用接口] ,进入用例集列表页面,然后点 [新建用例] ,创建一个名为 获取公司列表的用例集,点这个新建的用例集进入用例编辑页面。
第二个页面为单例列表页面,在这里,
a. 点 [+已有接口] ,此时会进入 API 文档列表选择页面,勾选登录接口,点 [确定] 按钮,完成 API 导入。
b. 点刚导入的 API 文档后面的 [编辑] 操作按钮进入用例编辑页面。
第三个页面为用例编辑页面,
a. 编辑接口名称,即用例名称。
b. 访问此接口时不用传参,所以请求信息这里为空。
c. 预期返回参数,一般是开发在 API 文档填好的,所以这里为空。
d. 没有可校验的返回头部,所以返回头部校验这里为空。
e. 返回结果校验,这里我用的是 JSON 检验方式,这里有个 [同步返回参数] 按钮,XML 检验方式也有,如果开发已经写好预期返回参数,点此按钮后,所有的返回参数都会自动导入到校验字段列表中。
f. 高级设置,我勾选了 [该用例校验为失败时,依然执行下一个用例] ,如果没勾选的话,此用例测试失败时,后面的用例就不会被执行;其中 [当某一校验规则判断为失败时,依然判断其余规则] 是默认勾选,表示如果校验字段列表中某个字段校验失败,仍校验其他还没校验的字段;超时限制,默认 5000ms,即 5 秒,表示 测试超时将会自动判断为测试失败。
点 [保存] ,返回到单例列表页面,即完成用例编写。
注:高级类型-代码模式的用例编写方法和前面的创建前置用例的方法是一样,这里就不再详细说明,如果你非常想我写一篇关于 高级类型-代码模式的用例编写的话,请留言,让领导给我加鸡腿!(对,我就是这么没出息,我就是要鸡腿... )
到此,测试用例编写的正确方式,也就介绍完了,接下来我们可以执行前面写的测试用例了,并且查看测试报告。
本文主要是引导大家怎么用 EOLINKER 设计接口测试项目架构,其中包含如何项目目录结构,如何编写接口测试脚本,如何执行测试脚本和如何获取测试报告,以及如何进行多人的协作。其中后两部分的内容,我们在下篇文章介绍!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.