接口自动化框架

一、requests库

1、header主要存放cookie,token等信息,body主要存放post的数据

2、requests库使用urllib3,多次请求使用同一个socket,减少消耗

3、python的join函数:语法:'sep'.join(seq)  以sep作为分隔符,将seq所有的元素合并成一个新的字符串

参数说明:sep为分隔符,可以为空;seq:要连接的元素序列、字符串、元组、字典

4、json.dumps:将字典形式转化为字符串(用indent参数格式化输出);json.loads:将字符串转化为字典形式

如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到json.dump();json.load()用于从json文件中读取数据.

5、三种方式:

(1)get:这种拼接在url后面的参数传递方式优点:信息传递,页面到页面的跳转方便;缺点:明文显示,安全性差,浏览器对URL长度有限制

(2)post:安全性强,可以传递大量参数。

通过Patch方法,修改名称和邮箱;通过Post增加邮箱

6、HTTP协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器

7、request跟response:

(1)request取出请求信息,response用来添加返回给传递给客户端信息

 

 8、get请求过程

9、使用 har2case 转换脚本时默认转换为 JSON 格式,加上 -2y 参数后转换为 YAML 格式。两种格式完全等价,YAML 格式更简洁,JSON 格式支持的工具更丰富

>>har2case demo-quickstart.har -2y(在.har文件的目录中打开)

10、python中读取配置文件(包含一个或多个section有多个参数(键等于值),每个section)的模块configparser

使用方式:config=configparser.ConfigParser

(1)config.read(filename)读取文件内容

(2)config.get(section,option)获取option值,返回string/int类型

11、xlrd.open_workbook可以打开excel文件

excel = xlrd.open_workbook(filename)
sheet = excel.sheet_by_name(sheetname)  #获取sheet页的内容

12、xlrd模块中行的操作

nrows = sheet.nrows  #获取sheeet中的有效行数
sheet.row_values(rowx, start_colx=0, end_colx=None) #返回该行所有单元格数据组成的列表
sheet.row_len

13、self的含义

(1)self代表的是类的实例,而self.__class__表示类

(2)python中类的方法相互调用时,方法的前面加self

class MyClass:
    def __init__(self):
        pass
    def func1(self):
        self.common_func()  #调用类的实例
    def common_func(self):
        pass

(3)self的调用:t.prt()则python解释成Test.prt(t)

class Test:
    def prt():
        print(self)
 
t = Test()
t.prt()

(4)继承时,传入哪个类,就是哪个类的实例,而不是定义了self的类的实例

class Parent:
    def pprt(self):
        print(self)
 
class Child(Parent):
    def cprt(self):
        print(self)
c = Child()    
c.cprt()  #相当于 Chid.cprt(c)
c.pprt()   #相当于Child.pprt(c),所以self指的依然是Child类的实例,由于self中没有定义pprt()方法,所以沿着继承树往上找,发现在父类Parent中定义了pprt()方法,所以就会成功调用。
p = Parent()
p.pprt()

运行结果:
<__main__.Child object at 0x0000000002A47080>
<__main__.Child object at 0x0000000002A47080>
<__main__.Parent object at 0x0000000002A47240>

  

14、装饰器

(1)@functools.wraps(func),能把原函数的元信息拷贝到装饰器里面的func函数。函数的元信息包括docstring、name、参数列表等等

(2)

posted on 2020-02-13 11:32  ChanXM  阅读(304)  评论(0)    收藏  举报

导航