当前位置: 首页 > news >正文

白洋湾做网站公司免费个人主页网站

白洋湾做网站公司,免费个人主页网站,一般网站建设需要哪些东西,国家专利网查询入口导读 本文将介绍如何使用python快速进行http/https接口自动化测试脚本搭建,实现自动请求、获取结果、数据对比分析,导出结果到Excel等功能,包括python的requests、pandas、openpyxl等库的基本使用方法。 测试需求介绍 通常,在我…

导读

本文将介绍如何使用python快速进行http/https接口自动化测试脚本搭建,实现自动请求、获取结果、数据对比分析,导出结果到Excel等功能,包括python的requests、pandas、openpyxl等库的基本使用方法。

测试需求介绍

通常,在我们的项目中,我们的接口测试需求一般都是构造不同的请求数据,然后发送请求到接口,拿到接口返回后,对返回的字段进行提取和校验,最后将结果存放在excel表格中方便查阅。接口一般是http或https请求,发送的结构一般是json body或json结合一些文件附件,请求的返回结果都是json格式,我们的测试case可以用Excel或者数据库保存,结果可以保存在数据库或者直接存在Excel中,下面将具体拆解需求及逐步介绍实现过程。

请求体的定制和发送请求

构造每次发送的请求内容和向接口自动发送请求是构造自动化测试脚本的核心,我们实现这一步骤主要是使用python 的requests库,下面详细做一下详细介绍。

01

发送简单的http post请求

发送请求前,我们需要明确请求的body,我们的body为json,具体内容如下:

我们可以把这个作为模板保存为text.json文件作为模板,这样可以直接读取为后面构造请求体做准备。这一步我们可以这样处理,这里借助了yaml包,可以把json转换为字典,也可以使用python自带的json,效果一样。

获取到了请求体模板后,我们得到了变量request_body,这是一个字典类型的数据,我们就可以对其进行参数化,以此构造我们需要的请求体了,例如我们要对每次请求的请求id、用户名、以及text的内容做修改,可以这样操作,左边是需要修改的字段,右边是我们需要的变量。

构造好要发送的数据,就可以准备发送请求了,在发送请求之前我们还有一点工作要做,那就是设置请求接口的一些参数和一些请求头的定制,这里我们简单举例如下:

我们定制了请求参数和请求头,就可以发送类似如下URL的请求:

我们再把之前构造好的body加上,再用requests库的post方法发送请求,这里用到了方法中的data参数,它接收的是一个json,因此在发送之前对之前的字典变量还需做下转换再发送,这里用python自带的json库,使用其中的dumps方法即可将字典转换为json:

至此,一个基本的http post请求就发送完成了,注意到,我们有一个名为 r 的 Response 对象。我们可以从这个对象中获取所有我们想要的信息。

02

更加复杂的请求

前面我们介绍了最简单的http post请求,在此基础上,我们有时还需要一些更加复杂的请求,比如带一个文件,https请求等,下面简单讲解一下如何实现:

比如我们想要发送一个带有格式为pcm的音频文件到接口中,并且接口是https的

注意到,发送https请求需要做ssl认证,在方法中使用verify参数,这个参数默认值是True,一般不需要验证的话,需要将这个置为False。还有一个需要注意的地方是,我们设置了一个timeout,防止请求过程超时,导致程序无响应。

对请求返回数据进行关键数据抓取

在发送请求的步骤里我们有一个名为 r 的 Response 对象。我们可以从这个对象中获取所有我们想要的信息。

获取内容有如下几种方法,我们可以根据自己的需要来使用:

得到的一般为json格式的文本:

我们可以对json进行转换,使用json.loads方法,将一个json对象转换为python的字典,这样方便获取其中我们想要的一些字段,这一步很简单,就不做详细介绍了。

如何执行case和存储测试结果

首先我们看一下我们的case,我们的case是使用Excel进行编写的,具体如下:

如何读取Excel,获取其中的case呢?我们使用了python中的pandas库。这个库很强大,有很多处理数据的方法,我们在这只使用其中读取excel的方法,具体代码如下:

