项目介绍 接口功能测试应用:http://www.weather.com.cn/data/cityinfo/<city_code>.html 测试功能:获取对应城市的天气预报 源码:Python 功能包: HttpClient 请求方法:Get 自动化测试框架:pytest 源码位置:https://github.com/shifengboy/iInterface_python 源码讲解 HttpClient:网络http请求类 Weather:测试用例类 Readme.md: 说明 项目配置…
实际使用: 接口自动化测试持续集成框架:maven+SoapUI+jenkins 1.SoapUI安装文件下载5.1.2 http://pan.baidu.com/s/1c17dJLu安装步骤非常简单按照提示一步步操作完成就好,安装文件与破解用到的文件一并下载(总共三个文件) 2.SoapUI 5.1.2破解 由于soapui pro版本是一个收费版本,所以要想使用不受限制还需要稍微懂点手脚. 拷贝Protection-4.6.jar到soapui安装的lib目录下替换原来的文件 运行程序bin…
Soapui接口功能测试持续集成,需要先安装好maven和jenkins,maven和jenkins安装和系统环境配置比较简单,在这里不做叙述.   1.Soapui保存的工程文件 soapui工程保存之后会生成一个工程的xml文件,这个文件就是用来跟maven集成的   2.Maven的pom文件管理saopui的工程文件 下面的代码即为maven pom.xml文件的配置 <?xml version="1.0"?> <project xmlns="htt…
 9.1  安装和介绍 JMeter 安装文件路径:https://pan.baidu.com/s/1kVJdnuv. JMeter 是轻量级的开源且稳定的自动化测试工具. 思路:在接口说明文档中整理出接口测试案例,其中需要包括详细的入参和出参 数据,以及明确的格式和检查点,做到接口用例 100%覆盖,并和开发人员一起对接 口测试案例进行评审. 9.1.1  安装 JDK 并配置环境变量  安装 JDK,配置 JDK 环境变量.在系统 cmd 命令提示符下输入 java -version, 如果…
