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

网站推广软件推荐湖南湘信建设工程有限公司网站

网站推广软件推荐,湖南湘信建设工程有限公司网站,建设银行网站 购买外汇,企业为什么要建站大家在接口测试的过程中#xff0c;很多时候会用到对CSV的读取操作#xff0c;本文主要说明Python3对CSV的写入和读取。下面话不多说了#xff0c;来一起看看详细的介绍吧。 1、需求 某API#xff0c;GET方法#xff0c;token,mobile,email三个参数 token为必填项mobil… 大家在接口测试的过程中很多时候会用到对CSV的读取操作本文主要说明Python3对CSV的写入和读取。下面话不多说了来一起看看详细的介绍吧。 1、需求 某APIGET方法token,mobile,email三个参数 token为必填项mobile,email 必填其中1项mobile为手机号,email为email格式 2、方案 针对上面的API在做接口测试时需要的测试用例动辄会多达10, 这个时候采用数据驱动的方式将共性的内容写入配置文件或许会更合适。 这里考虑把API、参数、以及预期结果预行在格式化的CSV里保存利用csv组件从CSV里读取URL、参数以及预期结果Requests组件发起请求将响应结果与预期结果进行比对最后把比对结果写到结果CSV。 流程如下图  3、实现 1、在上代码之前先安装好如下几个组件 csv  读写CSV文件jsonrequests  发起请求获取响应结果unittest    测试用例调度 2、data.csv(本示例选取部分用例 3、reader_CSV函数代码示例 import csvimport jsonimport requestsimport timeimport unittestdef readCSV(self,filename)::param filename: 需要读取的数据文件:return: [{data1},{data2}...]datas []try:#以DictReader的方式读取数据文件方便与json互做转换with open(filename,r) as csvfile :#从文件里读取到的数据转换成字典列表的格式reader csv.DictReader(csvfile)for row in reader:data {}data[id] row[id]data[url] row[url]data[token] str(row[token])data[mobile] row[mobile]data[email] row[email]data[expect] json.dumps(row[expect]) \if isinstance(row[expect],dict) \else row[expect] #如果expect读取出来的不是json则取其原值否则转为json格式保存到result里datas.append(data)return datas#如果文件找不到返回空的datasexcept FileNotFoundError:print(文件不存在,filename)return datas4、request_URL函数示例(包含GET请求和POST请求2个方法) def get_request(self,url,params):通用的调用GET接口方法:param url:string 接口路径:param params:{:,:} 需要传入的参数:return: response响应体print(调用API...)r requests.get(url,paramsparams)print(r.text)return rdef post_request(self,url,params):通用的调用POST接口方法:param url: string 接口路径:param params: {:,:} 需要传入的参数:return:response响应体print(调用API...)r requests.post(url,paramsjson.dumps(params)) #post的方法必须用json.dumps()转化成json格式print(r.text)return r5、assert_Result函数示例 def assertResult(self,except_value,real_value):校验样本字符串中是否包含指定字符串:param except_value: string 指定字符串:param real_value: string 样本字符串:return: Boolean 样本中包含指定字符串返回True,否则返回Falseifsuccess except_value in str(real_value)return ifsuccess6、write_CSV函数示例 def writeCSV(self,filename,results):写入csv文件指定内容:param filename: string 需要写入的文件名称:param results: [{data1},{data2},...] 写入的内容:return: 无print(写文件:,filename)#以DictWriter的方式写文件with open(filename,w) as csvfile:headersid,url,token,mobile,email,expect,real_value,assert_value.split(,)writer csv.DictWriter(csvfile,fieldnamesheaders)#写表头writer.writeheader()#写数据if results.__len__() 0 :for result in results:writer.writerow(result)csvfile.close()7、test_interface1函数示例 def test_interface1(self):#指定读取的数据文件名称data_file ../data/data.csv#指定最终结果生成的数据文件名称result_file ../data/result_{}.csv.format(str(time.time()).split(.)[0])#读取指定文件的数据datas self.readCSV(data_file)#数据文件有内容则调用接口否则直接测试结束if datas.__len__() 0:results []#获取数据文件里的每一行for testcase in datas :result {}result[id] testcase[id]result[url] testcase[url]result[token] testcase[token]result[mobile] testcase[mobile]result[email] testcase[email]result[expect] testcase[expect]#组装参数params {token:result[token],mobile:result[mobile],email:result[email]}#调用API接口获取响应结果real_value self.get_request(result[url],params)#调用assert方法检查预期结果是否在响应结果中存在assert_value self.assertResult(result[expect],real_value.text)result[real_value] real_value.textresult[assert_value] assert_value#获取每一行里的所有字段以及实际结果和验证结果results.append(result)#执行完所有记录后将所有结果写入result.csvself.writeCSV(result_file,results) #写入csv文件print(测试结束) 8、result_1523956055.csv(本示例中的测试结果请忽略 总结 python封装了很多方法对于测试来说开发速度相对较快接口自动化测试如果采用CSV管理的数据驱动方式使用csvrequests是测试开发不容错过的利器之一。 最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你
http://www.hkea.cn/news/14514900/

相关文章:

  • 网站推广设计做哪些网页游戏大全双人
  • 网站帮助页面设计科技布是什么面料
  • 威海网站建设价格网站原型图怎么做
  • 手机网站尺寸大小网站认证
  • 商丘网站推广渠道怎么做网页动图
  • 如何用模板建设网站创建网站英语
  • 南京网站建设策划方案php网站建设个人总结
  • 邯郸高端网站建设广州市建设集团网站首页
  • 无法登陆建设银行网站apt方式 安装wordpress
  • 注册自己的网站怎么注wordpress iframe框架引用插件
  • 如何给网站文字做超链接重庆做商城网站建设
  • 开源镜像网站怎么做大屏手机网站
  • 重庆智能建站模板新手如何做网站维护
  • 网站怎么做漂亮点网站开发竞争对手分析
  • 做个网站多少钱怎么接广告新民电子网站建设哪家好
  • 上海网站建设公司指南域名网站排名
  • 全国网站建设汇编小程序app分销网站建设
  • 网站制作小工具淘宝美工做倒计时图片网站
  • 什么是网站维护中wordpress最好选择
  • 沈阳市建设监理协会网站做网站的标题图片
  • 做美食网站首页怎么做原有网站已备案 怎么做接入
  • 高端网站哪种好做自媒体可以搬运国外网站新闻吗
  • 网站建设站长学做网站最好的网站
  • 手机网站建设设计公司网页设计师就业趋势
  • 常州网站排名提升wordpress 营销模板下载
  • 电子政务门户网站建设公司小程序怎么制作
  • 有电脑网站怎么做手机网站蓬莱做网站那家好
  • 视频网站开发周期网络营销推广方式包括?
  • 广州网站优化工具科技创新的重要性和意义
  • 目前搜索引擎排名wordpress优化 春哥