python笔记
2022-06-26 14:27:30 5 举报
AI智能生成
python笔记
作者其他创作
大纲/内容
接口测试问题
Non-UTF-8 code starting with '\xe5'
文件头加编码方式:
# -*- coding: utf-8 -*-
文件头加编码方式:
# -*- coding: utf-8 -*-
Allure报告
@pytest.mark.parametrize中ids 导致编码乱码解决
# 方法一:在pytest.ini添加:
[pytest]
disable_test_id_escaping_and_forfeit_all_rights_to_community_support = True
[pytest]
disable_test_id_escaping_and_forfeit_all_rights_to_community_support = True
# 在test_case目录下新建config.py文件:
def pytest_collection_modifyitems(items):
for item in items:
item.name = item.name.encode("utf-8").decode("unicode_escape")
item._nodeid = item.nodeid.encode("utf-8").decode("unicode_escape")
def pytest_collection_modifyitems(items):
for item in items:
item.name = item.name.encode("utf-8").decode("unicode_escape")
item._nodeid = item.nodeid.encode("utf-8").decode("unicode_escape")
pytest.main(['-s', '-W', 'ignore:Module already imported:pytest.PytestWarning',
'--alluredir', './report/tmp', "--clean-alluredir"])
"""
--reruns: 失败重跑次数
--count: 重复执行次数
-v: 显示错误位置以及错误的详细信息
-s: 等价于 pytest --capture=no 可以捕获print函数的输出
-q: 简化输出信息
-m: 运行指定标签的测试用例
-x: 一旦错误,则停止运行
--maxfail: 设置最大失败次数,当超出这个阈值时,则不会在执行测试用例
"--reruns=3", "--reruns-delay=2"
"""
os.system(r"allure generate ./report/tmp -o ./report/html --clean")
'--alluredir', './report/tmp', "--clean-alluredir"])
"""
--reruns: 失败重跑次数
--count: 重复执行次数
-v: 显示错误位置以及错误的详细信息
-s: 等价于 pytest --capture=no 可以捕获print函数的输出
-q: 简化输出信息
-m: 运行指定标签的测试用例
-x: 一旦错误,则停止运行
--maxfail: 设置最大失败次数,当超出这个阈值时,则不会在执行测试用例
"--reruns=3", "--reruns-delay=2"
"""
os.system(r"allure generate ./report/tmp -o ./report/html --clean")
Content-Type:multipart/form-data; boundary=----
https://blog.csdn.net/szgyunyun/article/details/111357633?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165605975916781818753905%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165605975916781818753905&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-111357633-null-null.142
git
git log乱码
1.运行Git Bash窗口,在该窗口导航条(即最上面)右键,选择Options−>Text,找到下面两处
Locale:选择 zh_CN ,Charector set:选择 UTF-8
2.到Git Bash命令窗口输入如下设置命令语句
git config --global i18n.commitencoding utf-8 --注释:该命令表示提交命令的时候使用utf-8编码集提交
git config --global i18n.logoutputencoding utf-8 --注释:该命令表示日志输出时使用utf-8编码集显示
git config --global gui.encoding utf-8 --注释:界面编码格式使用utf-8编码集显示
export LESSCHARSET=utf-8 --注释:设置LESS字符集为utf-8
设置完成后,发现使用git log后,之前提交代码的中文注释正确显示出来
Locale:选择 zh_CN ,Charector set:选择 UTF-8
2.到Git Bash命令窗口输入如下设置命令语句
git config --global i18n.commitencoding utf-8 --注释:该命令表示提交命令的时候使用utf-8编码集提交
git config --global i18n.logoutputencoding utf-8 --注释:该命令表示日志输出时使用utf-8编码集显示
git config --global gui.encoding utf-8 --注释:界面编码格式使用utf-8编码集显示
export LESSCHARSET=utf-8 --注释:设置LESS字符集为utf-8
设置完成后,发现使用git log后,之前提交代码的中文注释正确显示出来
环境问题
Pycharm报错Non-zero exit code
解决方案:降级pip版本
进入pycharm终端Terminal,降级pip版本:
python -m pip install pip==20.2.4
pip -V 查看pip版本
进入pycharm终端Terminal,降级pip版本:
python -m pip install pip==20.2.4
pip -V 查看pip版本
利用pip命令导出当前环境所有的依赖包及其对应的版本号
pip list
# 导出当前环境的所有依赖包及其对应的版本
pip freeze -> requirements_20220712.txt
# 在新的环境中安装导出的包
pip install -r requirements_20220712.txt
# 写在所有的包
pip uninstall -r requirements_20220712.txt
# 导出当前环境的所有依赖包及其对应的版本
pip freeze -> requirements_20220712.txt
# 在新的环境中安装导出的包
pip install -r requirements_20220712.txt
# 写在所有的包
pip uninstall -r requirements_20220712.txt
mac配置环境配置
查看插件安装路径
which [应用名称]
which [应用名称]
10:~ erwei.zheng$ which allure
/usr/local/bin/allure
/usr/local/bin/allure
pycharm创建脚本自动添加文件头和注释方法
https://blog.csdn.net/qq_41800366/article/details/85860039?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165624911616782388099406%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165624911616782388099406&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-2-85860039-null-null.142^v24^huaweicloudv2,157^v15^new_3&utm_term=python%E5%9C%A8%E8%84%9A%E6%9C%AC%E6%B3%A8%E9%87%8A%E4%B8%AD%E8%87%AA%E5%8A%A8%E6%B7%BB%E5%8A%A0%E8%84%9A%E6%9C%AC%E5%88%9B%E5%BB%BA%E6%97%B6%E9%97%B4&spm=1018.2226.3001.4187
动添加文件头和注释方法
API
jsonpath语法
https://blog.csdn.net/qq_41813208/article/details/112691362?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165666162216780357254661%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165666162216780357254661&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-112691362-null-null.142^v30^down_rank,185^v2^control&utm_term=jsonpath&spm=1018.2226.3001.4187
日期
datetime
import datetime
#以当前时间作为起始点,days=-7向前偏移7天,days=7向后偏移7天
time_now = datetime.datetime.now()
time = (time_now+datetime.timedelta(days=7)).strftime("%Y%m%d")
print(time)
#以当前时间作为起始点,days=-7向前偏移7天,days=7向后偏移7天
time_now = datetime.datetime.now()
time = (time_now+datetime.timedelta(days=7)).strftime("%Y%m%d")
print(time)
dateutil
安装dateutil库,注意不是pip install dateutil,而是pip install python-dateutil
import datetime
from dateutil.relativedelta import relativedelta
#以当前时间作为起始点,days=-7向前偏移7天,days=7向后偏移7天
time_now = datetime.datetime.now()
time = (time_now+datetime.timedelta(days=7)).strftime("%Y%m%d")
print(time)
#以当前时间为起始点,偏移一个月
time_1=(time_now+relativedelta(months=-1)).strftime("%Y%m%d")
print(time_1)
import datetime
from dateutil.relativedelta import relativedelta
#以当前时间作为起始点,days=-7向前偏移7天,days=7向后偏移7天
time_now = datetime.datetime.now()
time = (time_now+datetime.timedelta(days=7)).strftime("%Y%m%d")
print(time)
#以当前时间为起始点,偏移一个月
time_1=(time_now+relativedelta(months=-1)).strftime("%Y%m%d")
print(time_1)
字典排序sorted
# 使用sorted函数的key参数实现字典的排序
# 1. 创建一个包含20个学生名称及成绩的字典(字典推导式)
stucent_dict = {'stucent_%d' % i: randint(50, 100) for i in range(1, 21)}
# 2. 使用sorted函数的参数key的方法对字典进行排序
stucent_tuplelist_sorted = sorted(stucent_dict.items(), key=lambda x: x[1], reverse=True)
print(stucent_tuplelist_sorted)
# 3. 使用for循环重建排序后的字典
student_dic_sorted = {}
for key, value in stucent_tuplelist_sorted:
student_dic_sorted.setdefault(key, value)
print(student_dic_sorted)
'''
[('stucent_10', 98), ('stucent_6', 96), ('stucent_4', 94), ('stucent_5', 93), ('stucent_14', 90), ('stucent_17', 90), ('stucent_19', 89), ('stucent_18', 85), ('stucent_15', 84), ('stucent_1', 74), ('stucent_2', 74), ('stucent_20', 74), ('stucent_16', 71), ('stucent_12', 70), ('stucent_8', 67), ('stucent_3', 66), ('stucent_11', 56), ('stucent_13', 56), ('stucent_9', 54), ('stucent_7', 51)]
{'stucent_10': 98, 'stucent_6': 96, 'stucent_4': 94, 'stucent_5': 93, 'stucent_14': 90, 'stucent_17': 90, 'stucent_19': 89, 'stucent_18': 85, 'stucent_15': 84, 'stucent_1': 74, 'stucent_2': 74, 'stucent_20': 74, 'stucent_16': 71, 'stucent_12': 70, 'stucent_8': 67, 'stucent_3': 66, 'stucent_11': 56, 'stucent_13': 56, 'stucent_9': 54, 'stucent_7': 51}
'''
# 1. 创建一个包含20个学生名称及成绩的字典(字典推导式)
stucent_dict = {'stucent_%d' % i: randint(50, 100) for i in range(1, 21)}
# 2. 使用sorted函数的参数key的方法对字典进行排序
stucent_tuplelist_sorted = sorted(stucent_dict.items(), key=lambda x: x[1], reverse=True)
print(stucent_tuplelist_sorted)
# 3. 使用for循环重建排序后的字典
student_dic_sorted = {}
for key, value in stucent_tuplelist_sorted:
student_dic_sorted.setdefault(key, value)
print(student_dic_sorted)
'''
[('stucent_10', 98), ('stucent_6', 96), ('stucent_4', 94), ('stucent_5', 93), ('stucent_14', 90), ('stucent_17', 90), ('stucent_19', 89), ('stucent_18', 85), ('stucent_15', 84), ('stucent_1', 74), ('stucent_2', 74), ('stucent_20', 74), ('stucent_16', 71), ('stucent_12', 70), ('stucent_8', 67), ('stucent_3', 66), ('stucent_11', 56), ('stucent_13', 56), ('stucent_9', 54), ('stucent_7', 51)]
{'stucent_10': 98, 'stucent_6': 96, 'stucent_4': 94, 'stucent_5': 93, 'stucent_14': 90, 'stucent_17': 90, 'stucent_19': 89, 'stucent_18': 85, 'stucent_15': 84, 'stucent_1': 74, 'stucent_2': 74, 'stucent_20': 74, 'stucent_16': 71, 'stucent_12': 70, 'stucent_8': 67, 'stucent_3': 66, 'stucent_11': 56, 'stucent_13': 56, 'stucent_9': 54, 'stucent_7': 51}
'''
自由主题
0 条评论
下一页