python接口自动化—封装获取常量的类

背景:

一、执行case的过程:

首先需要,我们能够通过excel获取单元格的内容。获取内容时,首先需要知道获取的数据是哪一行的,这行数据中需要拿那些参数,比如case 名称、请求url、请求方式、header、依赖id、依赖数据所属字段、请求数据、预期结果;

然后需要,判断字段、数据的合法性,将合法case组合成接口请求;

最后需要,执行case,进行断言、生成报表等。

二、问题:在执行case时需要知道需要执行哪个case,

三、解决方案:但是我们并不知道要拿哪个单元格的内容,这需要通过获取执行的是哪一行那一列的case来确认,因此需要有一个文件存放行和列的常量。

python 实现:

global_var中的属性为每一行中,每个列元素所在单元格的位置序号。

以下get_*()方法,返回的是组成case的元素,在Excel表格中的列序号。

#coding=utf-8
class global_var:
    #class_id
    Id = 0;
    url = ‘1‘
    run = ‘2‘#是否执行
    request_way = ‘3‘#请求方式
    header = ‘4‘
    class_depend = ‘5‘#依赖id
    data_depend = ‘6‘
    field_depend = ‘7‘#数据依赖所属字段
    request_data = ‘8‘
    expect = ‘9‘
    result = ‘10‘#实际结果

#获取caseid
def get_id():
    return global_var.Id
#获取url
def get_url():
    return global_var.url

def get_run():
    return global_var.run

def get_request_way():
    return global_var.request_way

def get_header():
    return global_var.header

def get_class_depend():
    return global_var.class_depend

def get_data_depend():
    return global_var.data_depend

def get_field_depend():
    return global_var.field_depend

def get_request_data():
    return global_var.request_data

def get_expect():
    return global_var.expect

def get_result():
    return global_var.result

原文地址:https://www.cnblogs.com/ansonwan/p/12080158.html

时间: 2024-10-07 14:05:06

python接口自动化—封装获取常量的类的相关文章

python接口自动化20-requests获取响应时间(elapsed)与超时(timeout)

前言 requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的. 如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间 关于requests请求的响应时间,官网上没太多介绍,并且我百度搜了下,看很多资料写的是r.elapsed.microseconds获取的,然而都是错的!!! elapsed官方文档 elapsed方法的官方文档地址:http://cn.python-requests.org/zh_CN/latest/api.ht

python接口自动化--封装和参数化及unittest用例

一. 封装登录接口并进行参数化--禅道登录为例 login函数封装了登录接口并对登录账号和密码进行参数化 is_login_sucess函数封装了判断登录成功的方法 1 #testLogin.py 2 import requests 3 4 #登录案例 5 6 def login(s,admin,pwd): 7 s = requests.session() 8 url = "http://127.0.0.1/zentao/user-login-L3plbnRhby8=.html" 9

【python接口自动化】获取根目录

将该方法放在根目录下面,在其他类中直接import 该方法. import os def getRootPath(): rootPath = os.path.dirname(os.path.abspath(__file__)) return rootPath 原文地址:https://www.cnblogs.com/zipon/p/9141487.html

python接口自动化5-Json数据处理

前言 有些post的请求参数是json格式的,这个前面第二篇post请求里面提到过,需要导入json模块处理. 一般常见的接口返回数据也是json格式的,我们在做判断时候,往往只需要提取其中几个关键的参数就行,这时候就需要json来解析返回的数据了. 一.json模块简介 1.Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式,常用于http请求中 2.可以用help(json),查看对应的源码注释内容 Encoding basic P

python接口自动化8-参数化

前言 前面一篇实现了参数的关联,那种只是记流水账的完成功能,不便于维护,也没什么可读性,接下来这篇可以把每一个动作写成一个函数,这样更方便了. 参数化的思维只需记住一点:不要写死 一.登录函数 1.s参数是session的一个实例类,先放这里,方便写后面代码 2.登录函数传三个参数,s是需要调用前面的session类,所以必传,可以传个登录的url,然后payload是账号和密码 二.保存草稿 1.编辑内容的标题title和正文body_data参数化了,这样后面可以方便传不同值 2.这里返回了

python接口自动化10-token登录

前言 有些登录不是用cookie来验证的,是用token参数来判断是否登录. token传参有两种一种是放在请求头里,本质上是跟cookie是一样的,只是换个单词而已:另外一种是在url请求参数里,这种更直观. 一.登录返回token 1.如下图的这个登录,无cookies 2.但是登录成功后有返回token 二.请求头带token 1.登录成功后继续操作其它页面,发现post请求的请求头,都会带token参数 2.这种请求其实比cookie更简单,直接把登录后的token放到头部就行 三.to

python接口自动化7-参数关联

前言 我们用自动化发帖之后,要想接着对这篇帖子操作,那就需要用参数关联了,发帖之后会有一个帖子的id,获取到这个id,继续操作传这个帖子id就可以了 一.删除草稿箱 1.我们前面讲过登录后保存草稿箱,那可以继续接着操作:删除刚才保存的草稿 2.用fiddler抓包,抓到删除帖子的请求,从抓包结果可以看出,传的json参数是postId 3.这个postId哪里来的呢?可以看上个请求url地址 4.也就是说保存草稿箱成功之后,重定向一个url地址,里面带有postId这个参数.那接下来我们提取出来

python接口自动化4-绕过验证码登录(cookie)

前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录cookie 1.登录后会生成一个已登录状态的cookie,那么只需要直接把这个值添加到cookies里面就可以了. 2.可以先手动登录一次,然后抓取这个cookie,这里就需要用抓包工具fiddler了 3.先打开博客园登录界面,手动输入账号和密码(勾选下次自动登录) 4.打开fiddler抓包工具,刷

python接口自动化6-重定向(Location)

前言 某屌丝男A鼓起勇气向女神B打电话表白,女神B是个心机婊觉得屌丝男A是好人,不想直接拒绝于是设置呼叫转移给闺蜜C了,最终屌丝男A和女神闺蜜C表白成功了,这种场景其实就是重定向了. 一.重定向 1. (Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置,从地址A跳转到地址B了. 2.重定向状态码: --301 redirect: 301 代表永久性转移(Permanently Moved) --302 redirect: 302 代表暂时性转移(Temporarily M