张怼怼呀 2023-02-28 19:58 采纳率: 71.4%
浏览 73
已结题

Python做接口自动化测试,如何在不同类中,拿到方法里面的变量

问题描述:a.py 有一个添加用户的接口,现已将id提取,b.py里面有一个修改用户的接口,现在需要拿到a.py的id,如何去取到该id

遇到的困难:通过导入a.py,用类.方法拿到id,就会重新执行一次a.py,那么拿到的id就会+1

  • 写回答

3条回答 默认 最新

  • 编程漫步者 2023-02-28 21:23
    关注

    如果直接导入a.py,会执行其中的代码,所以拿到的 id 会自动加 1。如果想要避免这个问题,可以将获取 id 的代码放在一个函数中,然后在 b.py 中调用该函数来获取 id。

    例如,假设 a.py 中有一个名为 add_user 的函数,可以将获取 id 的代码封装在一个名为 get_id 的函数中:

    def get_id():
        # 获取 id 的代码
        pass
    
    def add_user(name, age, gender):
        id = get_id()
        # 添加用户的代码
        pass
    
    
    

    然后在 b.py 中导入 a.py,并调用 get_id 函数来获取 id,而不是直接导入并调用 add_user 函数:

    import a
    
    def update_user(id, name, age, gender):
        # 根据 id 修改用户信息的代码
        pass
    
    id = a.get_id()
    update_user(id, 'new_name', 30, 'M')
    
    
    

    这样就可以避免因为重新执行 a.py 而导致 id 自动加 1 的问题。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月9日
  • 已采纳回答 3月1日
  • 创建了问题 2月28日

悬赏问题

  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥15 对于这个问题的解释说明
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备