关于pytest框架使用pyinstaller打包后执行提示ERROR: file or directory not found C:xxxxx

前言:

        1.当我们环境都打包好,可以直接把exe放在任何电脑上都可以运行,

·        2.但是往往都会存在理想和现实差别,为了实现使用使用pytest框架进行自动化测试,踩了很多的坑

        3.其中就遇到了很多的路径问题,找不到文件xxxxx

1.先看我打包前的py执行器

代码中cur_path是获取当前文件的路径和py文件名称

 cur_path打印出来是 D:\xxx\xxx\xxx\xxx.py(项目所在路径)

2.运行的时候发现一直都找不到路径,通过cur_path查看已经返回了完整路径C:\xxx\xxx.py,但也不行

(cur_path打包前是你的项目所在的路径(D:\\xxx\xxx.py),打包后是应用程序的路径(C:\\xxx\\xxx.py),所以pycharm中的路径和打包后的路径是不一样的)

3.将打印出来的C盘路径复制出来,找到C盘里_MEI169642下面去找test_xxx.py,发现打包后的程序文件是这样的

一般存放应用路径都是C:\Users\MrShiRong\AppData\Local\Temp(注意Users后是你的用户名称,需要替换)

4.查看文件里面根本不存在xxx.py的,所以通过pytest.main('-sv','test_xxx.py')也就找不到执行文件

5.这个时候我们就不能用pytest.main()的方式去执行,必须要通过函数间的调用方法,依次调用

 6.重新打包后发送给其他人,已经可以正常运行

7.其实也可以用unittest框架放到测试集里面,就不用一个个调用,测试集也需要将test开头的测试用例加入到执行器里面,所以大差不差

关于找不到txt等文件路径查看pyinstaller打包不能读取txt或者资源文件_一只菜鸟HA的博客-CSDN博客

扩展

打包命令用 pyinstaller -D xxx.py也是可以生成执行文件夹,应用程序(路径就是当前文件路径下面dict里面)

这个文件夹里面没有xxxx.py,执行会报找不到xxx.py

但是可以将你的py测试用例文件直接放入当前的文件夹下面

那么运行的时候程序就能找到这个py文件

两种方法都可以使用,第一种别人看不到源码,只用一个exe即可,第二种方式必须把需要运行的源码py文件放到目录里面

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值