接口自动化框架(java)--1.项目概述】的更多相关文章

项目github地址: https://github.com/tianchiTester/API_AutoFramework 这套框架的报告是自己封装的 1.测试基类TestBase: 接口请求的testcase类需要继承此类去读取properties文件 package com.qa.base; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; im…
这套框架的报告是自己封装的 由于之前已经通过Extentreport插件实现了Testng的IReport接口,所以在testng.xml中使用listener标签并指向实现IReport接口的那个类就可以替换原始的testngreport testng配置如下: 单suite,单test test name 指向你写的testCase,methods放入需要执行的方法 <?xml version="1.0" encoding="UTF-8"?> <…
这套框架的报告是自己封装的 一般token会在登录接口返回结果中呈现,从代码层面获取token的方式有很多种,我是使用jsonpath这个json路径语言去匹配token所在路径的key值 package com.qa.tests; import com.alibaba.fastjson.JSON; import com.qa.base.TestBase; import com.qa.Parameters.postParameters; import com.qa.restclient.Rest…
这套框架的报告是自己封装的 每种请求类型放入不同的sheet中,就可以避免新建太多的excel去做数据驱动. XSSFSheet类提供了一个读取sheet的方法,getSheetAt(int),通过下标去访问想要的sheet 1.Excel,添加两个sheet页改名成get , delete,代表这两种类型的接口 2. 在用例的dataProvider中将这两个sheet作两个方法分别读取.再传入对应的test中 package com.qa.tests; import com.alibaba.…
这套框架的报告是自己封装的 Post类型的接口通常有请求参数,请求参数也是json类型,所以需要写一个类将请求参数序列化成json对象 以常见的登录接口为例 新建一个package,和postParameters类 package com.qa.Parameters; public class postParameters { private String userName; private String password; public postParameters(){ } //login…
摘自:https://testerhome.com/topics/13389 一.背景  上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接口自动化测试单有脚本是不够的,我们还需要批量跑指定接口,生成接口运行报告,定位报错接口,接口定时任务,邮件通知等功能.批量跑指定接口:我们可以利用ant批量跑指定目录下的Jmeter脚本生成接口运行报告:使用Jmeter(extras目录下)自带的jmeter-results-detail-repo…
最近应公司要求,搭建一套接口自动化环境.看到通知邮件,没有多想就确定了Jmeter路线.可能有些人会 说,为啥不用python,相对而言高大上一些.因为公司内部现在项目有用到Jmeter,正好可以结合利用,适合自 己才是最好的嘛.整体思路是Jmeter可以做压力测试,也可以做接口测试:Ant是基于Java的构建工具,完成脚 本执行收集结果并生成报告:Jenkins也是基于Java开发的持续集成工具. JDK安装 下载安装包,解压到安装目录,本次用的是jdk1.8版本. 下载地址:https://…
python+request接口自动化框架搭建 1.数据准备2.用python获取Excel文件中测试用例数据3.通过requests测试接口4.根据接口返回的code值和Excel对比 但本章只讲整个思路和代码框架 代码封装后当成模块引用!!! 步骤一:引用Requests模块开展接口测试 Python Requests快速入门 :http://cn.python-requests.org/zh_CN/latest/ 如何利用requests进行接口测试,可以根据以下demo进行相应改造 #c…
转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自…
前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自己写python的接口自动化测试框架,由于本人也是刚学习python,这套自动化框架目前已经基本完成了,于是进行一些总结,便于以后回顾温习,有许多不完善的地方,也遇到…
自己曾经写过一个接口自动化的框架,并做了一版本的优化,一直觉得做的还不错,且没依赖现有的框架. 最近因为一些工作的原因,开始又思考之前写的框架的一些缺点及如何优化,所以找到比较有名的httprunner源码来比较和学习下 1.httprunner 提供了比较便利的脚手架代码及命令行运行方式 cli.py脚本里: parser = argparse.ArgumentParser(description=__description__)parser.add_argument 提供比较多的命令参数,去…
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程是什么? 确定接口测试使用的工具----->配置需要的接口参数----->进行测试----->检查测试结果----->生成测试报告 测试的工具:python+requests 接口测试用例:excel 一.接口框架如下: 1.action包:用来存放关键字函数 2.config包:用来…
Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系.其中接口协议分为HTTP,RPC,Webservice,Dubbo,RESTful等类型. 接口测试流程 1.需求评审,熟悉业务和需求 2.开发提供接口文档 3.编写接口测试用例 4.用例评审 5.提测后开始测试 6.提交测试报告 两种常见的 HTTP 请求方法:GET 和 POST 二.项目说明…
前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 接口自动化包含2个部分,功能性的接口自动化测试和并发接口自动化测试. 本次文章着重介绍第一种,功能性的接口自动化框架. 一.简单介绍 环境:Mac.Python 3,Pytest,Allure,Request 流程:读取Yaml测试数据-生成测试用例-执行测试用例-生成Allure报告 模块类的设计说明: Request.py 封装request方法,可以支持多协议扩展(get\post\p…
首次书写博客,记录下写的自动化接口框架,框架比较简单,哈哈哈,算是记录下历程把!~~~ 一.本次框架由python3.6 书写 1.准备代码环境,下载python3.6    下载地址:https://www.python.org/downloads 2.下载pycharm 软件. 二.开始创建python接口自动化框架: 1.这是我创建的框架中的各个文件夹,分别有config  配置文件夹.fengzhuang   将接口用get post  两种传输方式进行封装并自动来区分执行. 2.log…
前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱. 第一版入口:接口自动化框架(Pytest+request+Allure) 本次版本做了一些升级,增加了自动生成testcase等,一起来看看吧!-- 一.简单介绍 环境:Mac+Python 3+Pytest+Allure+Request 流程:Charles导出接口数据-自动生成测试用例-修改测试用例-执行测试用例-生成Allure报告 开源: 点击这里,跳转到github 备注⚠️:Ch…
本次主要尝试搭建接口自动化框架,基于 unittest+HTMLTestRunner 框架主要模块: config: 存放配置文件 lib: 封装了一些接口前置函数:处理各种事物 log: 存放生成的日志文件 report: 放置生成的html测试报告 suite: 套件运行器 testcase: 存放测试用例 util: 封装了一些公共函数(例如封装了日志模块,操作mysql函数,tool工具类等) 剩下的就看代码吧: 1 import configparser 2 import os 3 f…
介绍 在这篇文章中,我们将介绍一下开源的Web-API自动化测试框架——Karate Karate是基于另一个BDD测试框架Cucumber来建立的,并且共用了一些相同的思想.其中之一就是使用Gherkin文件,该文件描述了被测试的功能 与Cucumber不同的是测试用例不需要用Java编写,并且被完整的描述在Gherkin文件中 通过Karate,您可以编写任何类型的Web服务端的测试脚本,并检查响应是否符合预期 Karate的验证引擎可以灵活的比较两个JSON或XML文件内容,不受空格和数据…
背景: 某项目有多个接口,之前使用的unittest框架来管理测试用例,将每个接口的用例封装成一个py文件,接口有数据或者字段变动后,需要去每个py文件中找出变动的接口测试用例,维护起来不方便,为了便于接口变动后维护,使用excel来管理测试用例,接口有变动不需要修改代码,只需要维护excel即可. 思路: 为了方便维护测试用例,一个接口的测试用例使用一个excel文件来管理,每个excel文件中有两个sheet页,第一个sheet页是接口的基本信息,包括接口名称,地址和请求方式,第二个shee…
整体框架使用的是:Python+Unittest+Requests+PyMysql+HTMLReport  多线程并发模式 主要依赖模块 Unittest.Requests.PyMysql.HTMLReport 主要包含以下几个模块:  1. Business:与业务相关的公共模块 get_login_token:接口自动化过程中需要实时获取token,并将实时获取的token传给下个接口作为请求参数 from Business.url import url_login import reque…
这个是根据上次框架版本进行的优化 用python获取excel文件中测试用例数据 通过requets测试接口.并使用正则表达式验证响应信息内容 生成xml文件测试报告 版本更新内容: 1. 整理了CreateTest.test_main()流程逻辑 2. 优化了testcase.xls文件格式 3. 添加了生成XML文件测试报告 代码如下: #!/usr/bin/env python # -*- coding: utf_8 -*- # 获取测试用例文件excel import xlrd impo…
接口测框架 安装教程 需要3.5及以上版本的python pip install -r requirements.txt 使用说明 运行manage.py创建项目 创建的项目在projects目录下 在项目的cases目录下编写测试用例,可以参考litemall项目中如何编写测试用例 执行项目目录下的run.py运行所有测试用例 一.config配置文件 三个文件: const_template.py run_template.py setting.py 文件代码: const_template…
这个是根据上次框架版本进行的优化 用python获取excel文件中测试用例数据 通过requets测试接口.并使用正则表达式验证响应信息内容 生成xml文件测试报告 版本更新内容: 1. 整理了CreateTest.test_main()流程逻辑 2. 优化了testcase.xls文件格式 3. 添加了生成XML文件测试报告 #!/usr/bin/env python # -*- coding: utf_8 -*- # 获取测试用例文件excel import xlrd import jso…
在上一篇中的自动化框架中没有放上自动发送测试结果到邮箱的功能,在这篇文章中在补一下,哈哈 1.上一篇的代码就不在一一介绍了,本篇只介绍发送邮件的功能代码 2.在public common 文件夹中创建一个sendmail.py文件, 用来存储发送邮件的代码 from email.mime.text import MIMETextfrom email.header import Headerimport smtplibimport timeimport osdef send_mail(file_n…
一.在搭建接口自动化测试框架前,我觉得先需要想明白以下几点: ① 目前情况下,绝大部分接口协议是http,所以需要对http协议有个基本的了解,如:http协议请求.响应由哪些部分组成,常用的method,对应的请求传参方式等等 ② 需要对接口发送请求,所以要对可以发送http请求的模块比较熟悉,如python 的requests.urllib 等 ③ 使用的数据承载工具,如使用excel.mysql.oracle 等 ④ 实现哪些需求,如 在用例层面控制是否执行用例,响应信息.执行结果.失败原…
背景:因为把传入接口参数.组建测试用例.执行测试用例和发送报告,都放入一个.py文件对于接口的使用非常不灵活就需要数据和接口业务进行分离让代码之间的 耦合性降低.和实现接口的分层管理,所以需要对代码进行封装处理. 接口分层思想: cms_api:组建并发送接口请求 config:放所有接口的入参信息 report:放置运行所有测试用例生成的报告 run:自动加载所有的测试用例.并且运行 testcase:继承unittest单元测试框架.组建接口测试用例 utils:工具类.发送邮件和生成报告模…
一.项目框架如图: 1.common :这个包都是一些公共的方法,如:手机号加解密,get/post接口请求的方法封装,接口鉴权,发邮件,读写excel文件方法等等 2.result:存放每次运行的log和测试报告 3.testcase:这个包放test开头的测试用例 4.testFile:这个包放接口上传的图片(如注册需要上传头像),excel管理的接口参数 5.caselist.txt:需要运行的用例 6.config.ini :放一些配置信息,如发邮件的房间账户,接口需要使用的固定参数和版…
简介: HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试需求. HttpRunner是一个基于Python开发的测试框架,可以运行在Mac.Linux.Windows系统平台上, [第一步]:安装 Python 版本:HttpRunner 支持 Python 3.4 及以上的所有版本,并使用 Travis-CI 进行了持续集成测试,测试覆盖的版本包括 2.7/3.4/3.5…
工具准备 JDK: jdk1.8.0_111 Ant: apache-ant-1.9.9 Jmeter: apache-jmeter-3.1 Jenkins: jenkins-2.7.4 JDK安装 安装JDK: 双击JDK安装包,选择安装路径,可以采取默认安装路径,也可以自定义安装路径,为了方便直接安装在默认路径下了.安装路径:C:\Program Files\Java\jdk1.8.0_111; 配置JDK环境变量: 系统变量→新建 JAVA_HOME 变量 变量值填写jdk的安装目录(本人…
注:此篇有些细节没写出,此文主要写重要的环节和需要注意的地方,轻喷 新建项目 选择Gradle , 勾选java 和 web.之后就是设定项目路径和名称,这里就不啰嗦了. build.gradle文件下导入所需要的包,刷新一下. group 'com.benjious.createTest' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'war' sourceCompatibility = 1.8 repositories…