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

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

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

如果直接导入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 的问题。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

把id定义到一个额外的类中,类似于:

class Var:
    id = None

a.py 中每次提取到id之后赋值给Var.id,b.py直接用使用Var.id即可,以上,供参考。

有帮助的话,请点采纳~