接口自动化示例一

接口自动化实例 一

描述:该项目是一个聊天功能,用户需要登录后进行聊天,满足基本的功能。页面和接口存在BUG,提供接口自动化实践。
资源:实践项目
实践:登录在创建房间

示例如下

创建文件,common创建公共方法

common创建文件,创建 operation_xls.pyrequest_method.pyconfing_yaml.yaml
1.operation_xls.py,用于读取xls表中的数据 。
2.request_method.py,request请求。
3. confing_yaml.yaml,存放数据。

request_method.py的模块代码

encode = 'utf-8'

#利用 import 引入模块
import json
import os.path
import requests
import yaml
import sys

#定义函数,函数定义里变量,**args 传入的是字典模式

def request_post(url, data, **args):
    """
    post方法
    :param url:
    :param data:
    :**args 可传参headers:
    :return: list
    """
    # header = json.dumps(headers)#因为 表中 的数据是json 就不需要 dumps转换成为json
    request_post = requests.post(url=url, data=data.encode('utf-8'), headers=args['headers'])
    return request_post
def cookie_get(url, data, **args):
    """
    获取cookies的方法
    :param url:
    :param data:
     :**args 可传参headers:
    :return:
    """
    request_pos = request_post(url, data, headers=args['headers'])
    request_po = request_pos.cookies
    return request_po
def yml_cookies(yam: str, model: str, cooki):
    """
    写入yaml数据的方法
    :param yam: yaml的文件名,比如XXXX.yaml
    :param model: 以什么方式写入数据,比如 w a+
    :return: dict
    """
    #open必须传入两个参数。os.O_RDONLY是指0读
    u0 = os.open(r'D:/Desk/pythonProject/common/'+yam , os.O_RDONLY)
    with open(u0, mode=model, encoding='utf-8') as f:
        yaml.dump(cooki.get_dict(), f, encoding='utf-8')
def yaml_get(yam,model):
    """
    读取yaml
    :return: 全量
    """
    ui = os.open(r'D:\Desk\pythonProject\common\\'+yam, os.O_RDONLY)
    with open(ui, mode=model, encoding='utf-8') as f:
        get_yaml = yaml.load(f, yaml.Loader)
        print("读取yaml文件***", get_yaml)
        return get_yaml

operation_xls.py的模块代码

import xlwings as xw
def get_xls(books, sheet1, line, column):
    """
    读取xls表中全部数据
    :param books:
    :param sheet1:
    :param line: 最开始一行
    :param column: 最开始一列
    :return: 二维列表
    """
    
    #不用打开软件显示在页面。
    open_app = xw.App(visible=False, add_book=False)
    open_book = open_app.books.open(r'../config/' + books)
    open_sheet = open_book.sheets(sheet1)
    
    #used_range.last_cell,自动定位到表中的最后一行,一列。
    cell = open_sheet.used_range.last_cell
    line_1 = cell.row
    column_2 = cell.column
    read_xls = open_sheet.range((line, column), (line_1, column_2)).options(numbers=int).value
    
    #用完后,一定要保存文件,关闭软件,退出软件。
    open_book.save()
    open_book.close()
    open_app.quit()
    return read_xls


def shear_xls(books, sheet1, line, column, scope_line: 5, scope_column: 13):
    """
    读取规定的几行数据
    :param books:
    :param sheet1:
    :param line:1
    :param column:1
    :param scope_line: 下标第几个
    :param scope_column: 下标第几个,join组合【scope_line:scope_column】获取区间的数据
    :return: 二位列表
    """

	#获取固定的几行数据。
    head_xls = get_xls(books, sheet1, line, column)
    head_xks = head_xls[1:]
    list_1 = []
    for i in head_xks:
        interception = i[scope_line:scope_column]
        if interception:
            list_1.append(interception)
    print("读取指定xls数据**", list_1)
    return list_1
def write_xls(book, sheet:str, row, read_data):
    """
    在表中写入数据
    :param book:
    :param sheet:
    :param row:
    :param read_data:
    :return: 无
    """
    open_app = xw.App(visible=False, add_book=False)
    open_books = open_app.books.open(r'D:\Desk\pythonProject\config\\' + book)
    open_sheet = open_books.sheets(sheet)
    open_sheet.range(row).options(transpose=True).value = read_data
    open_books.save()
    open_books.close()
    open_app.quit()

该项目目前只支持接口和功能测试。如果转发,使用,请留言。因为我们会进行定期用户删除。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值