一:pycharm 快捷键使用
在使用 pycharm 时,经常会需要多行代码同时缩进、左移,pycharm 提供了快捷方式
1、pycharm 使多行代码同时缩进
鼠标选中多行代码后,按下 Tab 键,一次缩进四个字符
2、pycharm 使多行代码同时左移
鼠标选中多行代码后,同时按住 shift+Tab 键,一次左移四个字符
3、代码选中完成之后只需要按下键盘上的快捷键 ctrl+/就可以将所有选中的代码都给注释掉,这
个注释的方式是单行注释,会在所有的代码前面都加上一个#号。
4、ctrl + B 查看函数源码
5、 alt+enter 自动导包
二:python 自动化框架结构
三: 依赖库 requests
1、requests 安装
requests 库是用来发送 http 协议请求以及接受 http 协议响应的第三方库,主要用于接口自动化
pip install requests
2:requests 库的全面了解
requests.get(url,params=None,**kwargs) 发送 get 请求
url 是请求路径,params 传递参数,**kwargs 可变长度字典用于传递其他参数
requests.post(url,data=None,json=None,**kwargs) 发送 post 请求
url 是请求路径,data 传递参数,json 传递参数,**kwargs 可变长度字典用于传递其他参数
在 postman 中
1、请求的参数是:form-data,代表这是表单传递参数或者文件上传,type=file
Content-Type: multipart/form-data
2、请求的参数是:X-www-form-urlencoded,代表这是表单传递,(k1=v1&k2=v2)
Content-Type:application/X-www-form-urlencoded
3、请求的参数是:raw,代表原始格式传参
text:text/plain
javascript:appliction/javascript
json:application/json
html:text/html
xml:application/xml
4、请求的参数是:binary,代表原始格式参数。
Content-Type:application/octent-stream
data 传参表示表单传参:默认的请求头是 Content-Type: application/x-www-form-urlencoded,参数
格式:(k1=v1&k2=v2),参数是纯键值对的 dict,如(key1:value1,key2:value2)
data 传参表示文本传参:默认的请求头:text/plain 。参数:str 类型
json 传参表示 json 传参:默认的请求头:application/json,参数是 dict 类型,可以不是纯键值对
requests.put(url,data=None,**kwargs) 发送 put 请求
requests.delete(url,**kwargs) 发送 delete 请求
requests.request(method,url,**kwargs) 发送所有请求(所有请求的底层方法)
调用:session.request()
method:请求方式
url:请求路径
params=None, get 请求传参
data=None ,post 请求和 put 请求传参
headers=None, 请求头
cookies=None,cookies 信息
files=None, 文件上传
auth=None,鉴权
timeout=None,超时
allow_redirects=True, 是否允许重定向
proxies=None,设置代理
hooks=None, 钩子函数
stream=None,文件下载
verify=None, ssh 认证
cert=None,CA 证书
requests.session() 创建会话对象
3、全面认识 response 对象
res.text 返回接口的文本信息
res.content 返回 bytes 字节类型数据
res.json() 返回字典格式的数据
res.status_code 返回状态码
res.reason 返回状态信息
res.cookie 返回 cookie 信息
res.headers 返回响应头
res.request.xxx 返回请求的数据
四:pytest 框架
pytest 用例管理框架的作用?
发现测试用例: 从多个 py 文件中通过默认的规则去找测试用例
执行测试用例:顺序和条件
判断测试结果:断言
生产测试报告:html、allure
1、pytest 的插件
pytest-html 生成简易报告
pytest-xdist 多线程
pytest-ordering 控制测试用例的执行顺序
pytest-rerunfailures 失败用例重跑
pytest-base-url 基础路径的配置
allure-pytest 生成 alure 报告
将上面的插件名放到 requirements.txt 中,不要中文,并且把 requirements.txt 放到项目根目录
安装
pip install -r requirements.txt
2、pytest 发现测试用例的规则
1、 模块名必须以 test_开头或是_test 结尾
2、 测试类必须以 Test 开头,并且不能有 init 方法
3、 测试方法以 test_开头
3、 pytest 的运行方法
1、 命令行的运行方式运行命令:
pytest
参数:
-v 输出更加详细的信息
-s 输出调试信息
-n 多线程运行
--reruns 失败用例重跑
--html 生成简易报告
-x 出现一个用例失败就停止测试
--maxfail 出现几个用例失败就停止测试
-k 执行的测试用例的名称中包含某个字符串的测试用例
运行测试子集
运行单个目录:pytest tests/func
运行单个测试文件/模块 pytest tests/func/test_add.py
运行单个测试函数 pytest tests/func/test_add.py::test_one
运行单个测试类 pytest tests/func/test_add.py::TestAdd
运行测试类中的单个测试方法 pytest tests/func/test_add.py::TestAdd::test_one
2、 主函数的运行方式
将 run.py 放在项目根目录下
if __name__ == '__main__':
pytest.main()
3、 通过 pytest.ini 文件运行
注意:
一般放在项目的根目录下,名称必须是 pytest.ini
编码格式为 gb2312,有中文的时候
pytest.ini 可以改变默认的测试用例规则
不管是命令行运行还是主函数运行都会加载这个配置文件
[pytest]
addopts = -vs -m "smoke"
testpaths = ./testcases
python_files = test_*.py
python_classes = Test*
python_functions = test_*