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

网站构建建设制作平台施工企业负责人是指企业的

网站构建建设制作平台,施工企业负责人是指企业的,wordpress footer copyright,健康码更新视频在前面的知识基础上介绍了在接口自动化测试中#xff0c;如何把数据分离出来#xff0c;并且找到它的共同点#xff0c;然后依据这个共同点来找到解决复杂问题的思想。我一直认为#xff0c;程序是人设计的#xff0c;它得符合人性#xff0c;那么自动化测试的#xff0… 在前面的知识基础上介绍了在接口自动化测试中如何把数据分离出来并且找到它的共同点然后依据这个共同点来找到解决复杂问题的思想。我一直认为程序是人设计的它得符合人性那么自动化测试的就是需要在复杂世界的背后找到一个共同的点然后把复杂的程序进行简单化。再次看如下的截图 在这个图片中可以看到这是不同的接口请求的数据那么我们在自动化测试中就得定位到具体的行和列才可以找到这条数据那么就涉及到一个问题这个问题就是在一个excel中有太多的数据如果精确到行和列某些时候会出现混乱按照行和列的方式并不是解决问题的最佳思想。在接口测试中客户端发送请求到服务端的过程中除了请求方法和请求头外必须要带的是请求地址和请求参数那么也就是说在接口自动化测试中应该更多的去关心请求地址和请求参数这部分在如上截图中可以看到共同点是虽然有很多的数据但是请求地址永远是在第二列请求数据永远是在第三列这个数据不管它是在那一行这个是不变的那么读取数据的思想方式是 1、首先读取excel中的数据读取XX行的数据并且返回 2、读取XX行中请求地址数据 3、读取XX行中请求参数的数据 4、对post请求进行二次封装让调用的时候只传请求地址和请求参数至于请求头超时处理以及cookie这些信息在二次封装的时候直接处理好 先看对excel数据中对数据的处理代码 #!/usr/bin/env python #-*-coding:utf-8-*-#author:wuyaimport  os import  xlrd import  jsonclass Helper(object):公共方法def base_dir(self,filePath,folderdata):返回公共路径:parameter folder:文件夹:parameter filePath:文件名称return os.path.join(os.path.dirname(os.path.dirname(__file__)),folder,filePath)def readExcel(self,rowx,filePathdata.xlsx):读取excel中数据并且返回:parameter filePath:xlsx文件名称:parameter rowx:在excel中的行数bookxlrd.open_workbook(self.base_dir(filePath))sheetbook.sheet_by_index(0)return sheet.row_values(rowx)def getUrl(self,rowx):获取请求地址:parameter rowx:在excel中的行数return self.readExcel(rowx)[1]def getData(self,rowx):获取数据并且返回:parameter rowx:在excel中的行数return  json.loads(self.readExcel(rowx)[2]) 接着看post请求的二次封装代码 import  requestsdef getHeaders():返回请求头headers {Content-Type:application/json; charsetUTF-8,Parkingwang-Client-Source:ParkingWangAPIClientWeb}return headersdef post(url,data):对post请求方法进行二次封装:parameter url:请求地址:parameter data:请求参数rrequests.post(urlurl,jsondata,headersgetHeaders(),timeout6)return r 解决了如上问题后接着来思考另外一个问题基于业务的来思考 比如添加一个用户然后在删除该用户那么删除该用户的时候必须要带的参数是用户的ID用户的ID获取的方式是在添加用户之后获取用户的ID步骤具体为 1、添加用户 2、查询用户获取用户的ID并且返回这个用户的ID 3、删除用户把这个返回的用户ID当作参数传进去 见删除用户的数据见截图 虽然在数据中有用户ID的参数但是这个用户ID的参数是写死的实际接口测试中用户的ID参数是动态的因为每次添加用户之后用户的ID是不同的那么如何可以做到删除用户的时候这个用户的ID就是创建用户之后拿到的最新的用户的ID了处理的思路是 1、读取删除用户的请求数据 2、把读取的数据是字符串类型通过反序列化的形式转为字典的数据类型 3、成为字典的类型后对字典中的参数用户ID进行赋值值为添加用户之后获取的用户ID 4、对字典赋值后然后返回字典 5、调用删除用户接口的时候请求参数直接调用对用户ID赋值后的方法 6、这样就可以保证用户ID与创建后的用户ID数据是一致的 通过如上的思路可以很好的解决了动态数据的处理以及数据关联性的处理在Jmeter测试工具中使用的方案是后置处理器中的正则表达式提取器见python实现如上的代码 #!/usr/bin/env python #-*-coding:utf-8-*-#author:wuyaimport  unittest import  requests import  time as t import  os import  jsonfrom page.user import * from utils.helper import *class TestUserApi(unittest.TestCase,Helper):classmethoddef setUpClass(cls):t.sleep(1)classmethoddef tearDownClass(cls):passdef statusCode(self,r):对HTTP状态码和业务状态码校验self.assertEqual(r.status_code,200)self.assertEqual(r.json()[status],0)def test_user_api_001(self):登录业务:登录系统rpost(self.getUrl(1),self.getData(1))self.statusCode(r)self.assertEqual(r.json()[data][name],666a666666)with open(self.base_dir(token),w) as f:f.write(r.json()[data][token])propertydef getToken(self):获取登录成功后的tokenwith open(self.base_dir(token),r) as f:return f.read()def setToken(self,rowx):对excel中的请求参数token重新赋值:parameter rowx:在excel中的行数dict1self.getData(rowx)dict1[token]self.getTokenreturn dict1def test_user_api_002(self):登录业务:查看登录成功后的用户信息rpost(self.getUrl(2),self.setToken(2))self.statusCode(r)self.assertEqual(r.json()[data][username],6666666666)def test_user_api_003(self):用户管理业务:添加用户rpost(self.getUrl(3),self.setToken(3))self.statusCode(r)def test_user_api_004(self):用户管理业务:用户查询rpost(self.getUrl(4),self.setToken(4))self.statusCode(r)self.assertEqual(r.json()[data][records][0][name],666666)propertydef getUserID(self):获取用户的IDr post(self.getUrl(4), self.setToken(4))return r.json()[data][records][0][id]def setTokenUserID(self,rowx):对excel中的请求参数token,用户ID重新赋值:parameter rowx:在excel中的行数dict1self.getData(rowx)dict1[token]self.getTokendict1[id]self.getUserIDreturn dict1def test_user_api_009(self):用户管理业务:删除用户r post(self.getUrl(7), self.setTokenUserID(7))self.statusCode(r)if __name__ __main__:unittest.main(verbosity2)
http://www.zqtcl.cn/news/30147/

