一。
接口关联
1.思考为什么要进行接口关联
下一个借口需要上一个接口的数据
2.怎么做
以unittest框架为例,我这里思考这与配置文件配合使用。配置文件中写入可以产生下个接口依赖信息的数据,在setupClass中调用并返回依赖数据给下个接口使用。
@ddt.ddt
class TestLogin(unittest.TestCase):
def setUp(self):
#每运行一次就会调用一次
self.db=db_handler()
def tearDown(self):
#每运行一次就会调用一次
self.db.db_close()
#使用装饰器@classmethod类方法使其可以在类中调用
@classmethod
def setUpClass(cls) -> None: #在开始只运行一次setClass中的方法
#里面放接口关联的数据
cls.token=DanyuanMiddle.token
cls.member_id=DanyuanMiddle.member_id
def tearDownClass(cls) -> None: #在最后会只运行一次tearDownClass中的方法
pass
3.使用@property装饰器,使函数添加为 类属性
例子:
class Add:
@property
def math_add(self):
c=1+2
return c
if __name__ == '__main__':
#不创建实力进行调用,可以看到的是只返回了对象
print(Add.math_add)
#创建实力进行调用,返回了实际值
print(Add().math_add)
运行结果:
二。
1.思考同一游标下查找同一条数据(第一次查询前不做操作,第二次查询下进行变更)为何拿不到最新的值?
如果共同使用一个游标进行操作,相当于你在操作一个excel文档在进行关闭的使用需要把当前已经做了修改的内容进行保存处理。(举例不是很形象)
2.如何解决
def query_one(self,sql):
#每次在执行sql前使用commit
self.conn.commit()
self.cursor.execute(query=sql)
return self.cursor.fetchone()
三。jsonpath
多层嵌套的json格式数据一键获取
1)安装
pip install jsonpath
2)使用
import jsonpath
json_1={
"data":{"json_data":
{
"member":18623660796,
"pwd":123456
}
}
}
#获取子孙级别的数据
print(jsonpath.jsonpath(json_1,"$..member"))
#获取父级的数据
print(jsonpath.jsonpath(json_1,"$.data"))
运行结果:
注意:
1.若找不到数据会返回‘False’
2.若获取的数据名称一样,默认取最后一个数据
3.若获取到数据直接返回 数据的列表
四.浮点数的精度运算:decimal
1.为什么要使用:
print(0.1+0.2 == 0.3)
运行结果:
运用:
from decimal import Decimal
print(Decimal("0.1")+Decimal("0.2") == Decimal("0.3"))
运行结果: