ft4.1: Traceback (most recent call last):
File "C:\Users\yinja\.jenkins\workspace\regression_test_new\regression\scripts\API\test_02_fmc_order\test_01_create_fmc_order_no_other_service.py", line 23, in setUpClass
self.fmc_product_id = product_query().return_fmc_instant_booking_product_id(self.cn_nvo_nonauto_token)
File "C:\Users\yinja\.jenkins\workspace\regression_test_new\regression\scripts\API\pre_scene\product_query.py", line 97, in return_fmc_instant_booking_product_id
print("查询fmc产品的id",res)
print("这是用json.loads()转成json了",res_josn)
File "D:\application\python37\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-1: character maps to <undefined>
在pycharm中调试时,总是能通过的,也能在控制台正常打印
但是集成到jenkins之后,就一直报编码的错误,导致用例一直失败
网上大部分说以下这种方式可以解决,在每个python文件开头加上这两句:
import sys,importlib
importlib.reload(sys)
但是还是报同样的错误,原来是代码里面print()的内容是json,打印报错,response.content也会报错
如果print()的是json格式的字符串是ok的,中文字符串也ok
所以解决办法就是提交代码的时候,把print()去掉,或者实在需要的话,就只去掉json的print
估计是jenkins处理不了json这种数据格式