一、os模块库的作用
在接口自动化实现的过程中,os模块库的主要作用:
1、用os.path方法获取指定目录的路径
2、用os.system方法执行allure相关命令,生成allure测试报告(
os.system("allure generate ./report/temp_jsonreport -o ./report/html --clean")
)
二、os模块库的基本用法
1、os.getcwd() 返回当前py文件所在目录(文件夹)的路径
print(os.getcwd() 输出:E:\testDemo\python模块库练习
2、os.path.abspath()和 os.path.dirname()
区别:①获取的绝对路径不同,os.path.abspath(__file__)获取的是当前文件的绝对路径,os.path.dirname(__file__)获取的是当前文件所在目录的绝对路径;②路径打印的格式不一样,os.path.dirname(__file__)获取的路径需要用os.path.normpath()方法将格式进行转换
print("返回当前文件的绝对路径:",os.path.abspath(__file__)) print("返回当前文件所在目录的绝对路径:",os.path.dirname(__file__)) 打印结果: 返回当前文件的绝对路径: E:\testDemo\python模块库练习\os模块.py 返回当前文件所在目录的绝对路径: E:/testDemo/python模块库练习
3、os.path.join()
作用:将传入的路径和字符串进行拼接获得新的路径
path1 = r"E:\testDemo"
x = "测试"
joinPath = os.path.join(path1,x)
print(joinPath)
打印结果:E:\testDemo\测试
4、os.path.split()
作用:讲完整路径拆分为绝对路径和文件(目录)名,以元组的形式返回
n = r"E:\testDemo\python模块库练习"
print(os.path.split(n))
打印结果:('E:\\testDemo', 'python模块库练习')
三、os模块库对文件或目录的操作
print(os.listdir(path1)) #以列表形式返回指定路径下所有的文件和目录名称
#判断是否是文件夹(目录)
os.path.isdir()
# #判断是否是文件
os.path.isfile()
四、自动化测试过程中os模块库的路径配置示例
# -*- coding: utf-8 -*-
import os
#E:/python_auto_test_api 根目录
#根目录路径
father_path = os.path.normpath(os.path.split(os.path.split(os.path.dirname(__file__))[0])[0])
# print(father_path)
#common 目录路径
common_path = os.path.split(os.path.split(os.path.abspath(__file__))[0])[0]
#测试数据testdata目录路径
testcase_path = os.path.join(father_path,'testdata')
# print(testcase_path)
#中间变量文件路径
extract_path = os.path.join(common_path,'yamlParse')
# print(extract_path)
#日志路径
logs_path = os.path.join(common_path,'logs')