jenkins集成unittest(Windows)报编码错误UnicodeEncodeError

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这种数据格式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值