场景:
整个目录结构如上,测试用例在case目录下,运行脚本run在case目录以外
当在api001这个脚本里面单独执行测试用例的时候是能正常获取到绝对路径,定位到需要的文件
可是在run这个脚本里面去执行的时候,就发现定位到的位置不正确了
原因:
os.path.abspath('.') 是获取当前工作目录路径,我的理解是即获取执行脚本目录路径
所以当在脚本run里执行时,获取到的就是run脚本所在的绝对路径,导致出现的偏差
解决办法:
按照需求,我需要定位case脚本所在的绝对路径的父目录,即整个项目的路径
os.path.dirname(__file__) 获取当前文件的目录,__file__表示当前文件的绝对路径
os.path.dirname(xxx)的功能是:
如果xx是个文件,获取xx的目录
如果xx是个目录,获取xx的父目录
因此可以用os.path.dirname(os.path.dirname(__file__))来定位到当前文件所在目录的父目录