路径问题
1、相对路径:
- 在代码迁移方面有着很大优势,便于跨环境移植;
- 完美适配 CI/CD 流水线,如报告都是放到相对路径中
- 便于团队合作,比如说父级目录修改了名字,使用相对目录,通过相对路径(file)等方法可以获取完整的目录结果,如果不这样使用,你有可能需要一级一级的取修改目录地址;
- 相对路径方便简洁,使用绝对路径太长不好记;
2、os.path.dirname(file):获取的是你执行脚本时传入的那个路径的“目录部分”,有可能是相对路径;
3、os.path.dirname(os.path.abspath(file)):一定是绝对路径
importos BASEDIR=os.path.dirname(__file__)#可能为相对路径print(BASEDIR)BASEDIR=os.path.dirname(os.path.abspath(__file__))#必须是绝对路径print(BASEDIR)数据问题
- 数据:有多种格式,如excel、csv、json(都可以有多种组合)、数据库等方式读取数据;
- json数据:第一种
data = { "登录接口": [{"desc": "登录成功","username": "user1", "psd": "123"}, {"desc": "授权失败-密码错误","username": "user2", "psd": "456"}] } result = [(item.get("username"), item.get("psd")) for item in data["登录接口"]] print(result) #结果[('user1', '123'), ('user2', '456')]- json数据第二种
data = { "登录成功": {"username": "user1", "psd": "123"} } test_case=[] for test_data in data.values(): test_case.append(tuple(test_data.values())) print(test_case) #结果[('user1', '123')]- csv格式:
- csv文件内容:文件名:login_test.csv
username,psd 13426251988,12345678 13426251987,1234567 13426251955,123456importcsv filedata=BASEDIR+"\login_test"test_case_list=[]withopen(filedata,encoding="utf-8")asf:reader=csv.reader(f)#读取csv数据包括首行test_case=[]#初始化测试数据forrowinreader:test_case.append(tuple(row))#一行读取后转化为元组test_case_list=test_case[1:]#去掉首行print(test_case_list)#[('13426251988', '12345678'), ('13426251987', '1234567'), ('13426251955', '123456')]- excel格式:需要安装依赖库,暂不介绍
- 数据库:连接数据库(可以封装第三方连接数据库类,传参为sql)具体见:https://blog.csdn.net/weixin_44073050/article/details/158540767?spm=1011.2415.3001.5331