• 命令行运行python项目文件,报错:ModuleNotFoundError: No module named 'xxxx' 解决办法


    在pycharm中写好了自动化测试脚本,并能在pycharm中正常运行,由于要考虑到无人值守时能自动执行,执行时就需要脱离pycharm,直接能用命令执行。但是直接用命令执行用例文件:python3 D:pycodeautotest_frameworkcase un_case.py

    结果报错,找不到模块

    自动化项目的结构如下:用例run_case.py 和工具类utils下的工具 不在同一个文件夹下面。在脚本中需要导入包如:

    from utils.HTMLTestRunner import HTMLTestRunner

     分析提示,报错就在import 这里出错。说明在命令中执行用例,没有把项目文件添加为环境变量。需要在代码中把项目文件夹添加为环境变量,添加环境变量思路:

    1、找到当前文件run_case.py 的绝对路径 :

    current_directory = os.path.dirname(os.path.abspath(__file__))

    2、由于测试项目文件夹布局为:run_case.py 的上一级目录才是项目的文件夹,因此需要找到run_case.py 的父文件夹,即项目的根目录

    root_path = os.path.abspath(os.path.dirname(current_directory) + os.path.sep + ".")

    3、把项目的根目录通过sys.path.append添加为执行时的环境变量

    sys.path.append(root_path)

    这3步完成后,就可以正常导入项目项目内的包了。就能正常通过命令执行自动化测试了。也就能和jenkins结合在一起了

    迎加入自动化测试交流QQ群:143535941 ,进群问题回答:testway 共同讨论自动化问题
  • 相关阅读:
    8月份的To-Do List
    Block作为返回值时的使用
    Block作为参数时的使用
    AFNetwork 作用和用法详解
    UIScrollView监听静止的数种情况
    UIAppearance
    自定义Log实现条件编译
    事件的基本概念
    ubuntu16.04下安装MySQL
    在Ubuntu16.04下搭建samba,实现linux与windows之间的资源共享
  • 原文地址:https://www.cnblogs.com/testway/p/9225587.html
Copyright © 2020-2023  润新知