class TestLogin(unittest.TestCase): # 3.初始化函数 def setUp(self) -> None: # 初始化session self.session = requests.Session() # 初始化api对象 self.login_obj = Login() # 4.资源卸载函数 def tearDown(self) -> None: # 销毁session self.session.close() # 5.核心:测试函数-登录 # 5-1.参数化 # 参数化3,调用 @parameterized.expand(read_json_file()) def test_login(self, mobile, password, success, code, massage): print("-" * 50) print("参数化读取数据:", mobile, password, success, code, massage) # 5-2.请求业务 response = self.login_obj.login(self.session, mobile, password) print("登录响应结果:", response.json()) # 5-3.断言业务 self.assertEqual(success, response.json().get("success")) self.assertEqual(code, response.json().get("code")) self.assertIn(massage, response.json().get("message")) # 手机号有空格,用户名或密码错误 # 不传参,用户名或密码错误 # 不传用户名,操作成功 # 编写登录成功的测试函数 def test_login_success(self): # 1.直接通过提交正向数据发送请求业务 response = self.login_obj.login(self.session, "13800000002", "123456") # 2.断言业务 # 登录成功的结果: {'success': True, 'code': 10000, 'message': '操作成功!', 'data': '5c4779c4-f0dd-41ee-bc88-8f1c85efcf26'} print("登录成功的结果:", response.json()) self.assertIn("操作成功", response.json().get("message")) self.assertEqual(10000, response.json().get("code")) self.assertEqual(True, response.json().get("success")) # 提取token token = response.json().get("data") print("登录后响应的token:", token) # 预期:允许其他文件调用token,可以扩大token的作用域(将token赋值给app.py的一个全局变量) app.TOKEN = token
class Test_Login(unittest.TestCase): #3.初始化函数 def setUp(self): #初始化 session self.session = requests.Session() #初始化 api 对象 self.login_obj = Login() #4.资源卸载函数 def tearDown(self): #销毁 session self.session.close() #5.核心:测试函数 - 登录 #5-1.参数化 # 参数化步骤3:调用 ----------------------------------------- @parameterized.expand(read_json_file()) def test_login(self, mobile, password, success, code, message): print("-" * 100) print("参数化读取的数据:", mobile, password, success, code, message) #5-2.请求业务 response = self.login_obj.login(self.session, mobile, password) print("登录响应结果:", response.json()) #5-3.断言业务 self.assertEqual(success, response.json().get("success")) self.assertEqual(code, response.json().get("code")) self.assertIn(message, response.json().get("message")) #编写登录成功的测试函数 def test_login_success(self): #1.直接通过提交正向数据发送请求业务 response = self.login_obj.login(self.session, "13800000002", "123456") #2.断言业务 # 结果:{'code': 10000, 'success': True, 'data': '8f2846b7-bf63-4c31-ac35-e23d40959b23', 'message': '操作成功!'} print("登录成功的结果:", response.json()) self.assertEqual(True, response.json().get("success")) self.assertEqual(10000, response.json().get("code")) self.assertIn("操作成功", response.json().get("message")) # 提取 token token = response.json().get("data") print("登录后响应的token:", token) # 预期允许其他文件调用该 token,可以扩大 token 的作用域(将 token 赋值给 app 的一个全局变量) app.TOKEN = token
class Test_Login(unittest.TestCase): # 3.初始化函数 def setUp(self) -> None: # 初始化 session self.session = requests.session() # 初始化 api 对象 self.login_obj = Login() # 4.资源卸载函数 def tearDown(self) -> None: # 销毁 session self.session.close() # 5.核心:测试函数 - 登录 # 5-1. 参数化 # 参数化步骤3:调用 -------------------------------------- @parameterized.expand(read_json_file()) def test_login(self, mobile, password, success, code, message): print('-' * 100) print('参数化读取的数据', mobile, password, success, code, message) # 5-2. 请求业务 response = self.login_obj.login(self.session, mobile, password) print('登录响应结果:', response.json()) # 5-3. 断言业务 self.assertEqual(success, response.json().get('success')) self.assertEqual(code, response.json().get('code')) self.assertIn(message, response.json().get('message')) # 编写登录成功的测试函数 def test_login_success(self): # 1. 直接通过提交正向数据发送请求业务 response = self.login_obj.login(self.session, '13800000002', '123456') # 2. 断言业务 {'success': True, 'code': 10000, 'message': '操作成功!', 'data': '4ca4820a-2b2a-43ad-87b8-5b817269bd9d'} print('登录成功的结果:', response.json()) self.assertEqual(True, response.json().get('success')) self.assertEqual(10000, response.json().get('code')) self.assertIn("操作成功", response.json().get('message')) # 提取 token token = response.json().get('data') print('登录后响应的token:', token) # 预期允许其他文件调用该 token,可以扩大 token 的作用域(将 token 赋值给 app 的一个全局变量) app.TOKEN = token
class TestIHRMLogin(unittest.TestCase): # 3.初始化函数 def setUp(self) -> None: self.session = requests.Session() self.login_obj = Login() # 4.资源卸载函数 def tearDown(self) -> None: self.session.close() # 5.核心:编写测试登陆函数 @parameterized.expand(build_login_data()) def test_login(self, mobile, password, success, code, message): # 5-1 参数化 print('*' * 50) print(mobile, password, success, code, message) # 5-2 请求业务 response = self.login_obj.login(self.session, mobile, password) print(response.json()) # 5-3 断言业务 try: self.assertEqual(success, response.json().get("success")) self.assertEqual(code, response.json().get("code")) self.assertIn(message, response.json().get("message")) except Exception as e: print('断言的错误为:', e) # 编写登陆成功的测试函数 def test_login_success(self): # 1.直接通过提交正向业务,发送请求业务 response = self.login_obj.login(self.session, '13800000002', '123456') print(response.json()) # 2.断言业务 # {'success': True, 'code': 10000, 'message': '操作成功!', 'data': 'fa8e53fa-9b2f-47e2-a0da-a3357aeb08c5'} self.assertEqual(True, response.json().get("success")) self.assertEqual(10000, response.json().get("code")) self.assertIn("操作成功", response.json().get("message")) token = response.json().get("data") print('登录后响应的token:', token) # 想让其他文件调用该 token 值,可以扩大 token 的作用域(将 token 赋值给 app 的一个全局变量) app.TOKEN = token
class Test_Login(unittest.TestCase): # 3 初始化函数 def setUp(self) -> None: # 初始化session self.session = requests.session() # 初始化api对象 self.login_obj = Login() # 4 资源卸载函数 def tearDown(self) -> None: self.session.close() # 销毁session # 5 核心 —— 测试函数 -登录 # 5-1 参数化 @parameterized.expand(read_json_file()) def test_login(self, mobile, password, success, code, message): print('-' * 100) print('参数化读取的数据:', mobile, password, success, code, message) # 5-2 请求业务 response = self.login_obj.login(self.session, mobile, password) print('登录数据', response.json()) # 5-3 断言业务 self.assertEqual(success, response.json().get('success')) self.assertEqual(code, response.json().get('code')) self.assertIn(message, response.json().get('message')) # 编写登录成功的测试函数 def test_login_success(self): # 1 直接通过提交正向的数据发送请求 response = self.login_obj.login(self.session, '13800000002', '123456') # 断言业务 print('登录成功的结果:', response.json()) self.assertEqual(True, response.json().get('success')) self.assertEqual(10000, response.json().get('code')) self.assertIn('操作成功', response.json().get('message')) # 提取 token token = response.json().get('data') print('登录后的token:', token) # 预期允许其他文件调用该token值,可以扩大token的作用域(将token赋值给 app.py的一个全局变量) app.TOKEN = token
class TestLogin(unittest.TestCase): def setUp(self): self.session = requests.Session() self.login_obj = Login() def tearDown(self): self.session.close() # 测试函数1:获取验证码 def test_get_code(self): # 1.调用 api 的请求业务 response = self.login_obj.get_code(self.session, "13012345679") # 2.断言 print(response.json()) self.assertIn("OK", response.json().get("message")) # 测试函数2:登录 def test_login(self): # 1.调用 api 的请求业务 response = self.login_obj.login(self.session, "13911111111", "246810") # 2.断言 self.assertEqual(201, response.status_code) self.assertIn("OK", response.json().get("message")) print(response.status_code) print(response.json()) # 获取响应的身份标记: token app.TOKEN = response.json().get("data").get("token") print("获取到的 token:", app.TOKEN) # 测试函数3: 参数化导入数据 @parameterized.expand(read_from_json()) def test_login_params(self, mobile, code, status_code, message): print("-" * 100) print(mobile, code, status_code, message) # 1.登录业务 response = self.login_obj.login(self.session, mobile, code) # 2.断言业务 self.assertEqual(status_code, response.status_code) self.assertIn(message, response.text)
def setUp(self) -> None: self.session = requests.Session() self.login_obj = Login()
def setUp(self): #初始化 session self.session = requests.Session() #初始化 api 对象 self.login_obj = Login()