接口测试目前笔者掌握的工具有三种: 一.python+requests+jenkins,优点:代码实现接口测试,对测试代码书写比较自由等:缺点:需要测试者需要有一定的代码基础: 二.jmeter+ant+jenkins,优点:实现接口测试的操作步骤简单:缺点:项目工程结构复杂,维护性较差: 三.soapUI+maven+jenkins,优点:实现接口测试的操作步骤简单,有严谨的项目工程结构:缺点:soapui工具界面比较复杂,乱. 做接口测试的小伙伴们可以根据自己的情况选择工具,建议:有一定代码…
做接口测试经常会遇到如下两种情况需要处理数据传递 接口间的数据依赖,A接口请求的参数需要用到B接口的返回值 接口请求通常要用到鉴权的接口获取Token,Token通常会跟其他接口构成一对多的关系,这种情况下我们可以把Token的接口做成一个公共的TestCase,供其他的TestCase调用 1.接口间数据传递   解决方法 1.增加测试步骤properties用来存放A接口返回值的数据   2.测试步骤properties增加变量   3.增加测试步骤Property Transfer   4…
按照自动化测试分层实现的原理,每一层的脚本实现都要进行参数化,自动化的目标就是要实现脚本代码与测试数据分离. 当测试数据进行调整的时候不会对脚本的实现带来震荡,从而提高脚本的稳定性与灵活度,降低脚本的维护成本. Soapui最为强大的参数化就是支持groovy脚本的参数化或者java代码,任何无法实现的地方都可以考虑脚本的扩展. 1.Soapui的常用参数化类型   2.Soapui参数化操作方式 菜单路径:Test Steps->Add Step(右键菜单)->Data Source   3…
断言也就是判断实际结果与预期结果是否相等,如果相等测试通过,否则测试失败,自动化测试不管是UI,Services还有unit都需要做断言. 一.添加断言步骤的组件 二.设置断言 设置常用断言的三种方式: 1.对HTTP请求响应码进行断言 2.对HTTP请求响应内容是否包含其内容进行断言 3.对返回JSON数据内容进行断言…
这套接口自动化持续集成环境已经部署差不多了,现在说说我的设计思路 1:利用Docker容器化Gitlab,Jenkins,Jmeter,Ant,链接如下 Docker_容器化gitlab Docker_容器化jenkins Ubuntu部署jmeter与ant 2:将本地脚本上传到Gitlab远程仓库 脚本上传Gitlab 3:Jenkins从Gitlab中取代码并构建 jenkins配置gitlab插件与ant插件 4:Jenkins配置报告与邮件插件 Jenkins配置报告与邮件插件 以上流…
一直听说python requests库对于接口自动化测试特别合适,但由于自身代码基础薄弱,一直没有实践: 这次赶上公司项目需要,同事小伙伴们一起学习写接口自动化脚本,听起来特别给力,赶紧实践一把: 自身电脑装了python2.x,装上,导入requests库,导入第三方库的方法如下:   PyCharm→Preferences→Project:项目名→Project Interpreter,点击左下角的+号:        开始写第一个接口,我的想法是先把接口的url给拼接出来,然后再验证返回…
基于python实现的http+json协议接口自动化测试框架(含源码) by:授客 QQ:1033553122      欢迎加入软件性能测试交流 QQ群:7156436  由于篇幅问题,采用百度网盘链接分享的形式:    详情请点击: 基于python实现的http接口自动化测试框架.pdf…
pytest介绍 pytest是一款强大的python测试工具,可以胜任各种级别的软件测试工作,可以自动查找测试用并执行,并且有丰富的基础库,可以大幅度提高用户编写测试用例的效率,具备可扩展性,用户自己也可以编写插件实现特定的功能,也可以安装第三方插件,非常容易的与其他工具集成到一起,比如持续集成.接口自动化测试等.小编之前也写过几篇关于pytest的文章,可以到主页查看哈. tox介绍 tox是一个命令行工具,允许测试在多种环境下执行,tox不仅能测试不同的python版本,还可以用它来测试不…
一.安装说明 系统环境:CentOS release 6.4 JDK版本:jdk1.8.0_181 Jmeter版本:apache-jmeter-3.0 Ant版本:apache-ant-1.9.13 Jenkins版本:jenkins-war:2.138.1 二.安装JDK 将jdk-8u181-linux-i586.tar.gz解压后移动到指定目录,然后将以下内容加入/etc/profile文件内 #jdk JAVA_HOME=/usr/java/jdk1..0_181 JRE_HOME=/…
​ Jenkins是一个开源的软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.由于是基于java开发因此它也依赖java环境,安装之前需要先安装jdk,建议jdk1.8+,安装后配置java环境变量.安装jdk成功后,在cmd使用java -version可查看jdk版本信息. Jenkins安装 Jenkins安装 ​ 官网下载地址:https://www.jenkins.io/zh/ ,或者这个网址直接下载:h…
由于前段时间刚换的工作,公司用的是mac电脑办公,之前办公都是windows系统.刚开始使用时连基本的操作都要去找度娘,很不习惯,新电脑开始就是安装相关的工作工具 下面就说说遇到的哪些坑. 1.  mac电脑自带jdk,默认的路径,我来了之后又下载jdk 在终端(Terminal)下.bash_profile 又重新指定jdk安装路径结果造成jenkins 无法启动,输入相相关命令显示" -bash: lcd: command not found"没有发现这个命令,后来研究好长时间终于…
这两天一直在找直接用python做接口自动化的方法,在网上也搜了一些博客参考,今天自己动手试了一下. 一.整体结构 上图是项目的目录结构,下面主要介绍下每个目录的作用. Common:公共方法:主要放置公共的操作的类,比如数据库sqlhelper.文件操作类等 Config:公共变量:主要放置公共变量,比如ST.UAT.生产环境的url地址.用户名密码.数据库连接 Data:数据层,有点类似三层架构中的DAL,它是数据的来源,根据数据存放的格式再细分json.xml.表单和数据库 Log:日志层…
转自https://my.oschina.net/u/3041656/blog/820023 正在调研使用python进行自动化测试,在网上发现一篇比较好的博文,作者使用的是python3,但目前自己使用的是python2,先转载下,后续再进行调试完善: 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自…
之前采用JMeter进行接口测试,每次给带新人进行培训比较麻烦,干脆用python实现,将代码和用例分离,易于维护. 项目背景 公司的软件采用B/S架构,进行数据存储.分析.管理 工具选择 python开发的速度很快,且容易上手,丰富的第三方库,大大加快了开发速度和难度,自己开发一个简单的框架,优点是足够灵活,可以随时根据需求进行变更 框架思路(unittest) 考虑可重用性和可维护性,针对测试人员编写测试用例的方便性,采用数据驱动的设计方式,将数据分层出来,与业务逻辑剥离,测试人员就可以通过…
前面介绍了是用unittest管理测试用例,这次看看如何生成html格式的测试报告 生成html格式的测试报告需要用到 HTMLTestRunner,在网上下载了一个HTMLTestRunner.py,然后放到python安装路径下的lib目录中. (我用的python3,是下载的虫师写的那个,下载地址-->链接:https://pan.baidu.com/s/101y-X--o6iSd9WTDv5K4XQ 密码:24xh) 1.执行单个.py文件中的测试用例 # -*-coding:UTF:8…
在讲解装饰器在接口自动化测试项目的应用之前,我们先来介绍一下python装饰器到底是个什么 装饰器 说装饰器就不得不提一下函数这个一等公民了,在python中函数有几个特性先来了解一下 函数的一些特性 函数也是对象 在python中函数也是对象,可以把函数赋值给变量,比如下面这样: def func(message): print("打印一条message: {}".format(message)) send_message = func send_message("123&…
1.安装jenkins服务(傻瓜式安装,这里不做描述) 2.windows上访问jenkins地址(http://ip:端口号/),用户名密码登录 3.进入后新建一个job 4.Source Code Management选择git,填写相应信息 4.1   jenkins全局凭证设置方法:只介绍使用ssh方式 4.2 git上配置ssh: 5.编写执行脚本 到此就结束啦,赶紧构建看看吧. 做一棵小草,谁也撼动不了---…
https://www.jianshu.com/p/6ab73a95d53e https://yq.aliyun.com/articles/664329…
python+requests实现接口的请求前篇已经介绍,还有不懂或者疑问的可以访问 python+request接口自动化框架 目前我们需要考虑的是如何实现关键字驱动实现接口自动化输出,通过关键字的封装实现一定意义上的脚本与用例的脱离! robot framework 的安装不过多说明,网上资料比较太多~ 实例:!!!!! 步骤一:新建项目 测试项目可以目录或文件存储,格式可以用TXT,TSV或HTML格式, 建议项目选择目录和TXT,这样便于管理 步骤二:新建测试套 测试套与测试项目一样,也…
用例的管理问题解决了后,接下来要考虑的就是报告我问题了,这里生成测试报告主要用到 HTMLTestRunner.py 这个模块,下面简单介绍一下如何使用: 一.下载HTMLTestRunner下载: 这个模块不能通过pip安装,只能下载安装,下载地址如下: python2.x版本:http://tungwaiyip.info/software/HTMLTestRunner.html python3.x版本:http://hzqldjb.blog.51cto.com/9587820/1590802…
陆续给不同项目做了Web接口自动化测试,在尝试不同方法的同时会有新的体会.最近用到了HttpRunner3,本文将记录使用HttpRunner3+Allure+Jenkins在项目中快速实现Web接口自动化测试的过程. HttpRunner3 安装 安装HttpRunner3:pip install httprunner 脚手架 使用HttpRunner提供的脚手架工具,能够快速创建项目目录,输入命令:httprunner startproject xxx 比如我通过"httprunner st…
一.Postman  1.创建Collection,在Collection中创建接口请求,如下图所示. 2.编写接口对应的断言Test和Pre-request Script,如下图所示. 3.配置接口对应的环境变量或全局变量. 4.导出接口集合Collection和导出对应接口的环境变量,导出生成的是JSON文件. 如下图所示,导出生成的接口集合和环境变量JOSN文件 如大家对以上Postman的操作疑惑的,可参考之前我写过的Postman(一)两篇博客. 二.Newman 1.简介 newma…
ant 批量执行Jmeter 一.环境准备 1.JDK环境:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.ANT环境:http://ant.apache.org/bindownload.cgi 3.Jmeter:http://jmeter.apache.org/download_jmeter.cgi 4.将 jmeter的extras目录中ant-jmeter-1.1.1.jar包拷贝至ant安装目录下的…
项目组除了常规的java项目,还有不少android项目,如何使用jenkins来实现自动构建呢?本文会介绍安卓项目通过jenkins构建的方法,并设计开发一个类似蒲公英的app托管平台. android 构建 安装android sdk: 先下载sdk tools 然后使用sdkmanager安装: ./sdkmanager "platforms;android-21" "platforms;android-22" "platforms;android-…
Git Hooks.GitLab CI持续集成以及使用Jenkins实现自动化任务 前言 在一个共享项目(或者说多人协同开发的项目)的开发过程中,为有效确保团队成员编码风格的统一,确保部署方式的统一,等等(git的用户经常会涉及到此类场景),常常会使用类似 Git Flow 这种比较复杂的工作流开发模式.在较大型的项目中,虽然这种工作流模式比较成熟,但在分支处理方面,这种工作流就会造成较多的重复劳动. 因此,如果能借助某些工具来自动化处理这些重复性事务,比如自动合并分支,那么对于提升我们的工作效…
Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com 1. 相关概念 Jenkins Jenkins,一个用Java编写的开源的持续集成工具,提供了软件开发的持续集成服务,可监控并触发持续重复的工作,具有开源,支持多平台和插件扩展,安装简单,界面化管理等特点.更多介绍参考维基介绍. Gitlab GitLab是一个利…