[Python+Appium自动化]cmd运行run.py 未运行代码直接结束的原因分析

Question: python unittest执行程序在pycharm可以成功运行但使用cmd直接结束,未打印日志和报错
原因分析:
第一步:
cmd运行run.py时,提示如下
在这里插入图片描述
图片显示载入用例Failed,那么运行LoginTest.py(对应自己框架中的模块testpy文件)排查错误

第二步:

1.cmd运行LoginTest.py时,提示如下
在这里插入图片描述
2.这里报错未找到名称为Common的模块,查看LoginTest.py引入包名如下:

import logging,unittest
import time
from Common.myunit import StartEnd
from BusinessView.LoginView import LoginView

3.Common模块未找到的原因分析:cmd运行py脚本时,若未指定脚本path路径,会首先到python的Path环境变量路径查看包,如果path中没有,则会出现上述错误–>No module named ‘Common’
第三步:解决这类问题的办法:指定Common路径供LoginTest.py调用模块使用

方法1:函数添加
在LoginTest.py中指定path路径

import sys
pathcommon='D:\\BugeProject'
sys.path.append(pathcommon)

方法2:在python包中的\Lib\site-packages目录中新建.pth文件 写入common的上级目录路径.
在这里插入图片描述
注:因此处添加common后又提示PyYAML模块未找到,原因是由于框架中引用的PyYAML是导入在Pycharm中,未通过pip install PyYAML安装,故未找到PyYAML模块

建议后续在pycharm中导入第三方库模块时,尽量采取cmd命令行安装命令:pip install PyYAML
这样可以避免在后期采用命令行运行脚本时,出现找不到对应三方库的错误提示.

第四步:
python3.+版本,需要在run.py脚本中写入main函数入口的代码块

if __name__ == '__main__':
    unittest.main()

原因:网络教程中使用的python版本可能与自身安装版本不同,因此会出现一些未知的问题,如果上述1,2,3以及重启都无法解决你的问题,建议排查python版本问题:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值