文章目录
- 9-1 python 标准库
- 1)os 模块
- 2)time 模块
- 3)urllib 库
- 4)math 库
- 9-2 python 多线程处理
- _thread 锁
- threading
- &1
- &2 重新构造Thread,run方法
- 进阶
- 9-3 python 第三方库
- 9-4 pip 依赖管理与虚拟环境
- pip
- 虚拟环境
- 9-5 python unittest 测试框架
- 1)单元测试概述
- 2)unittest框架介绍
- 断言
- 运行
- &1、&2
- &3
- &4
- 总结
- 3)HTMLTestRunner
- 9-6 pytest 测试框架
- 使用python解释器运行
- pytest.fixture
- 9-7 参数化用例
- 1)pytest 数据参数化
- string
- list
- tuple
- 2)yaml 数据参数化
- 9-8 数据驱动
- 9-9 测试报告美化与定制
- 1)生成报告
- &2
- &3
- 2)级别
- 3)截图
9-1 python 标准库

1)os 模块



2)time 模块



获取两天前的时间:

3)urllib 库
- urllib 对网络请求的库
4)math 库


9-2 python 多线程处理


并行:同一时间同时进行

并发:不同时间点交互进行
同步原语:锁等…










sleep(6):_thread 没有守护线程的概念,主线程结束,所有子线程强制结束
_thread 锁

执行多个for循环,不放在同一个循环下:为避免第二次获取锁时,第一个线程已经执行完毕解锁,导致直接退出主线程

threading
&1


0,1两个线程无执行先后顺序,不一定先开始哪一个
&2 重新构造Thread,run方法


进阶
- 原语
- 锁:解决数据的互斥访问(数据只允许一个线程访问)
- 信号量:比锁更加灵活 (锁只有True,False,信号量可设置0,1,2,3等)
9-3 python 第三方库


r.status_code
r.text
r.recoding 设置编码格式
9-4 pip 依赖管理与虚拟环境
pip



虚拟环境


deactivate退出虚拟环境
9-5 python unittest 测试框架
1)单元测试概述










2)unittest框架介绍





->None 默认返回是None


断言


Tips:清除pycharm运行记录

运行

&1、&2



&3


&4



总结

3)HTMLTestRunner




9-6 pytest 测试框架



使用python解释器运行



- pytest -v 打印执行详细信息
- pytest -k



pytest.fixture

执行测试用例前先执行fixture下函数
9-7 参数化用例


1)pytest 数据参数化

string

list

tuple

2)yaml 数据参数化









9-8 数据驱动




- 字典

- 列表嵌套字典

- 获取value值

9-9 测试报告美化与定制






1)生成报告

&2


&3









2)级别










3)截图





























