• 0
  • 0
分享
  • python 读取 Excel 自动化执行测试用例——软件测试圈
  • 恬恬圈 2022-12-12 16:49:11 字数 3142 阅读 2594 收藏 0

 接口请求代码构建

  import requests
  from random import randint
  import xlrd
  import json
  class My_request(object):
      # 对返回值进行处理
      def __str__(self):
          # return "%r"%self.connect()
          return str("%r"%self.connect())
      # 获取表格数据
      def connect(self):
          excelDir = '../data/动画绘本馆测试用例.xls'
          # 打开Excel文件 formatting_info=True :保持原样式
          self.workBook = xlrd.open_workbook(excelDir,formatting_info=True)
          # 获取所有表名
          sheets = self.workBook.sheet_names()
          # 需要执行的sheet
          workSheet = self.workBook.sheet_by_name('测试用例2')
          # 获取一行
          # cellData = workSheet.row_values(1)
          # 获取单元格 获取的不是字符串 而是excel 格式参数
          cellData = workSheet.cell(1, 0)
          return cellData.value
      # token函数 调用函数就可获取token值 再用到新增接口
      def get_token(self):
          # 获取token
          token_urls = 'http://47.96.181.17:9090/rest/toController'
          payload = {'userName': 'J201903070064', 'password': '362387359'}
          # 发送请求 json 请求体
          res = requests.post(token_urls, json=payload)
          return res.json()['token']
      #  新增用户接口
      def add_user(self,bodyData):
          """
          :param bodyData: request body
          :return:  res data
          """
          self.addUsr_url = 'http://47.96.181.17:9090/rest/ac01CrmController'
          # 对字符串转换字典 json 串
          self.payload = json.loads(bodyData)
          # 对手机号进行参数化
          self.payload['aac030'] = f'134{randint(11111111,99999999)}'
          self.header_addusr = {'Content-Type': 'application/json', 'X-AUTH-TOKEN': self.get_token()}
          # # 发送请求 url 请求体
          res = requests.post(self.addUsr_url,json=self.payload,headers = self.header_addusr)
          self.rest = res.json()
          # 打印输出结果 是否注册成功
          print(res.json())
          return res.json()
      def write_index(self,datas):
          from xlutils.copy import copy
          # 对表复制 原始的测试用例不会改变
          newWoekBook = copy(self.workBook)
          # 取拷贝的excel的sheet 下标
          newSheet = newWoekBook.get_sheet(1)
          # 写入数据 第一行第一列
          newSheet.write(1, 1, datas)
          # 保存新生成的 excel对象
          newWoekBook.save('../data/res.xls')
      def write_in(self):
          # 如果已经有数据了 就需要对原表进行复制
          if self.rest['message'] == '成功':
              info = 'pass'
              self.write_index(info)
          else:
              info = 'fail'
              self.write_index(info)
  if __name__ == '__main__':
      re = My_request()
      re.add_user(re.connect())
      re.write_in()

  测试结果写入到Excel

  文件不存在 -- 新建excel -- 写 -- xlwt

  文件本身存在--另存为写入excel--xlutils

  def write_index(self,datas):
      from xlutils.copy import copy
      # 对表复制 原始的测试用例不会改变
      newWoekBook = copy(self.workBook)
      # 取拷贝的excel的sheet 下标
      newSheet = newWoekBook.get_sheet(1)
      # 写入数据 第一行第一列
      newSheet.write(1, 1, datas)
      # 保存新生成的 excel对象
      newWoekBook.save('../data/res.xls')
  def write_in(self):
      # 如果已经有数据了 就需要对原表进行复制
      if self.rest['message'] == '成功':
          info = 'pass'
          self.write_index(info)
      else:
          info = 'fail'
          self.write_index(info)



作者:老祝头    

来源:http://www.51testing.com/html/25/n-4477625.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 第一章 软件工程概论软件:是计算机程序、方法、规则、相关的文档以及运行计算机系统时所必需的数据的总和(狭义定义:软件=程序+数据+文档)软件的特性:软件是复杂的、软件是不可见的、软件是不断变化的和软件质量难以稳定。软件的质量特性:功能性、可靠性、易用性、效率、维护性、可移植性。软件危机:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机的主要表现:对软件开发成本和进度估计常常很不准确用户对"已完成"的系统不满意的现象经常发生软件产品的质量往往靠不住软件常常是不可维护的软件成本在计算机系统总成本所占的比例逐年上升软件危机产生的主要原因:软件日益复杂和庞大软件开发...
            0 0 3146
            分享
          • 1.接口测试的介绍1.1接口测试的定义接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。1.2接口的类型①程序内部的接口②系统对外的接口1.3接口的分类①webService接口,走soap协议通过http传输,请求报文和返回报文都是xml格式的,在测试的时候用通过工具才能进行调用、测试。②http api接口,走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常...
            0 0 1418
            分享
          •   很多对软件测试行业感兴趣的小伙伴,都听说过兼容性测试,但却不太理解兼容性测试是干啥的。除了我们日常经常听到的手机版本兼容,游戏升级迭代,其实兼容性测试还包括很多其他方面。今天,我们就一起来盘一盘什么是兼容性测试吧~  什么是兼容性测试?  我们先来想一下,什么叫兼容。也就是说放在不一样的载体,或者不一样的环境里,这个程序都必须能正常运转,这个叫兼容。所以,也就不难理解什么叫兼容性测试了吧~  根据度娘官方的解释:软件兼容性测试是指,检查软件之间能否正确地进行交互和共享信息。  随着用户对来自各种类型软件之间共享数据的能力,和充分利用空间同时执行多个程序能力的要求,测试软件之间能否协作变得越...
            0 0 1050
            分享
          •   什么是软件测试缺陷?测验行业的习惯叫法,即Bug管理。在软件或程序开发过程中,编程人员编码、系统设计结构不合理等都会导致错误报错,影响系统程序的正常运行。并且软件测试的目的之一,就是通过手工测试或者自动测试工具来执行操作,测试发现这些Bug,并对代码进行修复。  一、软件测试缺陷分类  1、网络环境;如果测试过程中,外部网络不稳定,也有可能造成软件测试缺陷。例如性能测试对网络环境的配置要求比较高,网络出现延迟、卡顿等都会影响测试结果。  2、硬件环境;由于磁盘空间内存不足、CPU运行速度等造成的系统瓶颈问题。对操作系统、服务器等硬件配置的测试也可能出现偏差。  3、数据问题;由于不同环境i...
            0 0 4338
            分享
          •   美国国家公路交通安全管理局(National Highway Traffic Safety Administration)发现福特汽车召回装有故障后视摄像头的车辆的时间过长,且未能"提供准确、完整的召回信息",福特已同意支付可能高达 1.65 亿美元的罚款。 这项处罚是史上第二大罚金,仅次于高田公司被勒令支付的 2 亿美元。  最初于2020年发布的此次召回影响了2019年以后的60多万辆汽车,包括福特F-150、野马、Escape、Ranger和Expedition,以及林肯Nautilus和林肯Corsair。 受影响车辆的后视摄像头有时会显示"空白或扭曲...
            0 0 105
            分享
      • 51testing软件测试圈微信