51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1266|回复: 4
打印 上一主题 下一主题

关于python+request+unittest的问题

[复制链接]
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 530 天

    连续签到: 2 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2022-3-1 14:21:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    自己封装的请求
    1. def getJwtHeaders(as_user="cc",id = "id",secret = "secret"):

    2.     token = {
    3.         "exp": int(time.mktime(datetime.datetime.now().timetuple())) + 30,
    4.         "nbf": int(time.mktime(datetime.datetime.now().timetuple())),
    5.         "sub": id,
    6.         "aud":as_user,
    7.     }

    8.     jwt_token = jwt.encode(token,secret, algorithm="HS256")

    9.     return {
    10.         "Authorization": "JWT " + jwt_token,
    11.     }

    12. """封装graphql_query"""
    13. class gqeury(token):

    14.     def query(self,query,operationName,variables):
    15.         self.query_path = os.path.join(dir_path,"gql/{}".format(query))
    16.         with open(self.query_path,"r") as f :
    17.             self.query = f.read()
    18.         self.data = {
    19.             "operationName":operationName,
    20.             "variables":variables,
    21.             "query":self.query
    22.         }
    23.         self.res = requests.post(url=self.url,json = self.data,headers=getJwtHeaders())
    24.         resp = self.res.json()
    25.         return resp
    26. gqeury = gqeury()
    复制代码
    测试case:
    1. @ddt
    2. class check_Me(unittest.TestCase):
    3.     @data(*datas)
    4.     def test_meinfo(self,case):
    5.         getJwtHeaders(case)
    6.         # gqeury.getJwtHeaders()
    7.         self.r = gqeury.query(operationName=None, query="me.gql", variables={})
    8.         self.assertEqual("shuang.yu",self.r["data"]["me"]["username"],msg="验证失败")
    复制代码
    执行用例只有第一次会成功,其余的都会失败
    报错信息:(check_Me.test_meinfo_3_lu_liang)
    self = <test_me.check_Me testMethod=test_meinfo_3_lu_liang>, case = 'lu.liang'
    1. @data(*datas)
    2. def test_meinfo(self,case):
    3.     getJwtHeaders(case)
    4.     # gqeury.getJwtHeaders()
    复制代码
    1.   self.r = gqeury.query(operationName=None, query="me.gql", variables={})
    复制代码
    E TypeError: 'str' object is not callable

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 1522 天

    连续签到: 1 天

    [LV.Master]测试大本营

    2#
    发表于 2022-3-2 10:26:01 | 只看该作者
    检查下报文头
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    5 小时前
  • 签到天数: 2819 天

    连续签到: 1 天

    [LV.Master]测试大本营

    3#
    发表于 2022-3-2 14:04:21 | 只看该作者
    看发完第一次后哪些改变了
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 669 天

    连续签到: 1 天

    [LV.9]测试副司令

    4#
    发表于 2022-3-2 16:37:08 | 只看该作者
    执行一次后测试条件改变了
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    3 小时前
  • 签到天数: 669 天

    连续签到: 1 天

    [LV.9]测试副司令

    5#
    发表于 2022-3-2 16:37:19 | 只看该作者
    执行一次后测试条件改变了
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 12:42 , Processed in 0.067511 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表