接口自动化框架图片大全(接口自动化设计)

网友投稿 230 2023-01-07


本篇文章给大家谈谈接口自动化框架图片大全,以及接口自动化设计对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享接口自动化框架图片大全的知识,其中也会对接口自动化设计进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何创建 python+requests接口自动化测试框架

工作原理: 测试用例在excel上编辑,使用第三方库xlrd,读取表格sheet和内容,sheetName对应模块名,Jenkins集成服务发现服务moduleName查找对应表单,运用第三方库requests请求接口,根据结果和期望值进行断言,根据输出报告判断接口测试是否通过。
1. 数据准备
数据插入(容易实现的测试场景下所需外部数据)
准备sql (接口需要重复使用,参数一定得是变量)
2.集成部署(运维相关了解即可)
平滑升级验证脚本加入自动化
3.自动化框架实现
调用mysql
excel遍历测试用例
requests实现接口调用
根据接口返回的code值和Excel对比
报告反馈
暴露服务
写一个简单登录的接口自动化测试
代码的分层如下图:
coding.png
一、写一个封装的获取excel表格的模块
excel.png
代码实现如下:
# !/usr/bin/python
# -*- coding: UTF-8 -*-
# 基础包:excel的封装
import xlrd
workbook = None
def open_excel(path):
"""打开excel"""
global workbook
if (workbook == None):
workbook = xlrd.open_workbook(path, on_demand=True)
def get_sheet(sheetName):
"""获取行号"""
global workbook
return workbook.sheet_by_name(sheetName)
def get_rows(sheet):
"""获取行号"""
return sheet.nrows
def get_content(sheet, row, col):
"""获取表格中内容"""
return sheet.cell(row, col).value
def release(path):
"""释放excel减少内存"""
global workbook
workbook.release_resources()
del workbook
代码封装后当成模块引用,这还是最开始呢。
二、引用log模块获取日志
准备工作:
需要一个日志的捕获,包括框架和源码抛出的expection。
代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 基础包:日志服务
import logging
import time
def getLogger():
global tezLogPath
try:
tezLogPath
except NameError:
tezLogPath = "/data/log/apiTest/"
FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
# file = tezLogPath + time.strftime("%Y-%m-%d", time.localtime()) + ".log"
# logging.basicConfig(filename=file, level=logging.INFO, format=FORMAT)
# 开发阶段为了方便调试,可不输出到文件
logging.basicConfig(level=logging.INFO, format=FORMAT)
return logging
三、引用requests模块接口测试
准备工作:
需要的请求类型和执行测试的方法。
代码如下:
#!/usr/bin/python#
#-*- coding: UTF-8 -*-
# 基础包:接口测试的封装
import requests
import tezLog as log
logging = log.getLogger()
def api_test(method, url, data ,headers):
"""
定义一个请求接口的方法和需要的参数
:Args:
method - 企业名称 str
url - 用户昵称 str
data - 参数 str
headers - 请求头信息 dict
非RESTful API请求另外的请求类型实际用不到。也不安全。
"""
try:
if method == "post":
results = requests.post(url, data, headers=headers)
if method == "get":
results = requests.get(url, data, headers=headers)
# if method == "put":
# results = requests.put(url, data, headers=headers)
# if method == "delete":
# results = requests.delete(url, headers=headers)
# if method == "patch":
# results == requests.patch(url, data, headers=headers)
# if method == "options":
# results == requests.options(url, headers=headers)
response = results.json()
code = response.get("code")
return code
except Exception, e:
logging.error("service is error", e)
def run_test(sheet):
"""
定义一个执行和断言的方法
:Args:
sheet - 服务名称 str(excel页脚名称识别的)
"""
rows = excel.getRows(sheet)
fail = 0
for i in range(2, rows):
#这里为什么从第二行开始跑,因为会先执行SQL进行数据准备如之前Excel展示的空白位置
testData = excel.getContent(sheet, i, gl.CASE_DATA)
testUrl = excel.getContent(sheet, i, gl.CASE_URL)
testMethod = excel.getContent(sheet, i, gl.CASE_METHOD)
testHeaders = eval(excel.getContent(sheet, i, gl.CASE_HEADERS))
testCode = excel.getContent(sheet, i, gl.CASE_CODE)
actualCode = request.apiTest(testMethod, testUrl, testData, testHeaders)
expectCode = str(int(testCode))
failResults = ' url: ' + testUrl + ' params: ' + testData + ' actualCode: ' + actualCode + ' expectCode: ' + expectCode
if actualCode == expectCode:
logging.info("pass")
elif actualCode != expectCode:
logging.info("fail %s", failResults)
fail += 1
if fail 0 :
return False
return True
四、关于参数中gl模块
准备工作:
所有的参数和常量接口自动化框架图片大全我们会整理到这个文件中,因为设计业务和服务密码、数据库密码这里展示一部分。
代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 脚本功能:全部变量
import time
import uuid
CASE_NUMBER = 0 # 用例编号
CASE_NAME = 1 # 用例名称
CASE_DATA = 2 # 用例参数
CASE_URL = 3 # 用例接口地址
CASE_METHOD = 4 # 用例请求类型
CASE_CODE = 5 # 用例code
CASE_HEADERS = 6 # 用例headers
SQL_ROW = 0 # 预执行SQL的行号
SQL_COL = 1 # 预执行SQL的列号
五、写一个run文件:只是用来执行的,业务和代码剥离。
代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 验证包:接口测试脚本
import sys
import core.tezLog as log
import function.common as common
logging = log.getLogger()
"""1.外部输入参数"""
path = sys.path[0] # 当前路径
module = sys.argv[1] # 服务模块名
url = sys.argv[2] # 服务地址
host = sys.argv[3] # 数据库地址
user = sys.argv[4] # 数据库用户名
password = sys.argv[5] # 数据库密码
db = sys.argv[6] # 数据库名称
"""2.根据module获取Sheet"""
logging.info("-------------- Execute TestCases ---------------")
sheet = common.get_excel_sheet(path + "/" + common.filename, module)
"""3.数据准备"""
logging.info("-------------- Prepare data through MysqlDB --------------")
sql = common.get_prepare_sql(sheet)
common.prepare_data(host=host, user=user, password=password, db=db, sql=sql)
"""4.执行测试用例"""
res = common.run(sheet, url)
logging.info("-------------- Get the result ------------ %s", res)
"""这里的res是接口自动化框架图片大全我们平滑升级的时候需要返回结果为TRUE才会继续下面走。"""
六、查看测试报告(部署到jenkins会通过控制台查看)

