美文网首页
接口自动化-02

接口自动化-02

作者: 菜鸟平 | 来源:发表于2018-06-19 17:04 被阅读0次
前言:前文实现了接口的自动化的基本功能,从读取数据到断言,但是因业务需求,考虑到每次注册账号都需要使用新的手机号,所以本文实现替换手机号的功能。
1.创建表格api_phone填写参数key、value
image.png
2.代码

from openpyxl import load_workbook
import xlrd

class DoExcel:

    def __init__(self,excelpath):
        self.wb = load_workbook(excelpath)
        self.excelpath=excelpath
        self.sheet_apitest = self.wb.get_sheet_by_name('api_test')
        self.sheet_phone = self.wb.get_sheet_by_name('api_phone')

    #读取phone表格内容
    def Excel_phone(self):
        init_datas={}
        for index in  range(2,self.sheet_phone.max_row+1):
            key=self.sheet_phone.cell(row=index,column=1).value

            init_datas[key]=self.sheet_phone.cell(row=index,column=2).value
           # init_datas['${phone_b}']=str(int(init_datas['${phone_b}'])+1)

            return init_datas
    #修改phone表格手机号
    def modify_phone(self):
        res=int(self.sheet_phone.cell(row=2,column=2).value)
        print(res)
        self.sheet_phone.cell(row=2,column=2).value=str(res+1)
        print(self.sheet_phone.cell(row=2,column=2).value)
    #保存phone表格
    def save_excelFile(self,):
        self.wb.save(self.excelpath)


    #读取api_test表格
    def Excel_api_test(self):
        all_case_datas=[]
        for i in  range(2,self.sheet_apitest.max_row+1):
            case_data={}
            case_data["url"]=self.sheet_apitest.cell(row=i,column=1).value

            request_data=self.sheet_apitest.cell(row=i,column=2).value
            init_datas=self.Excel_phone()
            #替换request_data 中的手机号
            if request_data is not None and len(init_datas)>0:
                for key , value in init_datas.items():
                    if request_data.find(key)!=-1:
                        request_data = request_data.replace(str(key),str(value))


            case_data["request_data"]=request_data
            case_data["method"]=self.sheet_apitest.cell(row=i,column=3).value
            case_data["expected_data"]=self.sheet_apitest.cell(row=i,column=4).value
            if self.sheet_apitest.cell(row=i,column=5).value is not None:
                case_data['related_exp']=self.sheet_apitest.cell(row=i,column=5).value
            all_case_datas.append(case_data)
        return all_case_datas





a=DoExcel('/Users/xiaolongxia/PycharmProjects/api_test/text.xlsx')
print(a.Excel_api_test())
print(a.Excel_phone())
a.modify_phone()
a.save_excelFile()
3.运行结果
image.png image.png
  • 备注:使用 sheet=wb.get_sheet_by_name('frequency')方法会有错误警告所以将该方法修改为 sheet=wb["frequency"]

相关文章

  • Python接口测试-实践记录(2018.12)

    一、接口测试基础 [PPJ_01] Python接口自动化测试-学习体系归纳 [PPJ_02] HTTP基本原理-...

  • 接口自动化-02

    前言:前文实现了接口的自动化的基本功能,从读取数据到断言,但是因业务需求,考虑到每次注册账号都需要使用新的手机号,...

  • 你要的jmeter接口自动化和接口性能知识点全部在这里

    jmeter接口自动化和接口性能 1.jmeter接口所有需要自动化技术都在这里 2.接口性能

  • 接口自动化框架(Pytest+request+Allure)

    前言: 接口自动化是指模拟程序接口层面的自动化,由于接口不易变更,维护成本更小,所以深受各大公司的喜爱。接口自动化...

  • 接口测试一:接口测试流程

    接口测试一:接口测试流程 学习目标:了解接口测试自动化测试的流程接口自动化测试的流程1、需求分析:了解有有哪些接口...

  • python 进行 MD5 加密

    进行接口自动化时登录接口有进行密码加密的情况,下面介绍下 python + request 做接口自动化时如果进行...

  • 接口自动化测试的 “能” 与 “不能”

    一、接口自动化测试的 “能 “ 接口自动化的目标 • 用于项目的 API 层的 HTTP 接口的功能逻辑验证• 减...

  • 接口自动化意义

    1、接口自动化要解决的痛点 2、接口自动化利弊 3、接口自动化演进的阶段 4、线上流量回放场景 滴滴开源线上流量回...

  • 接口自动化学习路线

    接口自动化怎么做,整理了接口自动化学习路线图,希望对你有用。 接口自动化要求具备编码的能力,信息时代各种资料琳琅满...

  • Webhook触发Jmeter自动化任务

    【背景】 接口自动化与开发并行时,接口不稳定且变化较大,不适合集成到公司接口自动化平台;使用Jmeter开发的接口...

网友评论

      本文标题:接口自动化-02

      本文链接:https://www.haomeiwen.com/subject/hbtzeftx.html