def test_urine_v2_machineInfo_updateMachine(self): """ 更新机器信息 :return: """ func_name = sys._getframe().f_code.co_name row = self.get_case_row_index(func_name) update_machine_info = self.get_request_data(func_name) update_machine_info['keyID'] = gl.get_value('keyID') update_machine_info['activityId'] = gl.get_value('activityId') res = self.get_result(func_name, var_params=update_machine_info) actual_result = res[0].json()['data'] expect_result = self.get_expect_result(func_name) self.update_result(row, actual_result, expect_result)
def test_urine_v2_bannerInfo_update(self): """ 修改小程序banner :return: """ func_name = sys._getframe().f_code.co_name row = self.get_case_row_index(func_name) # banner_list = self.get_depend_params(func_name) banner_list = gl.get_value('banner_list') # gl.set_value('banner_list', banner_list) update_banner_info = self.get_request_data(func_name) banner_name = update_banner_info['bannerName'] query_banner_info = None for banner in banner_list: if banner['bannerName'] == banner_name: query_banner_info = banner gl.set_value('banner_info', query_banner_info) for data in query_banner_info: update_banner_info[data] = query_banner_info[data] update_banner_info['imgs'][0]['url'] = query_banner_info[ 'bannerPicUrl'] update_banner_info['imgs'][0]['uid'] = int(time.time() * 1000) for date in [ 'bannerShowStartDate', 'bannerShowEndDate', 'bannerStartDate', 'bannerEndDate' ]: banner_time = time.strftime( "%Y.%m.%d", time.localtime(query_banner_info[date] / 1000)) start_end_time = 'showStartEndTime' if 'Show' in date else 'startEndTime' update_banner_info[start_end_time].append(banner_time) res = self.get_result(func_name, var_params=update_banner_info) actual_result = res[0].json()['data'] expect_result = self.get_expect_result(func_name) self.update_result(row, actual_result, expect_result)
def test_urine_v2_machineInfo_batchSetMacH5Version(self): """ 批量管理首页 :return: """ func_name = sys._getframe().f_code.co_name row = self.get_case_row_index(func_name) mac_h5_version = self.get_request_data(func_name) mac_h5_version['adPlanId'] = random.sample(gl.get_value('adPlanList'), 1)[0]['keyID'] mac_h5_version['adImagePackId'] = random.sample( gl.get_value('adImagePackList'), 1)[0]['keyID'] res = self.get_result(func_name, var_params=mac_h5_version) actual_result = res[0].json()['errmsg'] expect_result = self.get_expect_result(func_name) self.update_result(row, actual_result, expect_result)
def test_urine_v2_recommendGoodsInfo_moveupdown(self): """ 交换推荐商品顺序 :return: """ func_name = sys._getframe().f_code.co_name recommend_goodsInfo_list = gl.get_value('recommend_goodsInfo_list')
def update_result(self, row, actual_result, expect_result): """ 更新excel表格测试结果并进行断言 :param row: :param actual_result: :param expect_result: :return: """ if actual_result in expect_result: self.run_case.case_info.update_actual_result( self.actual_result, row, 'pass') gl.get_value('pass_case_list').append( self.run_case.case_info.get_id(self.id, row)) else: self.run_case.case_info.update_actual_result( self.actual_result, row, 'fail') gl.get_value('fail_case_list').append( self.run_case.case_info.get_id(self.id, row)) assert actual_result in expect_result
def test_urine_v2_goodsInfo_updateGoodsInfo(self): """ 更新商品信息 :return: """ func_name = sys._getframe().f_code.co_name row = self.get_case_row_index(func_name) update_goods_info = self.get_request_data(func_name) goods_name = update_goods_info['goodsName'] # goods_list = self.get_depend_params(func_name) goods_list = gl.get_value('goods_list') for goods in goods_list: if goods['goodsName'] == goods_name: gl.set_value('goods_info', goods) for data in update_goods_info: gl.get_value('goods_info')[data] = update_goods_info[data] res = self.get_result(func_name, var_params=gl.get_value('goods_info')) actual_result = res[0].json()['data'] expect_result = self.get_expect_result(func_name) self.update_result(row, actual_result, expect_result)
def test_urine_v2_machineInfo_upIsEnable(self): """ 启用禁用机器 :return: """ func_name = sys._getframe().f_code.co_name row = self.get_case_row_index(func_name) upIsEnable = self.get_request_data(func_name) upIsEnable['keyID'] = gl.get_value('keyID') res = self.get_result(func_name, var_params=upIsEnable) actual_result = res[0].json()['data'] expect_result = self.get_expect_result(func_name) self.update_result(row, actual_result, expect_result)
def test_urine_v2_bannerInfo_delete(self): """ 删除小程序banner :return: """ func_name = sys._getframe().f_code.co_name banner_info = gl.get_value('banner_info') key_id = {'keyID': banner_info['keyID']} res = self.get_result(func_name, var_params=key_id) actual_result = res[0].json()['errmsg'] row = self.get_case_row_index(func_name) expect_result = self.get_expect_result(func_name) self.update_result(row, actual_result, expect_result)
def send_email(self): """ 发送邮件 :return: """ cf = ConfReader(self.datadir) pass_case_num = len(gl.get_value('pass_case_list')) fail_case_num = len(gl.get_value('fail_case_list')) total_case_num = pass_case_num + fail_case_num print(pass_case_num, fail_case_num) pass_rate = "%.2f%%" % (pass_case_num / total_case_num * 100) fail_rate = "%.2f%%" % (fail_case_num / total_case_num * 100) smtpserver = cf.get_field_value(self.emailsec, self.smtpserver) sender = cf.get_field_value(self.emailsec, self.sender) password = cf.get_field_value(self.emailsec, self.password) receiver = cf.get_field_value(self.emailsec, self.receiver).split(",") username = cf.get_field_value(self.emailsec, self.username) subject = cf.get_field_value(self.emailsec, self.subject) content = cf.get_field_value(self.emailsec, self.content) % ( total_case_num, pass_case_num, fail_case_num, pass_rate, fail_rate) filename = cf.get_field_value(self.emailsec, self.filename) send_email = SendEmail(smtpserver, sender, password) send_email.send(username, receiver, subject, content, filename)
def test_urine_v2_urineInfoList_getResult(self): """ 查看尿液检测报告 :return: """ func_name = sys._getframe().f_code.co_name row = self.get_case_row_index(func_name) mac_token = self.get_request_data(func_name) urineinfolist = gl.get_value('urineinfolist') mac_token['macToken'] = random.sample(urineinfolist, 1)[0]['macToken'] res = self.get_result(func_name, var_params=mac_token) actual_result = res[0].json()['errmsg'] expect_result = self.get_expect_result(func_name) self.update_result(row, actual_result, expect_result)
def test_urine_v2_adPlanInfo_deleteAdPlan(self): """ 删除视频广告策略 :return: """ func_name = sys._getframe().f_code.co_name key_id = self.get_request_data(func_name) key_id_list = gl.get_value('key_id_list') expect_result = self.get_expect_result(func_name) for key in key_id_list: key_id['keyId'] = key res = self.get_result(func_name, var_params=key_id) actual_result = res[0].json()['errmsg'] self.assertIn(actual_result, expect_result)
def test_urine_v2_goodsInfo_removeGoodsInfo(self): """ 删除商品 :return: """ func_name = sys._getframe().f_code.co_name row = self.get_case_row_index(func_name) goods_info = self.get_request_data(func_name) for data in goods_info: goods_info[data] = gl.get_value('goods_info')[data] res = self.get_result(func_name, var_params=goods_info) actual_result = res[0].json()['data'] expect_result = self.get_expect_result(func_name) self.update_result(row, actual_result, expect_result)
def test_urine_v2_recommendGoodsInfo_add(self): """ 添加推荐商品 :return: """ func_name = sys._getframe().f_code.co_name recommended_commodity_info = self.get_request_data(func_name) expect_result = self.get_expect_result(func_name) recommended_commodity_info['recommendGoodsPicUrl'] += gl.get_value('hash') for date in ['recommendGoodsShowStartDate', 'recommendGoodsShowEndDate', 'recommendGoodsStartDate', 'recommendGoodsEndDate']: recommended_commodity_info[date] = int(time.time()*1000) for show_type in range(2): for use_type in range(3): recommended_commodity_info['useType'] = use_type recommended_commodity_info['showType'] = show_type res = self.get_result(func_name, var_params=recommended_commodity_info) actual_result = res[0].json()['data'] self.assertIn(actual_result, expect_result)
def test_urine_v2_bannerInfo_moveupdown(self): """ 交换小程序banner序号 :return: """ func_name = sys._getframe().f_code.co_name BANNER_NUM = 2 banner_list = gl.get_value('banner_list') rand_two_banner = random.sample(banner_list, BANNER_NUM) key_id_list = [] for banner in rand_two_banner: key_id_list.append(banner['keyID']) exchange_id = {'fromId': key_id_list[0], 'toId': key_id_list[1]} res = self.get_result(func_name, var_params=exchange_id) actual_result = res[0].json()['data'] row = self.get_case_row_index(func_name) expect_result = self.get_expect_result(func_name) self.update_result(row, actual_result, expect_result)
def test_urine_v2_goodsInfo_saveGoodsInfo(self): """ 添加商品 :return: """ func_name = sys._getframe().f_code.co_name hash = gl.get_value('hash') row = self.get_case_row_index(func_name) request_data = self.get_request_data(func_name) for imgs in ['imgs', 'detailImgs', 'bigProductImgs', 'bigImgs']: request_data[imgs] += hash randomId = random.random() randomId_en = random.random() request_data['goodsScenes'][0]['randomId'] = randomId request_data['goodsScenesEn'][0]['randomId'] = randomId_en res = self.get_result(func_name, var_params=request_data) actual_result = res[0].json()['data'] expect_result = self.get_expect_result(func_name) self.update_result(row, actual_result, expect_result)
def tearDownClass(cls): """ 删除创建的机器 :return: """ conf_read = ConfReader(cls.datadir) login_info = conf_read.get_database_logininfo(cls.dbsec, cls.host, cls.user, cls.password, cls.port, cls.database, cls.charset) operation_mysql = OperationMysql( login_info['host'], login_info['user'], login_info['password'], login_info['port'], login_info['database'], login_info['charset']) machineID = gl.get_value('machineID') for table in cls.tables: sql_cmd = 'delete from %s where MachineId = %s' % (table, machineID) operation_mysql.execute_sql(sql_cmd) operation_mysql.close_connect()
def get_result(self, func_name, fileparams=None, var_params=None, domain=True): """ 执行用例,并返回结果 :param func_name: :param fileparams: :param var_params: :return: """ row = self.get_case_row_index(func_name) cookies = gl.get_value('cookies') res = self.run_case.execution_request(self.url, self.request_method, self.header, self.request_field, fileparams, var_params, row, cookies, domain) return res
def test_urine_v2_recommendGoodsInfo_update(self): """ 更新推荐商品信息 :return: """ func_name = sys._getframe().f_code.co_name update_commodity_info = self.get_request_data(func_name) recommend_goodsInfo_list = gl.get_value('recommend_goodsInfo_list') expect_result = self.get_expect_result(func_name) update_goodsInfo_list = [] for goodsinfo in recommend_goodsInfo_list: if goodsinfo['recommendGoodsName'] == update_commodity_info['recommendGoodsName']: update_goodsInfo_list.append(goodsinfo) for goodsinfo in update_goodsInfo_list: goodsinfo['cityID'] = update_commodity_info['cityID'] goodsinfo['showStartEndTime'] = update_commodity_info['showStartEndTime'] goodsinfo['startEndTime'] = update_commodity_info['startEndTime'] res = self.get_result(func_name, var_params=goodsinfo) actual_result = res[0].json()['data'] self.assertIn(actual_result, expect_result)
def test_urine_v2_adPlanInfo_canBeDelete(self): """ 视频广告策略能否被删除 :return: """ func_name = sys._getframe().f_code.co_name ad_plan_name = self.get_request_data(func_name) plan_name = ad_plan_name['planName'] ad_plan_list = gl.get_value('ad_plan_list') expect_result = self.get_expect_result(func_name) key_id_list = [] for ad in ad_plan_list: if ad['planName'] == plan_name: key_id = {} key_id['keyId'] = ad['keyID'] res = self.get_result(func_name, var_params=key_id) actual_result = res[0].json()['errmsg'] self.assertIn(actual_result, expect_result) data = res[0].json()['data'] self.assertEqual(data, 0) key_id_list.append(key_id['keyId']) gl.set_value('key_id_list', key_id_list)
def test_urine_v2_bannerInfo_add(self): """ 添加小程序banner :return: """ func_name = sys._getframe().f_code.co_name row = self.get_case_row_index(func_name) hash = gl.get_value('hash') banner_info = self.get_request_data(func_name) timestamp = int(time.time() * 1000) for date in [ 'bannerShowStartDate', 'bannerShowEndDate', 'bannerStartDate', 'bannerEndDate' ]: banner_info[date] = timestamp banner_info['imgs'][0]['uid'] = timestamp banner_info['imgs'][0]['url'] += hash banner_info['bannerPicUrl'] += hash res = self.get_result(func_name, var_params=banner_info) actual_result = res[0].json()['errmsg'] expect_result = self.get_expect_result(func_name) self.update_result(row, actual_result, expect_result)
def test_urine_v2_activityInfo_update(self): """ 更新运营活动配置信息 :return: """ func_name = sys._getframe().f_code.co_name activityInfo_list = gl.get_value('activityInfo_list') activity_info = random.sample(activityInfo_list, 1)[0] activity_info_copy = activity_info.copy() activity_info_copy['activityStartDate'] = datetime.datetime.now( ).strftime('%Y-%m-%dT%H:%M:%S.000Z') activity_info_copy['activityEndDate'] = ( datetime.datetime.now() + datetime.timedelta(days=10)).strftime("%Y-%m-%dT%H:%M:%S.000Z") activity_info_copy['isEnable'] = 0 activity_info_copy['isLableShow'] = 0 expect_result = self.get_expect_result(func_name) res = self.get_result(func_name, var_params=activity_info_copy) actual_result = res[0].json()['data'] self.assertIn(actual_result, expect_result) res = self.get_result(func_name, var_params=activity_info) actual_result = res[0].json()['data'] self.assertIn(actual_result, expect_result)