接口自动化测试如果选择java语言会用哪些框架?

接口自动化:
如果是那种http协议的接口
那么第一种接口自动化框架图片大全,使用eclipse 自己封装下httpclient 接口自动化框架图片大全,然后自己写java脚本进行接口测试 这种要麻烦点
第二种,使用jmeter工具,这个是专门针对http接口的进行性能以及接口测试工具

北大青鸟设计培训:接口自动化测试框架?

关于自动化测试项目中会分成许多的不同的测试模块接口自动化框架图片大全,而今天我们就一起来了解一下接口自动化框架图片大全,关于接口的自动化测试框架都有哪些比较常见的类型。
下面南宁java课程http://www.kmbdqn.cn/就开始今天的主要内容吧。
需求:1、接口编写方便。
2、方便调试接口。
3、支持数据初始化。
4、生成测试报告。
5、支持参数化。
robotframework优点关键字驱动,自定义用户关键字。
支持测试日志和报告生成。
支持系统关键字开发,可扩展性好。
支持数据库操作。
缺点接口测试用例写起来不简洁。
需要掌握特定语法。
结果:不考虑,没人愿意这么写接口用例。
JMeter优点支持参数化不需要写代码缺点创建接口用例效率不高。
不能生成查看每一个接口执行情况的测试报告。
总结:不考虑,接口编写不方便,主要是不能生成测试报告,如果做接口性能的话可以考虑。
HttpRunner优点:基于YAML/JSON格式,专注于接口本身的编写。
接口编写简单生成测试报告接口录制功能。
缺点:没有编辑器插件对语法校验,容易出错。
官方文档没有详细的说明。
扩展不方便。

自动化测试框架有哪几种?

冒昧的说一句接口自动化框架图片大全,您这个问题问的可能比较大。
因为从自动化测试角度讲的测试框架有很多种接口自动化框架图片大全;而且并没有什么固定的条条框框。全部是根据测试需要及公司产品开发现状进行搭建的。从通俗的 整体的角度讲只要满足:测试输入(脚本编写)-》测试执行-》结果输出 这种模式的都可称之为自动化测试框架。
而从不同的角度分析框架又可根据不同筛选条件分为多类:
如:1.脚本语言方面分析接口自动化框架图片大全,很多种语言提供了多种自动化测试的基础框架:
1)ruby的Watir开源自动化测试框架、Test::Unit单元测试框架、开源测试框架Ruby on Rails 等等
2)java的junit回归测试框架、Mockito、TestNG、easyb等等等等
3)Perl的perl Mechanize、Test::Base数据驱动测试等等等等
4)Python的PyUnit、PAMIE等等等等
5)基于Tcl/Tk的swift 自动化测试框架,ATF/VTP自动化测试框架
以上仅列举自动化测试常用的几种脚本语言的测试框架接口自动化框架图片大全,当然不仅仅是这些
2.从测试体系角度分又分为:
1)单元测试框架.
2)系统测试框架
3)集成测试框架
。。。。。
3.基于测试目的的划分
1)GUI自动化测试框架
2)网络协议自动化测试框架
3)基于web的自动化测试框架
。。。。。
4.从实现深度和角度分类:
1)简单的录制回放测试框架(或工具)
2)关键字驱动的测试框架
3)关键字驱动及结果输出分析的自动化测试框架
4)智能匹配功能及具备快速脚本生成功能的自动化测试框架
。。。。。。
5.从测试工具角度分:
有些测试工具是许多大型公司结合了很多测试经验及数据后进行开发的自动化测试软件或者称之为测试管理软件的自动化管理部分及自动化测试部分;也有人称之为自动化测试框架或自动化测试工具。比如QTP;LoadRunner;Quality Center、selenium等等。都具有一定的自动化测试及管理功能。
所以总的来看,测试框架分为很多种;不知提问者问的是哪个具体方面的。
笔者水平有限,仅能做个基本介绍,希望能有所帮助。也祝愿所有从事自动化测试相关工作的同志事业顺利。欢迎沟通交流 关于接口自动化框架图片大全和接口自动化设计的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 接口自动化框架图片大全的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口自动化设计、接口自动化框架图片大全的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解如何在低版本的Spring中快速实现类似自动配置的功能
下一篇:测试面试接口自动化框架(自动化测试框架面试题)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~