这是我的代码(单个A类)
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'对象没有属性'auth_header'
有人可以帮助我如何在同一个类的另一个方法中使用第一个方法生成的值吗?还是有更好的方法呢?
答案 0 :(得分:0)
您可以做类似的事情-
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
)
或将内容放入-
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__
的好处是您可以在整个课堂上使用它。