How do I use value of one method in another. I am getting AttributeError: 'A' object has no attribute 'auth_header'
How do I use value of one method in another. I am getting AttributeError: 'A' object has no attribute 'auth_header'
这是我的代码(单class一个)
class A(page):
def test_auth(self):
params = {
'email': 'zzzm',
'password': 'yyyy',
}
response = self.send_request(self.request_auth,
request_type=self.request_type_post,
headers=self.header_content_type_x_www_form_urlencoded,
data=params,
need_headers=True)
auth_header = {'Authorization': f"Bearer {response['headers']['x-api-token']}"}
使用上面生成的授权码获取配置文件的方法
def test_profile(self):
auth_header = self.auth_header
response = self.send_request(self.request_profile,
auth=auth_header,
headers=self.header_accept_json
)
我得到的错误是 AttributeError: 'A' object has no attribute 'auth_header'
谁能帮助我如何在相同 class 的另一个方法中使用第一个方法中生成的值?或者有更好的方法吗?
你可以这样做 -
class A(page):
def test_auth(self):
params = {
'email': 'zzzm',
'password': 'yyyy',
}
response = self.send_request(self.request_auth,
request_type=self.request_type_post,
headers=self.header_content_type_x_www_form_urlencoded,
data=params,
need_headers=True)
auth_header = {'Authorization': f"Bearer {response['headers']['x-api-token']}"}
return auth_header
def test_profile(self):
auth_header = self.test_auth()
response = self.send_request(self.request_profile,
auth=auth_header,
headers=self.header_accept_json
)
或者像 -
一样把东西放在 init 里
class A(page):
def test_auth(self):
params = {
'email': 'zzzm',
'password': 'yyyy',
}
response = self.send_request(self.request_auth,
request_type=self.request_type_post,
headers=self.header_content_type_x_www_form_urlencoded,
data=params,
need_headers=True)
auth_header = {'Authorization': f"Bearer {response['headers']['x-api-token']}"}
return auth_header
def __init__(self, page):
self.auth_header = self.test_auth()
def test_profile(self):
auth_header = self.auth_header
response = self.send_request(self.request_profile,
auth=auth_header,
headers=self.header_accept_json
)
将东西放入 __init__
的好处是您可以在整个 class 中使用它。
这是我的代码(单class一个)
class A(page):
def test_auth(self):
params = {
'email': 'zzzm',
'password': 'yyyy',
}
response = self.send_request(self.request_auth,
request_type=self.request_type_post,
headers=self.header_content_type_x_www_form_urlencoded,
data=params,
need_headers=True)
auth_header = {'Authorization': f"Bearer {response['headers']['x-api-token']}"}
使用上面生成的授权码获取配置文件的方法
def test_profile(self):
auth_header = self.auth_header
response = self.send_request(self.request_profile,
auth=auth_header,
headers=self.header_accept_json
)
我得到的错误是 AttributeError: 'A' object has no attribute 'auth_header'
谁能帮助我如何在相同 class 的另一个方法中使用第一个方法中生成的值?或者有更好的方法吗?
你可以这样做 -
class A(page):
def test_auth(self):
params = {
'email': 'zzzm',
'password': 'yyyy',
}
response = self.send_request(self.request_auth,
request_type=self.request_type_post,
headers=self.header_content_type_x_www_form_urlencoded,
data=params,
need_headers=True)
auth_header = {'Authorization': f"Bearer {response['headers']['x-api-token']}"}
return auth_header
def test_profile(self):
auth_header = self.test_auth()
response = self.send_request(self.request_profile,
auth=auth_header,
headers=self.header_accept_json
)
或者像 -
一样把东西放在 init 里class A(page):
def test_auth(self):
params = {
'email': 'zzzm',
'password': 'yyyy',
}
response = self.send_request(self.request_auth,
request_type=self.request_type_post,
headers=self.header_content_type_x_www_form_urlencoded,
data=params,
need_headers=True)
auth_header = {'Authorization': f"Bearer {response['headers']['x-api-token']}"}
return auth_header
def __init__(self, page):
self.auth_header = self.test_auth()
def test_profile(self):
auth_header = self.auth_header
response = self.send_request(self.request_profile,
auth=auth_header,
headers=self.header_accept_json
)
将东西放入 __init__
的好处是您可以在整个 class 中使用它。