原來的代碼如下:
def get_test_config(tag, key, config="config.ini"): cf = configparser.ConfigParser() cf_path = os.getcwd() cf_path = os.path.join(cf_path, config) cf.read(cf_path) value = cf.get(tag, key) return value
可以看到,這里使用了 getcwd(),就是獲取當前工作目錄(相對路徑),這個直接在pycharm上執行是沒問題,
當你使用Jenkins執行腳本時,是直接的cmd命令,命令並不會知道你的當前工作目錄,所以就會出現這個問題。
解決方案:把相對路徑改為絕對路徑
修改后的代碼如下:
def get_test_config(tag, key, config="config.ini"): cf = configparser.ConfigParser() cf_path = os.path.dirname(os.path.abspath(__file__)) cf_path = os.path.join(cf_path, config) cf.read(cf_path) value = cf.get(tag, key) return value