张怼怼呀 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 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分