美文网首页自动化测试之路软件测试Python接口测试
python学习科普--pycharm常见报错解决办法

python学习科普--pycharm常见报错解决办法

作者: orange_ade | 来源:发表于2019-12-02 15:54 被阅读0次
    问题一:TypeError: 'Response' object is not subscriptable
    
    • 解决办法:
      self.req_result = RequestMethod().get(self.url, self.param, self.headers)
      接口请求中,返回数据需要以json格式返回,更改代码为:
      self.req_result = RequestMethod().get(self.url, self.param, self.headers).json()
    问题二:json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
    
    • 解决办法:
      这种报错一般是接口请求地址不对,或者测试接口环境没有启动,检查环境和接口地址后更改再试试
    问题三:requests.exceptions.ConnectionError: HTTPConnectionPool(host='******************', port=80): Max retries exceeded with url: /****/******/*********(Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000012EDFCDC5F8>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed',))
    
    • 解决办法:
      这种情况一般也是地址不对/不完整导致的,比如地址原本是:/ea/name/buy/goods;却被我们不小心写漏了一个“/”号,变成了:ea/name/buy/goods
    问题四:{'data': None, 'message': 'goods_id is missing', 'code': 10003, 'result': False, 'created_at': 1575274851}
    
    • 解决办法:
      一般如果报字段**** is missing,先检查下该字段是否有传,如果传参无误再检查下接口请求中的请求头:headers;查看是否包含:'Content-Type': 'application/json;charset=utf-8',如果包含则将其去掉,问题解决。
    • 备注:(重要)
      1、原因是传'Content-Type': 'application/json;charset=utf-8' ,就是告诉服务器请求的主题内容是json格式的字符串,服务器端会对json字符串进行解析。而get请求传参一般拼接在接口请求中,不需要将其转换成json格式,否则就会出现上面的报错。
      2、params在get请求中使用,data、json在post请求中使用。所以一般get请求参数定义为:params=data;post请求参数定义为:data=data 或 json=data
    问题五:{'data': None, 'message': 'q is invalid, q[identity_num] is missing, q[identity_num] is invalid, q[employee_id] is missing, q[employee_id] is invalid', 'code': 10003, 'result': False, 'created_at': 1585907682}
    
    • 解决办法:
      这种用[ ]括起来说找不到字段的一般是传的格式不对,在保证像上面问题四种说的请求传参格式正确的情况下,data中的字段格式需要调整。
      比如之前格式是:
    data={
            "q": {
                "num": "",
                "id": ""
            }
    }
    
    • 需要调整成:
    data={
             "q[num]":"",
             "q[id]": ""
    }
    
    • 问题六:分别执行class类下的def方法,执行结果却返回了所有def方法中的执行结果
    • 解决办法:
      原来是自己将py文件创建在了中文文件的目录下才导致了这个问题,所以这里再强调一遍:。py项目所有的文件目录都要用英文

    • 问题七:Pycharm设置pytest运行程序
    • 解决办法: Xnip2020-05-18_18-04-02.jpg Xnip2020-05-18_18-05-35.jpg
    后面继续补充

    相关文章

      网友评论

        本文标题:python学习科普--pycharm常见报错解决办法

        本文链接:https://www.haomeiwen.com/subject/fbkfgctx.html