1. 程式人生 > >命令行運行python項目文件,報錯:ModuleNotFoundError: No module named 'xxxx' 解決辦法

命令行運行python項目文件,報錯:ModuleNotFoundError: No module named 'xxxx' 解決辦法

director .com error 解決 項目文件 因此 分析 根目錄 jenkins

在pycharm中寫好了自動化測試腳本,並能在pycharm中正常運行,由於要考慮到無人值守時能自動執行,執行時就需要脫離pycharm,直接能用命令執行。但是直接用命令執行用例文件:python3 D:\pycode\autotest_framework\case\run_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 共同討論自動化問題

命令行運行python項目文件,報錯:ModuleNotFoundError: No module named 'xxxx' 解決辦法