3   开始写用例

3.1接口用例开发

1)         准备工作

l  第一步从github(https://github.com/GeneralAutomationTesting/GAT2.0)上下载GAT2.0。

在获取的GAT2.0包里你会看到两个文件夹。如下图所示:

l  第二步从GAT2.0Demo包里找到IATStepGroup 并导入的eclipse.并确保导入后的项目没有引用错误。导入后的目录与【代码结构图】中的结构相似

2)         开始单接口用例开发

单一接口的用例的数据以及用例描述文件是存储在Excel文件中的。下面就详细解释一下Excel中各个字段的含义以及注意事项。

字段名称 字段说明 可选值/实例
ID 唯一即可  
DomainName 接口URL的域名 http://api.demo.com
Path 域名后参数前的部分 /service/uerlist
ParameterName url的参数,列名以$开头  
ExpectResult 接口的期望结果
 
 
 
AssertType 断言方式
Equal:和期望结果相等
Contains:包含期望结果
Custom:需要自定义场景组件
AssertMethod 断言方式为自定义情况下需要提供场景组件方法 packagename.classname.methodname:场景组件的参数ID
SetupType  
Custom
SetupContext 需要Setup情况下需要提供场景组件方法
packagename.classname.methodname:场景组件的参数ID
TearDownType  
Custom
TearDownContext  
packagename.classname.methodname:场景组件的参数ID  

备注:空值必须以:$NULL代替,不能留空

l   第一步:在InterfaceAutomation->DataFiles->Excels目录下创建一个Excel文件。文件名称代表接口所属的模块,请起一个有意义的名字。

l   第二步:打开新创建的Excel文件,并把一个sheet的名字修改为接口的名字,注意一个sheet只能为一个接口写用例。Sheet名字请不要包含特殊字符等。

l   第三步:复制已经存在的excel文件中的各个列名,到新建的sheet中,并开始填写值。

图12

l   请注意一下几点:

n   确保ID唯一,DomainName,Path等字段的值都正确。

n   如果接口没有参数请确保没有以$开头的列。

n   如果不想传某个参数,可以把该参数的值置成$EMP.

n   Excel中的一行代表一个用例

n   如果需要添加描述性的列,列名请以#开头即可

n   黄色背景字段为默认字段,名称必须保持与图片中的一致。

n   绿色背景字段为接口参数,每增加一个参数在绿色字段增加一列即可。列名称为$+参数名称.如果没有参数请不要保留任何参数字段。

n   图片中可为空字段,在为空是请以$NULL代替

n   如果字段值为数字,请将单元格格式设置为字符串

l  第四步:完成以上步骤后,保存Excel文件。然后右击GatCreator.java运行。在运行之前请确保已经关闭了Excel文件,否则有可能出错。运行完成后就会生成相应的单元测试用例,如果在Eclipse中看不到,请刷新IATStepGroup项目。

3)         运行用例

到这步的时候你已经成功的完成了第一个用例,接下来是运行你的用例。

l   :在package [com.gateside.autotesting.generation.unittest]中找到excel文件名_sheet名称.java文件然后点击右键,run as Testng就可以

GAT2.0使用文档(单接口开发)的更多相关文章

  1. GAT2.0使用文档(组合接口测试)

    3.2接口用例场景组件 在此之前,大家应该都已经开发完成了一个最简单的接口测试用例,但是之前的接口用例的期望结果是固定值,不能动态的去做对比,有很大局限性.下面开始介绍怎样通过场景组件来动态对测试结果 ...

  2. 李洪强iOS开发之-环信02.1_环信 SDK 2.x到3.0升级文档

    李洪强iOS开发之-环信02.1_环信 SDK 2.x到3.0升级文档 SDK 2.x 至 3.0 升级指南 环信 SDK 3.0 升级文档 3.0 中的核心类为 EMClient 类,通过 EMCl ...

  3. Flask 中文手册 0.10 文档

    Flask 中文手册 0.10 文档 欢迎使用 Flask 欢迎阅读 Flask 文档. 本文档分为几个部分.我推荐您先从 安装 开始,之后再浏览 快速入门 章节. 教程 比快速入门更详细地介绍了如何 ...

  4. Apache DolphinScheduler 1.2.0 使用文档(1/8):架构及名词解释

    本文章经授权转载,原文链接: https://blog.csdn.net/MiaoSO/article/details/104770720 目录 1. 架构及名词解释 1.1 DolphinSched ...

  5. Android SDK API (2.2,2.3,3.0)中文版文档

    转的一篇.觉得很有用. Android SDK API (2.2,2.3,3.0)中文版文档 地址:http://android.laoguo.org固定连接:http://www.laoguo.or ...

  6. Fortify 4.0 帮助文档下载

    Fortify 4.0 帮助文档下载 http://pan.baidu.com/s/1hqzbF8o

  7. Webpack 2.0 的文档

    Webpack 2.0 的文档 https://webpack.js.org/get-started/

  8. springmvc下载一个文档下载接口里的文档

    A提供了一个文件下载的接口,在调用的时候可以直接在前端用a标签来调用 <a href="http://" target="_blank">下载< ...

  9. 基于Zabbix API文档二次开发与java接口封装

    (继续贴一篇之前工作期间写的经验案例) 一.           案例背景 我负责开发过一个平台的监控报警模块,基于zabbix实现,需要对zabbix进行二次开发. Zabbix官方提供了Rest ...

随机推荐

  1. sql2008 r2 重新启动 失败解决办法

    一.问题描述: 在计算机中安装sql_server_2008_R2,安装前执行检查时,提示重启计算机失败.重启计算机后,再执行检查仍然提示这个错误. 二.解决方案: 1.在开始->运行中输入re ...

  2. map的用法

    Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数:   map<stri ...

  3. vector容器的用法

    转自一篇博客^-^: 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<int> vec; (3)尾部插入数字:vec.p ...

  4. 文件上传插件 -- plupload

    refresh:重新实例化uploader removeFile(id):从file中移除某个文件 splice(start,length):从队列中start开始删除length个文件, 返回被删除 ...

  5. 微信APP支付Java后端回调处理

    package com.gaoxiao.framework.controller.gaojia; import com.gaoxiao.framework.commonfiles.entity.Sta ...

  6. Mysql日期时间大全

    MySQL日期时间函数大全 DAYOFWEEK(date)  返回日期date是星期几(1=星期天,2=星期一,--7=星期六,ODBC标准)mysql> select DAYOFWEEK('1 ...

  7. 安卓中級教程(1):@InjectView

    package com.mycompany.hungry; import android.annotation.SuppressLint; import android.app.Activity; i ...

  8. 算法与数据结构题目的 PHP 实现:栈和队列 由两个栈组成的队列

    思路:同样使用 PHP 的数组模拟栈.栈的特点是先进后出,队列的特点是先进先出,可以用第一个栈(StackPush)作为压入栈,压入数据的时候只往这个栈中压入数据,第二个栈作(StackPop)为弹出 ...

  9. jwt refresh token

    $app->post('auth/refresh-token', ['middleware' => 'jwt.refresh', function() { try { $old_token ...

  10. c语言中的指针问题

    “*”符号的作用在C语言中有两种: 1.声明该变量是指针,例如:int * p;//表示声明一个int类型的指针,变量名为p 2.在指针运算时,表示取这个地址上的内容,例如  temp = *p;// ...