如何使用下次调用相同功能时生成的新密码?

How can I use the new password generated in next call of same function?

我有以下功能,可以在身份验证后更新用户名的密码

def test_put_profile(self):
    username = 'max@gmail.com'
    password = 'evkna7'
    adv = {'email': username, 'password': password}

    # genearate auth code for authorization
    auth_code = {'Authorization': f'Bearer {self.get_auth_token(adv)}'}

    #genearate new password
    np = DataGenerator.generate_random_password_string(6)
    param = f'old_password={password}&'f'new_password={np}'

    #update password
    response = self.send_adv_api_request(
                                         data=param,
                                         auth=auth_code)

现在,如何存储新密码并在下次调用时将其替换为同一函数开头的密码?。基本上,这将是更新密码的递归测试。

如有任何帮助,我们将不胜感激。我应该写在文本中吗?

您需要将密码存储在此函数的范围之外,以便您可以从递归调用中访问它。

curr_password = 'evkna7'

def test_put_profile(self):
    global curr_password
    username = 'max@gmail.com'
    adv = {'email': username, 'password': curr_password}

    # genearate auth code for authorization
    auth_code = {'Authorization': f'Bearer {self.get_auth_token(adv)}'}

    #genearate new password
    np = DataGenerator.generate_random_password_string(6)
    param = f'old_password={password}&'f'new_password={np}'
    curr_password = np #Change global password to newly created password

    #update password
    response = self.send_adv_api_request(
                                         data=param,
                                         auth=auth_code)