def test04_login_noparams_username(self): response = self.login_api.login_parms(password="******") # 接收返回的json数据 jsonData = response.json() # 调试输出登陆接口返回的数据 logging.info("缺少用户名参数返回数据为:{}".format(jsonData)) common_assert(self, response, 200, False, 20001, "用户名或密码错误")
def test05_is_login(self): phone = '18123456789' pwd = 'admin123' self.login_reg.login(phone, pwd) r = self.login_reg.is_login() logging.info('获取判定登录状态response对象:{}'.format(r.text)) common_assert(self, r, desc='OK')
def test07_login_wrong_mobile(self): response = self.login_api.login("13806600002", "123456") # 接收返回的json数据 jsonData = response.json() # 调试输出登陆接口返回的数据 logging.info("用户名错误返回数据为:{}".format(jsonData)) common_assert(self, response, 200, False, 20001, "用户名或密码错误")
def test_view_order(self): """查看订单""" # 订单id order_id = 120 # 收件人姓名 exp_name = '小乔' # 收件人手机号 exp_mobile = '13588888888' # 响应对象 res = ApiFactory.get_order_api().query_order_api(order_id) # 打印 请求参数、请求地址、请求响应数据 logging.info('请求地址:{}'.format(res.url)) logging.info('请求响应:{}'.format(res.json())) # 断言响应状态码 utils.common_assert(res) # 断言订单编号 assert res.json().get('id') == order_id # 断言地址 用户名 和 手机号 assert res.json().get('snap_address').get('name') == exp_name assert res.json().get('snap_address').get('mobile') == exp_mobile # 断言关键字 assert False not in [ i in res.text for i in [ 'order_no', 'total_price', 'snap_img', 'snap_name', 'total_count' ] ]
def test02_search_emp(self, status_code, success, code, message): #初始化数据 #请求接口 result = self.emp.search_emp(TestEmployee.emp_id) logging.info("查询:{}".format(result)) #断言 common_assert(self, result, status_code, success, code, message)
def test01_set_account(self): r = self.recharge.set_account() print(r.text) common_assert(self, r, status_code=200, status=200, desc='form') h = GetData.get_html_data(r) r2 = self.session.post(url=h[0], data=h[1]) common_assert(self, r2, status_code=200, status=None)
def test_login(self, mobile, password, status_code, success, code, message): logging.info( "param mobile={} password={} status_code={} success={} code={} message={}" .format(mobile, password, status_code, success, code, message)) # 定义测试数据 # mobile = "13800000002" # password = "******" response = self.login_api.login(mobile, password) result = response.json() logging.info("login response data={}".format(result)) # 断言 utils.common_assert(self, response, status_code, success, code, message) # utils.common_assert(self, response) # self.assertEqual(200, response.status_code) # self.assertTrue(result.get("success")) # self.assertEqual(10000, result.get("code")) # self.assertIn("操作成功", result.get("message")) if success: # 获取token数据,并保存 app.TOKEN = "Bearer " + result.get("data") app.headers_data["Authorization"] = app.TOKEN logging.info("token={}".format(app.TOKEN)) logging.info("headers={}".format(app.headers_data))
def test03_update_emp(self, username, status_code, success, code, message): #初始化数据 #username = "******" #请求接口 result = self.emp.update_emp(TestEmployee.emp_id, username) logging.info("修改:{}".format(result)) #断言 common_assert(self, result, status_code, success, code, message) # #导包 # import pymysql # #创建数据库连接 # conn = pymysql.connect("182.92.81.159","readuser","iHRM_user_2019","ihrm") # #创建游标 # cursor = conn.cursor() # #执行操作 # sql = "select username from bs_user where id = %s" # cursor.execute(sql,TestEmployee.emp_id) # one = cursor.fetchone() # logging.info("one:{}".format(one)) # uname = one[0] # self.assertEqual(username,uname) # #关闭游标 # cursor.close() # #关闭数据库连接 # conn.close() sql = "select username from bs_user where id = %s" mysql = Mysql() one = mysql.get_one(sql, TestEmployee.emp_id) uname = one[0] self.assertEqual(username, uname)
def test05_login_noparams_password(self): response = self.login_api.login_parms(mobile="13800000002") # 接收返回的json数据 jsonData = response.json() # 调试输出登陆接口返回的数据 logging.info("缺少密码参数返回数据为:{}".format(jsonData)) common_assert(self, response, 200, False, 20001, "用户名或密码错误")
def test08_login_no_password(self): response = self.login_api.login("13800000002", "122333") # 接收返回的json数据 jsonData = response.json() # 调试输出登陆接口返回的数据 logging.info("密码错误返回数据为:{}".format(jsonData)) common_assert(self, response, 200, False, 20001, "用户名或密码错误")
def test02_login_no_username(self): response = self.login_api.login("", "123456") # 接收返回的json数据 jsonData = response.json() # 调试输出登陆接口返回的数据 logging.info("用户名为空返回数据为:{}".format(jsonData)) common_assert(self, response, 200, False, 20001, "用户名或密码错误")
def test03_update_emp(self): # 测试数据 emp_id = TestEmp.emp_id username = "******" # 调用接口 response = self.emp_api.update_emp(emp_id, username) json_data = response.json() logging.info("json_data={}".format(json_data)) # 断言 utils.common_assert(self, response) # 校验数据库中的员工的用户名 # 获取数据库连接 conn = pymysql.connect("182.92.81.159", "readuser", "iHRM_user_2019", "ihrm") # 获取游标对象 cursor = conn.cursor() # 执行查询操作 sql = "SELECT t.id,t.username from bs_user t WHERE t.id={}".format(emp_id) cursor.execute(sql) db_data = cursor.fetchone() logging.info("db_data==={}".format(db_data)) db_username = db_data[1] self.assertEqual(username, db_username) # 关闭游标对象 cursor.close() # 关闭数据库连接 conn.close()
def test03_update_emp(self, username, status_code, success, code, message): # 测试数据 emp_id = TestEmployee.employee_id # username = "******" # 调用接口 response = self.employee_api.update_emp(emp_id, username) result = response.json() logging.info("update emp data={}".format(result)) # 断言 utils.common_assert(self, response, status_code, success, code, message) # 数据库数据校验 conn = pymysql.connect("182.92.81.159", "readuser", "iHRM_user_2019", "ihrm") cursor = conn.cursor() sql = "select username from bs_user where id=%s" cursor.execute(sql, emp_id) data = cursor.fetchone() db_username = data[0] cursor.close() conn.close() self.assertEqual(username, db_username)
def test09_login_add_parms(self): response = self.login_api.login_parms2({ "mobile": "13800000002", "password": "******", "add": "7788" }) logging.info("多参的返回数据:{}".format(response.json())) common_assert(self, response, 200, True, 10000, "操作成功!")
def test06_login_no_password(self): response = self.login_api.login_parms(mobe="13800000002", password="******") # 接收返回的json数据 jsonData = response.json() # 调试输出登陆接口返回的数据 logging.info("参数错误返回的结果为:{}".format(jsonData)) common_assert(self, response, 200, False, 20001, "用户名或密码错误")
def test01_img_code(self, r, status_code): r1 = self.login_reg.get_img_code(r) logging.info('获取图片验证码response对象') try: common_assert(self, r1, status_code=status_code, status=None) except Exception as e: logging.error(e) raise
def test01_login_success(self, ): # 发出请求 response = self.login_api.login("13800000002", "123456") # 接收返回的json数据 jsonData = response.json() # 调试输出登陆接口返回的数据 logging.info("登陆成功接口返回数据为:{}".format(jsonData)) common_assert(self, response, 200, True, 10000, "操作成功!")
def test03_login_no_password(self, case_data, mobile, password, http_code, success, code, message): response = self.login_api.login(mobile, password) # 接收返回的json数据 jsonData = response.json() # 调试输出登陆接口返回的数据 logging.info("密码为空返回数据为:{}".format(jsonData)) common_assert(self, response, http_code, success, code, message)
def test02_recharge_code(self): r = self.recharge.get_charge_verify_code(random.random()) logging.info('响应数据:{}'.format(r.text)) try: common_assert(self, r, status=None) except Exception as e: logging.error(e) raise
def test_password_is_error(self): #初始化数据 username = "******" password = "******" #请求接口 result = self.login.login(username, password) logging.info(result) #断言 common_assert(self, result, 200, False, 20001, "用户名或密码错误")
def test_params_is_null(self): #初始化数据 username = None password = None #请求接口 result = self.login.login(username, password) logging.info(result) #断言 common_assert(self, result, 200, False, 99999, "系统繁忙")
def test_username_is_null(self): #初始化数据 username = "" password = "******" #请求接口 result = self.login.login(username, password) logging.info(result) #断言 common_assert(self, result, 200, False, 20001, "用户名或密码错误")
def test02_get_emp(self): # 测试数据 emp_id = TestEmp.emp_id # 调用接口 response = self.emp_api.get_emp(emp_id) json_data = response.json() logging.info("test_get_emp json_data={}".format(json_data)) # 断言 utils.common_assert(self, response)
def test03_add_emp(self): mobile = "179"+time.strftime("%d%H%M%S") name ="rose"+time.strftime("%d%H%M%S") response_add_emp = self.emp_api.add_emp(name, mobile, app.HEADERS) logging.info("添加员工的结果是:{}".format(response_add_emp.json())) emp_id =response_add_emp.json().get("data").get("id") app.EMP_ID =emp_id logging.info("添加员工的id是{}".format(app.EMP_ID)) common_assert(self,response_add_emp,200,True,10000,"操作成功")
def test_token_verify(self): """token验证""" # 获取返回数据 res = ApiFactory.get_user_api().verify_token_api() # 打印 请求参数、请求地址、请求响应数据 logging.info('请求地址:{}'.format(res.url)) logging.info('请求响应:{}'.format(res.json())) # 断言响应状态码 utils.common_assert(res) # 断言 isValid为true assert res.json().get('isValid') is True
def test_login_pwd_is_empty(self): # 定义测试数据 mobile = "13800000002" password = "" response = self.login_api.login(mobile, password) result = response.json() logging.info("login response data={}".format(result)) # 断言 utils.common_assert(self, response, 200, False, 20001, "用户名或密码错误")
def test05_modify_emp(self): response_modify_emp = self.emp_api.modify_emp(app.EMP_ID,"happy",app.HEADERS) logging.info("修改员工的结果为:{}".format(response_modify_emp.json())) common_assert(self,response_modify_emp,200,True,10000,"操作成功") with DBUtils() as db: sql = 'select username from bs_user where id ={}'.format(app.EMP_ID) db.execute(sql) result = db.fetchone() self.assertEqual("happy", result[0]) logging.info("数据库查询结果为:{}".format(result[0]))
def test_login_username_is_not_exist(self): # 定义测试数据 mobile = "13888889999" password = "******" response = self.login_api.login(mobile, password) result = response.json() logging.info("login response data={}".format(result)) # 断言 utils.common_assert(self, response, 200, False, 20001, "用户名或密码错误")
def test01_add_emp(self, username, mobile, work_number, status_code, success, code, message): #初始化数据 #请求接口 result = self.emp.add_emp(username, mobile, work_number) logging.info("新增:{}".format(result)) #断言 common_assert(self, result, status_code, success, code, message) #获取员工id TestEmployee.emp_id = result.get('data').get('id')
def test02_login_success(self): response_login = self.emp_api.login("13800000002", "123456") logging.info("员工模块的登陆结果为:{}".format(response_login.json())) token = "Bearer " + response_login.json().get("data") # 得到请求头数据 # global headers # 把局部变量变成全局变量,但是其他文件也需要调用,只能配置到app.py里 headers = {"Content-Type": "application/json", "Authorization": token} app.HEADERS = headers logging.info("取出的令牌为:{}".format(token)) logging.info("请求头为:{}".format(headers)) common_assert(self, response_login, 200, True, 10000, "操作成功")