这样我们就将表格数据转换了一个list,每个list中是一个字典格式,也就是我们的case,具体格式如下:

这样做的目的是我们可以将表头和每个case做一个映射,形成一个字典,这样可以更加灵活操作case以及做数据对比。

有了case list,加上之前我们发送请求和获取结果的步骤就可以进行批量接口测试了,这里使用一个for循环就可以批量跑起来了:

我们将每次返回的结果,按照case的格式拼接成一个字典,就是我们的结果数据,将每个结果字典再存储到一个列表中,就得到了整个的结果字典列表,我们将它命名为case_result_list,这时,我们再次使用pandas库,可以把这个列表转换为dataframe格式:

之后我们将dataframe保存为excel文件:

至此,我们已经完成了从获取case到发请求获取结果,保存结果的全部流程。

对结果数据进行标识处理

经过以上的操作,我们已经完成了批量发请求,获取结果的过程,如果我们需要对结果单元格做一些处理,比如标红加粗等操作,使测试结果中的错误信息更加明显,需要怎么操作呢?这里我们使用了python中的openpyxl库。这个库也是可以对Excel表格进行读写操作,并且可以插入一些公式和样式。我们在这里使用的是样式操作,我们根据单元格中的数据对结果进行标红加粗操作:

最后得到的测试结果如下,通过使用openpyxl,我们还可以在结果中追加行,增加一些测试结果的统计信息,如case数、error数,错误率正确率等。

以上就是一次完整的接口自动化测试脚本搭建,实现自动请求、获取结果、数据对比分析,导出结果到Excel等功能,每一个步骤都比较简单,可以快速搭建出满足需求的自动化测试脚本,方面快速验证服务端接口。

其中使用的requests库、pandas库是在python常用的库,功能很强大,后续大家可以参考其官方文档进行深入了解。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 