相关文章:

  • 青岛路桥建设集团有限公司网站购物商城网站的运营
  • 网站开发工程师工作职责wordpress设置网站地图
  • 企业网站开发服务合同信誉好的做网站
  • 搭建网站一般要多少钱网站系统怎么做的
  • 北京建站wordpress如何修改上传目录
  • 自助建站程序网站为什么要seo?
  • 网站建设所学内容有没有教做网站实例视频
  • 四川省建设厅门户网站网站 微信认证
  • 企业网站制作公司24小时接单wordpress一键分享代码
  • 建设行业个人云网站seo查询系统源码
  • 做商业广告有什么网站好推销的郑州企业网站排名优化
  • 交通网站建设鄂州网站设计制作
  • 用什么软件做公司网站html炫酷特效代码
  • 网站这么做怎样保存网站资料做证据
  • 工业网站开发商asp.net 网站计数器
  • dnf做任务解制裁的网站网站做优化好还是推广好
  • 网站开发目的纵横seo
  • 网站建设 昆明网站建设经济可行性分析
  • 宝安专业网站设计公司商标设计图案免费
  • 建设银行网站怎么预约纪念币施工企业资质新规定
  • 网站线框图软件莒县网站建设公司
  • 网站开发费 会计科目php mysql网站开发试题a
  • 凡科网站怎么做友情链接做网站和做网页有什么区别
  • 商丘网站建设做企业网站步骤
  • 网站 子域名做网站项目的流程
  • 手工做衣服网站中国人做跨电商有什么网站
  • 手机网站制公司网站开发策划书
  • 天猫网站设计一键制作短视频
  • 茂名整站优化个人可以做哪些网站
  • 网站建设初步规划书工业设计优秀作品