自动化接口测试(java)
githup地址:https://github.com/SailFan/autoTestMock
包结构:

common包
ExtentTestNGIReporterListener.java 为测试报告的监听器
GeneratorSqlmap.java 为mybatis逆向工程的生成类, mybatis可以使用接口的方式直接调用, 也可以通过mapper映射文件(推荐使用), mybatis可以使用手写的方式手写maaper映射文件, 实体, 接口,(灵活, 要什么写什么) 也可以通过mybatis逆向工程的方式来生成mapper, entity, interface, 这样会更方便, 而且错误会更少, 缺少什么映射关系手动补上去就行。
HttpClientTool.java HttpClient工具封装类, 上传文件的post方法未测试, 其他方法测试已通过
MybatisUtil.java mybatis工具类, 用来获取mybatis的session工厂,获取session
dao包
mapper的接口以及映射文件
entity包
实体类
loadurl包
里面是用来读取测试url的工具类, 其实可以放到coomon包的, 不过啦, 包不包的无所谓了,反正也懒得改了, 放哪儿都一样
moco包
其实在程序中更应该使用moco api方法的, 像我这种moco standalone使用方法放着只是为了区分而已, 坦白说来, 放到这儿有点不伦不类的
testcase包
测试用例
conn 目录
mysql配置文件
execute
TestNg配置文件
log包
log4j配置文件中可以设置路径, 目录会自己生成, 使用日志在程序调错会很方便
mybatis目录
mybatis全局配置文件
url目录
测试的url路径存放在application.properties
test-output目录
测试报告
generatorConfig.xml文件
mybatis逆向工程配置文件
我的思路,
1 mybatis可用来查询测试环境或者生产环境数据库用来在断言,
2 测试的数据可以放在测试库中, 取出之后封装出object[][],格式进行测试, 或者测试数据直接放到另一个数据库,反正拒绝execl, 可以考虑用sqlit,个人感觉放到生产环境或者测试环境就好了, 新建一个库, 几张表的事儿, 这儿可以避免操作多个数据库,
优化点
1 读出的数据没有封装, 与TestNg的@DataProvider注解没有集成,
2 HttpClient封装的也不太好
3 HttpClinet的返回值的处理
4 还有很多很多
以上用到的 TestNg+maven+mybatis+HttpClient+ extentreports+moco+sqllit+mysql,这自动化代码会持续优化, 接口全部用moco模拟
自动化接口测试(java)的更多相关文章
- Jenkins之自动部署、代码安全扫描、自动化接口测试
搭建Jenkins wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.reporpm --i ...
- Python+reuqests自动化接口测试
1.最近自己在摸索Python+reuqests自动化接口测试,要实现某个功能,首先自己得有清晰的逻辑思路!这样效率才会很快! 思路--1.通过python读取Excel中的接口用例,2.通过pyth ...
- Selenium Web 自动化 - Selenium(Java)环境搭建
Selenium Web 自动化 - Selenium(Java)环境搭建 2016-07-29 1 下载JDK JDK下载地址:http://www.oracle.com/technetwork/j ...
- postman自动化接口测试
背景描述 有一个项目要使用postman进行接口测试,接口所需参数有: appid: 应用标识: sign:请求签名,需要使用HMACSHA1加密算法计算,签名串是:{appid}${url}${st ...
- python+requests+unittest执行自动化接口测试
1.安装requests.xlrd.json.unittest库 <1>pip 命令安装: pip install requestspip install xlrdpip install ...
- jmeter+maven+jenkins自动化接口测试(上)
代码已上传git(包括调试的jmx,jmeter相关文件等):https://gitlab.com/yinzhenzhi/jmeterandmaven 目的:现在很多人都在做自动化接口的平台,我也正在 ...
- Appium移动自动化测试之Java篇
1.环境准备:创建模拟器请参考:http://www.cnblogs.com/mrjade/p/5803131.html 2.新建一个java project,[File]-->[New]--& ...
- 接口自动化框架(java)--1.项目概述
项目github地址: https://github.com/tianchiTester/API_AutoFramework 这套框架的报告是自己封装的 1.测试基类TestBase: 接口请求的te ...
- Electorn(桌面应用)自动化测试之Java+selenium实战例子
基于electorn的桌面应用,网上相关资料较少.所有记录一下.使用java+selenium+testng对该类型应用的自动化测试方法. 代码样例 package com.contract.web. ...
随机推荐
- jmeter 报错Error in NonGUIDriver java.lang.IllegalArgumentException: Report generation requires csv output format, check 'jmeter.save.saveservice.output_format' property
设置jmeter报个的时候报下面错 只要细心看问题就是把它jmeter.save.saveservice.output_format'的格式改为csv就对 这个属性是在jmeter.propertie ...
- cocos creator 中的粒子效果
途中的粒子效果,通过plist文件和png两个文件,创建一个粒子节点,将plist文件拖入到粒子节点的file属性中,然后给custom属性打钩,把png文件拖入到texture属性中即可.
- 设计模式—模板方法(template method)
一.定义 百度百科给的定义:定义一个操作中的算法骨架(稳定),而将一些步骤延迟到子类中(变化).Template Method使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 如何做到 ...
- ORA-28000: the account is locked解决
首先使用具有sysdba权限的账户登陆,如sys账户和system账户 新建一个sql窗体,并执行语句解锁被锁定的账户,如我这里sgyw账户: alter user sgyw account unlo ...
- hello1 hello2 代码分析
1.hello1代码分析 hello.java package javaeetutorial.hello1; import javax.enterprise.context.RequestScoped ...
- python基础教程002_列表与元组
1.列表 定义: edward = ['Edward Gumdy',42] 描述edward姓名与年龄的列表 edward = [] 空列表 操作: 索引: greeting = 'hello' pr ...
- edgedb 内部pg 数据存储的探索 (三) 源码包setup.py 文件
edgedb 是基于python开发的,同时集成了cython 以下为包的setup.py 配置,从里面我们可以看到关于edgedb 的一些依赖 以及构建过程 setup.py 源码 整体配置不算很多 ...
- 事件冒泡(event bubbling)与事件捕捉(event capturing)
事件捕捉: 单击<div>元素就会以下列顺序触发click 事件. Document => Element html => Element body => Element ...
- 压力测试:系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式
PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联.单个reqeust 对CPU消耗越高, ...
- ActiveMQ (一) 简介
1.ActiveMQ简介 先分析这么一个场景:当我们在网站上购物时,必须经过,下订单.发票创建.付款处理.订单履行.航运等.但是,当用户下单后,立即跳转到“感谢那您的订单” 页面.不仅如此,若果没有延 ...