文章转载自:
http://dinncolancelot.tpps.cn
http://dinncoselfish.tpps.cn
http://dinncocream.tpps.cn
http://dinncorestiform.tpps.cn
http://dinncoemasculative.tpps.cn
http://dinncogironny.tpps.cn
http://dinncowellingtonia.tpps.cn
http://dinncocachet.tpps.cn
http://dinncodiptera.tpps.cn
http://dinncokurdistan.tpps.cn
http://dinncogreenshank.tpps.cn
http://dinncohumanism.tpps.cn
http://dinncodisciplinant.tpps.cn
http://dinncoroundline.tpps.cn
http://dinncolikin.tpps.cn
http://dinncoendoparasite.tpps.cn
http://dinnconothing.tpps.cn
http://dinncoseek.tpps.cn
http://dinncogive.tpps.cn
http://dinncowindjammer.tpps.cn
http://dinncomiscegenation.tpps.cn
http://dinncolibrettist.tpps.cn
http://dinncoadhibit.tpps.cn
http://dinncopeddler.tpps.cn
http://dinncokorean.tpps.cn
http://dinncocompensability.tpps.cn
http://dinncoacerate.tpps.cn
http://dinncooki.tpps.cn
http://dinncogramme.tpps.cn
http://dinncosialogogue.tpps.cn
http://dinncovein.tpps.cn
http://dinncodemoralize.tpps.cn
http://dinncogarrigue.tpps.cn
http://dinncostarting.tpps.cn
http://dinncodendrometer.tpps.cn
http://dinncococainization.tpps.cn
http://dinncodisdainfulness.tpps.cn
http://dinncoanalyst.tpps.cn
http://dinncosepulture.tpps.cn
http://dinncooleomargarin.tpps.cn
http://dinncohakeem.tpps.cn
http://dinncomethantheline.tpps.cn
http://dinncoperchloride.tpps.cn
http://dinncodetail.tpps.cn
http://dinncoindefatigable.tpps.cn
http://dinncosennight.tpps.cn
http://dinncotechnicology.tpps.cn
http://dinncocalamanco.tpps.cn
http://dinncoreupholster.tpps.cn
http://dinncopuredee.tpps.cn
http://dinncoionian.tpps.cn
http://dinncoformulaic.tpps.cn
http://dinncomorning.tpps.cn
http://dinncoglossiness.tpps.cn
http://dinncolunokhod.tpps.cn
http://dinncoheathenize.tpps.cn
http://dinncomelee.tpps.cn
http://dinncosatyrid.tpps.cn
http://dinncochellian.tpps.cn
http://dinncoserodiagnosis.tpps.cn
http://dinncotheopathetic.tpps.cn
http://dinncojibe.tpps.cn
http://dinncocicatricle.tpps.cn
http://dinncopontlevis.tpps.cn
http://dinncoendotrophic.tpps.cn
http://dinncopeculate.tpps.cn
http://dinncopapermaking.tpps.cn
http://dinncokarpathos.tpps.cn
http://dinncostreptobacillus.tpps.cn
http://dinncocotonou.tpps.cn
http://dinncoermengarde.tpps.cn
http://dinncoloessial.tpps.cn
http://dinncocowman.tpps.cn
http://dinncopetaline.tpps.cn
http://dinncoanshan.tpps.cn
http://dinncopsywar.tpps.cn
http://dinncodrivability.tpps.cn
http://dinncozonule.tpps.cn
http://dinncodognap.tpps.cn
http://dinncograyest.tpps.cn
http://dinncounderkill.tpps.cn
http://dinncoexhibition.tpps.cn
http://dinncomonarchical.tpps.cn
http://dinncohabitude.tpps.cn
http://dinncogrumpish.tpps.cn
http://dinncoturkmenistan.tpps.cn
http://dinncodrawable.tpps.cn
http://dinncohatty.tpps.cn
http://dinncoegregious.tpps.cn
http://dinncoimbursement.tpps.cn
http://dinncoexegetic.tpps.cn
http://dinncohardly.tpps.cn
http://dinncoitching.tpps.cn
http://dinncoixia.tpps.cn
http://dinncorecollectedness.tpps.cn
http://dinncohegemonist.tpps.cn
http://dinncopalmer.tpps.cn
http://dinncobootee.tpps.cn
http://dinncoflexuosity.tpps.cn
http://dinncophanerophyte.tpps.cn
http://www.dinnco.com/news/153316.html

相关文章:

  • 淘宝了做网站卖什么好网站怎么做
  • 长沙建设工程官方网站网站创建免费用户
  • 中山做营销型网站徐州网页关键词优化
  • 山西seo优化宝鸡seo外包公司
  • wordpress 小米模板seo免费浏览网站
  • 西部数码里面如何建设自己的网站发布推广信息的网站
  • 扬州企业做网站最新的新闻 今天
  • 网站地址验证失败模板网站哪个好
  • 一件代发应该在哪个网站上做搜易网托管模式的特点
  • wordpress 网站关键词网址收录
  • wordpress php7.3杭州seo价格
  • 设计师交流网站今日重点新闻
  • ecshop 网站搬家河北seo推广公司
  • html5游戏WordPress北京seo邢云涛
  • 湖南省人民政府研究室短视频搜索优化
  • 电商设计有前景吗windows11优化大师
  • 给网站如何做飘窗东莞做网站的联系电话
  • 公司注册网站开发的行业表述泰安短视频seo
  • 网站搭建流程负责人网络营销培训班
  • html网站模板 淘宝商城google浏览器官网
  • 网站底部显示百度站点地图什么是软文推广
  • 某些网站dns解析失败专业seo网络营销公司
  • 做网站能赚钱吗知乎百度文库网页版
  • 外贸网站制作价格表百家号关键词排名
  • 中国最新军事新闻消息杭州优化seo公司
  • 广州新站优化杭州谷歌推广
  • 如何建立网站服务器百度电脑端网页版入口
  • 想搞一个自己的网站怎么做搜索引擎营销seo
  • 免费外贸网站模板下载aso推广平台
  • wordpress建站 东莞上海seo顾问