class UCFactory(object): def __init__(self, host): self.uc = UC() self.nd_uc_o = NdUc() self.rest_o = CoRestful.Restful() self.rand_o = CoRand() self.host = host def get_tokens(self): """ 获取token """ username = '******' passwords = '123456' pwd_md5 = self.nd_uc_o.get_password_md5(passwords) response = self.uc.get_tokens(username, pwd_md5) return response def parse_tokens(self, response, http_method, request_url): """ 解析token """ data_dec = self.rest_o.parse_response(response, 201, '解析token错误') mid = data_dec['access_token'] mac_key = data_dec['mac_key'] now = int(time.time()) if len(str(now)) == 10: timestamp = str(now) + '000' else: timestamp = str(now)[0:9] + str(int(float(str(now)[9:])*1000)) nonce = timestamp + ':' + self.rand_o.randomword(4) + str(random.randrange(1000, 9999)) request_content = nonce + '\n' + http_method + '\n' + request_url + '\n' + self.host + '\n' mac = base64.b64encode(new(str(mac_key), str(request_content), digestmod=hashlib.sha256).digest()) authorization = 'MAC id="' + str(mid) + '",nonce="' + str(nonce) + '",mac="' + str(mac) + '"' print authorization return str(authorization) def insert_authorization_to_header(self, http_obj, url, http_method): """ 在header中设置安全认证 """ response = self.get_tokens() authorization = self.parse_tokens(response, http_method, url) header = { "Accept": "application/json", "Content-Type": "application/json", "Authorization":authorization } http_obj.set_header(header) return http_obj
def test_get_sweeping_pet_info_success(self): """ 查看玩家派出去打扫的宠物信息成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] apartment_code = 1 res = self.ar_con.get_all_apartment() res_data = json.loads(res) for apartment in res_data: if apartment["is_full"] == 1: apartment_code = apartment["apartment_code"] break res = self.ar_con.apply_apartment(apartment_code) res_data = json.loads(res) floor = res_data["floor"] pet_url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" res = self.ar_con.match_pet(pet_url) res_data = json.loads(res) pet_id = res_data["pet_id"] self.ar_con.capture_pet(pet_id) self.ar_con.sweep_apartment(apartment_code, user_id, floor) res = self.ar_con.get_sweeping_pet_info(apartment_code) res_data = json.loads(res) assert_that(res_data, has_key("pet_info"), "no pet_info response...") assert_that(res_data, has_key("countdown"), "no countdown response...") assert_that(res_data["pet_info"], has_key("pet_id"), "no pet_id response...") assert_that(res_data["pet_info"], has_key("pet_code"), "no pet_code response...") assert_that(res_data["pet_info"], has_key("user_id"), "no user_id response...") assert_that(res_data["pet_info"], has_key("name"), "no name response...") assert_that(res_data["pet_info"], has_key("quality"), "no quality response...")
def test_repeat_login(self): """ 重复登录\ 开发:黄良江(900000)\ 测试:魏春旺(100861) """ account_id = 100861 user_type = "im" self.ar_con.login(account_id, user_type) nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) res = self.ar_con.login(account_id, user_type) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NO_FOUND_HANDLER["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NO_FOUND_HANDLER["err_msg"]), "response msg mismatching...")
def test_give_friend_energy_give_more_than_50(self): """ 赠送体力--每天赠送体力无上限(测试60次)\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "创建玩家A:" account_id = CoRand.get_rand_int(100001) uc_id = CoRand.get_rand_int() res = self.ar_con.login(account_id, "im", uc_id) res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) number = 1 while number < 61: print "创建好友玩家" + str(number) + ":" locals()['account_id_' + str(number)] = CoRand.get_rand_int(100001) locals()['uc_id_' + str(number)] = CoRand.get_rand_int() locals()['self.ar_con' + str(number)] = ARControl() locals()['self.ar_con' + str(number)].connect_server() res = locals()['self.ar_con' + str(number)].login( locals()['account_id_' + str(number)], "im", locals()['uc_id_' + str(number)], ) res_data = json.loads(res) locals()['user_id_' + str(number)] = res_data["user_id"] locals()['nick_name_' + str(number)] = CoRand.get_random_word_filter_sensitive(6) locals()['self.ar_con' + str(number)].modify_info( locals()['nick_name_' + str(number)]) locals()['self.ar_con' + str(number)].add_friend(user_id) print "玩家A同意添加好友" + str(number) + ",并赠送体力:" self.ar_con.get_rev() self.ar_con.deal_add_friend(locals()['user_id_' + str(number)], 1) res = self.ar_con.give_friend_energy(locals()['user_id_' + str(number)]) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") number += 1
def test_set_follow_pet_from_stage_pet(self): """ 舞台宠设置为随身宠成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" res = self.ar_con.scan_face(url, "la", 1) res_data = json.loads(res) pet_id = res_data["pet_id"] self.ar_con.capture_pet(pet_id) res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) theme_park_id = res_data["park_id"] res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) star = res_data["star"] self.ar_con.equip_pet(theme_park_id, pet_id, 1) res = self.ar_con.set_follow_pet(theme_park_id, pet_id) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_PET_NOT_FREE["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_PET_NOT_FREE["err_msg"]), "response msg mismatching...") res = self.ar_con.get_user_info(user_id) res_data = json.loads(res) assert_that(res_data, has_key("star"), "no pet_id1 response...") assert_that(res_data["star"], equal_to(star + 1), "response pet_id1 error...")
def test_modify_info_nick_name_chinese(self): """ 修改角色信息成功,角色名称中文\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(100861, "im") nick_name = CoRand.get_rand_chinese(7) json_body = { "sex": 1, "icon": "https://www.baidu.com/", "nick_name": nick_name } res = self.ar_con.get_res(self.api_name, json_body) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...")
def test_sell_pet_notexist(self): """ 出售不存在的宠物\ 开发:黄良江(900000)\ 测试:林冰晶(791099) 目前提示参数错误,建议修改 """ self.ar_con.login(100861, "im") pet_ids = [] pet_id = CoRand.get_rand_int() pet_ids.append(pet_id) res = self.ar_con.sell_pet(pet_ids) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_INVALID_REQUEST_PARAM["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_INVALID_REQUEST_PARAM["err_msg"]), "response msg mismatching...")
def test_get_friend_energy_pp_more_than_50(self): """ 领取体力--体力值>50,不可领取\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "玩家A登陆,修改体力值100:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) self.sql = ModifySql() self.sql.update_user(user_id_1, "pp", 100) self.ar_con.gm_reload_user_data(user_id_1) print "创建好友玩家B:" account_id_2 = CoRand.get_rand_int(100001) uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.ar_con2.add_friend(user_id_1) print "玩家A同意添加好友:" self.ar_con.get_rev() self.ar_con.deal_add_friend(user_id_2, 1) print "玩家B赠送体力:" self.ar_con2.get_rev() self.ar_con2.give_friend_energy(user_id_1) print "A领取体力:" res = self.ar_con.get_friend_energy(user_id_2) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_MAX_ENERGY["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_MAX_ENERGY["err_msg"]), "response msg mismatching...") res = self.ar_con.get_energy() res_data = json.loads(res) assert_that(res_data, has_key("pp"), "no pp response...") assert_that(res_data["pp"], equal_to(100), "response pp mismatch...")
def test_get_unread_msg_del_friend_online(self): """ 获取未读消息:被好友删除(在线)\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() print "创建玩家A:" res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) print "玩家B向A请求添加好友:" res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) self.ar_con.add_friend(user_id_2) print "A同意好友请求:" self.ar_con2.get_rev() self.ar_con2.deal_add_friend(user_id_1, 1) print "B收到好友同意消息:" self.ar_con.get_rev() self.ar_con2.get_friend_list() print "A删除好友B:" res = self.ar_con2.del_friend(user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") print "B收到消息:" res = self.ar_con.get_rev() res_data = json.loads(res) assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id_2), "response user_id mismatch...")
def test_get_friend_energy_repeat(self): """ 领取体力--重复领取\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "玩家A登陆:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) print "创建好友玩家B:" account_id_2 = CoRand.get_rand_int(100001) uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.ar_con2.add_friend(user_id_1) print "玩家A同意添加好友:" self.ar_con.get_rev() self.ar_con.deal_add_friend(user_id_2, 1) print "玩家B赠送体力:" self.ar_con2.get_rev() self.ar_con2.give_friend_energy(user_id_1) print "A重复领取体力:" self.ar_con.pm_set_role_data("pp", 40) self.ar_con.get_friend_energy(user_id_2) res = self.ar_con.get_friend_energy(user_id_2) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_ENERGY_HAD_GET["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_ENERGY_HAD_GET["err_msg"]), "response msg mismatching...") res = self.ar_con.get_energy() res_data = json.loads(res) assert_that(res_data, has_key("pp"), "no pp response...") assert_that(res_data["pp"], equal_to(41), "response pp mismatch...")
def test_sell_pet_success(self): """ 出售单只宠物成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] pet_ids = [] res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["pet_id"] self.ar_con.capture_pet(pet_id) pet_ids.append(res_data["pet_id"]) res = self.ar_con.sell_pet(pet_ids) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") res = self.ar_con.get_pet_info(pet_id) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_NOT_FOUND_PET["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_NOT_FOUND_PET["err_msg"]), "response msg mismatching...")
def test_apply_apartment_repeat(self): """ 玩家申请入住公寓失败,重复入住\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) self.ar_con.login(account_id, "im") apartment_code = 1 res = self.ar_con.get_all_apartment() res_data = json.loads(res) for apartment in res_data: if apartment["is_full"] == 1: apartment_code = apartment["apartment_code"] break self.ar_con.apply_apartment(apartment_code) res = self.ar_con.apply_apartment(apartment_code) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_PLAYER_HAS_IN_APARTMENT["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_PLAYER_HAS_IN_APARTMENT["err_msg"]), "response msg mismatching...")
def test_equip_pet_from_follow_pet(self): """ 随身宠不能装备成舞台宠\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] res = self.ar_con.get_theme_park(user_id, -1) res_data = json.loads(res) theme_park_id = res_data["park_id"] pet_id = res_data["follow_pet_id"] res = self.ar_con.equip_pet(theme_park_id, pet_id, -1) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_PET_NOT_FREE["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_PET_NOT_FREE["err_msg"]), "response msg mismatching...")
def test_get_apartment_list_success(self): """ 获取所有公寓列表成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] apartment_code = 1 res = self.ar_con.get_all_apartment() res_data = json.loads(res) for apartment in res_data: if apartment["is_full"] == 1: apartment_code = apartment["apartment_code"] break res = self.ar_con.apply_apartment(apartment_code) res_data = json.loads(res) floor = res_data["floor"] res = self.ar_con.get_apartment_list(user_id) res_data = json.loads(res) for apartment in res_data: assert_that(apartment, has_key("user_id"), "no user_id response...") assert_that(apartment["user_id"], equal_to(user_id), "response user_id mismatching...") assert_that(apartment, has_key("apartment_code"), "no apartment_code response...") assert_that(apartment["apartment_code"], equal_to(apartment_code), "response apartment_code mismatching...") assert_that(apartment, has_key("floor"), "no floor response...") assert_that(apartment["floor"], equal_to(floor), "response floor mismatching...")
def test_upgrade_pet_part_error_part(self): """ 升级部件失败,part错误\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ self.ar_con.login(self.account_id, "im") res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con.capture_pet(pet_id) self.ar_con.set_cultivate_pet(pet_id) part = CoRand.get_rand_int() res = self.ar_con.upgrade_pet_part(part) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_INVALID_REQUEST_PARAM["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_INVALID_REQUEST_PARAM["err_msg"]), "response msg mismatching...")
def test_get_unread_msg_add_friend_offline(self): """ 获取未读消息--添加好友(不在线)\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "创建玩家2后离线:" self.ar_con2 = ARControl() self.ar_con2.connect_server() account_id_2 = CoRand.get_rand_int(100001) uc_id_2 = CoRand.get_rand_int() res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.ar_con2.close() time.sleep(1) print "玩家1向2请求添加好友:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) self.ar_con.add_friend(user_id_2) print "玩家2登陆后获取未读消息:" self.ar_con2.connect_server() res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] res = self.ar_con2.get_unread_msg() res_data = json.loads(res) assert res_data != [], "response mismatch..." for i in res_data: assert_that(i, has_key("msg"), "no msg response...") assert_that(i["msg"], has_key("type"), "no type response...") assert_that(i["msg"]["type"], equal_to(1), "response type mismatch...") assert_that(i["msg"], has_key("user_id"), "no user_id response...") assert_that(i["msg"]["user_id"], equal_to(user_id_1), "response user_id mismatch...")
def test_add_friend_already_added(self): """ 已是好友,再次请求添加好友\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() account_id_2 = CoRand.get_rand_int(100001) uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() print "玩家2执行操作:" res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) print "玩家1执行操作:" res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) self.ar_con.add_friend(user_id_2) print "玩家2执行操作:" self.ar_con2.get_rev() self.ar_con2.deal_add_friend(user_id_1, 1) print "玩家1执行操作:" self.ar_con.get_rev() res = self.ar_con.add_friend(user_id_2) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_FRIEND_ALREADY_EXISTED["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_FRIEND_ALREADY_EXISTED["err_msg"]), "response msg mismatching...")
def test_deal_add_friend_agree(self): """ 同意添加好友请求成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() print "玩家2执行操作:" res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) print "玩家1执行操作:" res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) self.ar_con.add_friend(user_id_2) print "玩家2执行操作:" self.ar_con2.get_rev() op = 1 res = self.ar_con2.deal_add_friend(user_id_1, op) res_data = json.loads(res) assert_that(res_data, has_key("convid"), "no convid response...") res = self.ar_con2.get_friend_list() res_data = json.loads(res) for friend in res_data: assert_that(friend, has_key("user_id"), "no user_id response...") assert_that(friend["user_id"], equal_to(user_id_1), "response user_id mismatch") assert_that(friend, has_key("nick_name"), "no nick_name response...") assert_that(friend, has_key("sex"), "no sex response...") assert_that(friend, has_key("icon"), "no icon response...") assert_that(friend, has_key("star"), "no star response...") assert_that(friend["star"], equal_to(0), "response user_id mismatch")
def test_deal_add_friend_refuse(self): """ 拒绝添加好友请求成功\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() print "玩家2执行操作:" res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) print "玩家1执行操作:" res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) self.ar_con.add_friend(user_id_2) print "玩家2执行操作:" self.ar_con2.get_rev() op = -1 res = self.ar_con2.deal_add_friend(user_id_1, op) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") res = self.ar_con2.get_friend_list() res_data = json.loads(res) assert_that(res_data, equal_to([]), "response mismatch...")
def test_get_unread_msg_deal_add_friend_refuse_online(self): """ 获取未读消息--拒绝添加好友(在线)\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() account_id_2 = CoRand.get_rand_int(100001) uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() print "玩家2执行操作:" res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) print "玩家1执行操作:" res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) self.ar_con.add_friend(user_id_2) print "玩家2执行操作:" self.ar_con2.get_rev() self.ar_con2.deal_add_friend(user_id_1, -1) print "玩家1执行操作:" res = self.ar_con.get_rev() res_data = json.loads(res) assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id_2), "response user_id mismatch...") assert_that(res_data, has_key("op"), "no op response...") assert_that(res_data["op"], equal_to(-1), "response op mismatch...") assert_that(res_data, has_key("type"), "no type response...") assert_that(res_data["type"], equal_to(2), "response type mismatch...")
def test_get_reward_others(self): """ 获取悬赏令信息:获取其他玩家悬赏令信息\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "创建悬赏令使用者:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_1 = res_data["item_id"] self.ar_con.capture_pet(item_id_1) self.ar_con.set_cultivate_pet(item_id_1) part_1 = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part_1) print "创建攻击者玩家:" account_id_3 = CoRand.get_rand_int(100001) uc_id_3 = CoRand.get_rand_int() self.ar_con3 = ARControl() self.ar_con3.connect_server() res = self.ar_con3.login(account_id_3, "im", uc_id_3) res_data = json.loads(res) user_id_3 = res_data["user_id"] nick_name_3 = CoRand.get_random_word_filter_sensitive(6) self.ar_con3.modify_info(nick_name_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "guidance", 131071) self.ar_con3.gm_reload_user_data(user_id_3) res = self.ar_con3.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_3 = res_data["item_id"] self.ar_con3.capture_pet(item_id_3) self.ar_con3.set_cultivate_pet(item_id_3) part_3 = CoRand.get_rand_int(1, 5) self.ar_con3.upgrade_pet_part(part_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "lottery_type", 104) self.ar_con3.gm_reload_user_data(user_id_3) self.ar_con3.attack_pet(part_1, user_id_1) print "悬赏令使用者通缉攻击者:" self.ar_con.get_rev() self.ar_con.reward_player(1, user_id_3) res = self.ar_con.get_enemy_list() res_data = json.loads(res) assert_that(res_data, has_key("reward_list"), "no reward_list response...") assert_that(res_data["reward_list"][0], has_key("reward_id"), "no reward_id response...") reward_id = res_data["reward_list"][0]["reward_id"] print "创建其他玩家:" account_id_4 = CoRand.get_rand_int(100001) uc_id_4 = CoRand.get_rand_int() self.ar_con4 = ARControl() self.ar_con4.connect_server() res = self.ar_con4.login(account_id_4, "im", uc_id_4) res_data = json.loads(res) user_id_4 = res_data["user_id"] nick_name_4 = CoRand.get_random_word_filter_sensitive(6) self.ar_con4.modify_info(nick_name_4) res = self.ar_con4.get_reward(reward_id) res_data = json.loads(res) assert_that(res_data, has_key("reward_id"), "no reward_id response...") assert_that(res_data["reward_id"], equal_to(reward_id), "response reward_id mismatch...") assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id_1), "response user_id mismatch...") assert_that(res_data, has_key("be_reward_user_id"), "no be_reward_user_id response...") assert_that(res_data["be_reward_user_id"], equal_to(user_id_3), "response be_reward_user_id mismatch...") assert_that(res_data, has_key("end_time"), "no end_time response...") assert_that(res_data, has_key("left_times"), "no left_times response...") assert_that(res_data["left_times"], equal_to(10), "response left_times mismatch...") assert_that(res_data, has_key("reward_type"), "no left_times response...") assert_that(res_data["reward_type"], equal_to(1), "response left_times mismatch...")
def test_attack_pet_twice(self): """ 同部件两次被攻击,部件等级重置为0,星章数-1\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) self.ar_con2 = ARControl() self.ar_con2.connect_server() print "创建玩家1:" res = self.ar_con.login(account_id_1, "im") res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con.capture_pet(pet_id) self.ar_con.set_cultivate_pet(pet_id) part = CoRand.get_rand_int(1, 5) res = self.ar_con.upgrade_pet_part(part) res_data = json.loads(res) user1_coin_before = res_data["coin"] print "创建玩家2两次攻击1:" res = self.ar_con2.login(account_id_2, "im") res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) self.ar_con2.attack_pet(part, user_id_1) self.ar_con.get_rev() self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) res = self.ar_con2.attack_pet(part, user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("coin"), "no coin response...") assert_that(res_data, has_key("win_coin"), "no win_coin response...") assert_that(res_data["win_coin"], equal_to(300000), "response coin mismatch...") assert_that(res_data, has_key("star"), "no star response...") assert_that(res_data["star"], equal_to(0), "response star mismatch...") print "玩家1查看宠物信息:" self.ar_con.get_rev() res = self.ar_con.get_user_info(user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("can_attack"), "no can_attack response...") assert_that(res_data["can_attack"], equal_to(0), "response can_attack mismatch...") assert_that(res_data, has_key("coin"), "no coin response...") assert_that(res_data["coin"], equal_to(user1_coin_before), "response coin mismatch...") res = self.ar_con.get_pet_info(pet_id, user_id_1) res_data = json.loads(res) attack_part_status = self.total_part_name[part - 1] + "_status" attack_part_level = self.total_part_name[part - 1] + "_level" assert_that(res_data, has_key(attack_part_status), "no attack_part_name response...") assert_that(res_data[attack_part_status], equal_to(0), "response attack_part_name mismatch...") assert_that(res_data, has_key(attack_part_level), "no attack_part_level response...") assert_that(res_data[attack_part_level], equal_to(0), "response attack_part_level mismatch...")
def test_get_rich_player_list_success(self): """ 获取富豪列表--获取8位玩家,富豪金币>=10w,富豪金币>其余玩家金币>=1w,排除玩家本人\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) self.sql = ModifySql() self.sql.update_user(user_id, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id) self.sql = ModifySql() self.sql.update_user(user_id, "lottery_type", 105) self.ar_con.gm_reload_user_data(user_id) res = self.ar_con.get_rich_player_list() res_data = json.loads(res) assert res_data != [] user_ids = [] coins = [] for i in res_data: assert_that(i, has_key("nick_name"), "no nick_name response...") assert_that(i, has_key("name"), "no name response...") assert_that(i, has_key("icon"), "no icon response...") assert_that(i, has_key("has_glass"), "no has_glass response...") assert_that(i, has_key("head_status"), "no head_status response...") assert_that(i, has_key("head_level"), "no head_level response...") assert_that(i, has_key("arm_status"), "no arm_status response...") assert_that(i, has_key("arm_level"), "no arm_level response...") assert_that(i, has_key("clothes_status"), "no clothes_status response...") assert_that(i, has_key("clothes_level"), "no clothes_level response...") assert_that(i, has_key("skirt_status"), "no skirt_status response...") assert_that(i, has_key("skirt_level"), "no skirt_level response...") assert_that(i, has_key("shoes_status"), "no shoes_status response...") assert_that(i, has_key("shoes_level"), "no shoes_level response...") assert_that(i, has_key("pet_code"), "no pet_code response...") assert_that(i, has_key("pet_id"), "no pet_id response...") assert_that(i, has_key("user_id"), "no user_id response...") user_ids.append(i["user_id"]) res_info = self.ar_con.get_user_info(i["user_id"]) res_info_data = json.loads(res_info) coins.append(res_info_data["coin"]) assert_that(res_info_data, has_key("pet_idx"), "no pet_idx response...") assert_that(res_info_data["pet_idx"], not_(0), "response pet_idx mismatch...") coin_max = max(coins) coin_min = min(coins) assert_that(coin_max, greater_than(100000), "response coin less than 10w...") assert_that(coin_min, greater_than_or_equal_to(10000), "response coin less than 1w...") assert user_id not in user_ids assert_that(res_data, has_length(4), "response length mismatch...")
def test_get_rich_player_list_friend_rich(self): """ 获取富豪列表--有好友金币>10w,抽取概率好友50%、陌生人50%\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id_1 = CoRand.get_rand_int(100001) account_id_2 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() print "创建玩家A:" res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) res = self.ar_con2.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) pet_id = res_data["item_id"] self.ar_con2.capture_pet(pet_id) self.ar_con2.set_cultivate_pet(pet_id) part = CoRand.get_rand_int(1, 5) self.ar_con2.upgrade_pet_part(part) print "创建好友玩家B:" res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) self.sql = ModifySql() self.sql.update_user(user_id_1, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id_1) self.ar_con.add_friend(user_id_2) print "A同意添加好友:" self.ar_con2.get_rev() self.ar_con2.deal_add_friend(user_id_1, 1) print "B执行50次获取富豪操作:" self.ar_con.get_rev() friend_num = 0 rand_num = 0 for i in range(0, 50): user_total_ids = [] coins = [] self.sql = ModifySql() self.sql.update_user(user_id_1, "lottery_type", 105) self.ar_con.gm_reload_user_data(user_id_1) res = self.ar_con.get_rich_player_list() res_data = json.loads(res) for j in res_data: assert_that(j, has_key("user_id"), "no user_id response...") user_total_ids.append(j["user_id"]) res_info = self.ar_con.get_user_info(j["user_id"]) res_info_data = json.loads(res_info) coins.append(res_info_data["coin"]) print user_total_ids if user_id_2 in user_total_ids: friend_num += 1 else: rand_num += 1 rich_user_index = coins.index(max(coins)) rich_user_id = user_total_ids[rich_user_index] user_ids = [rich_user_id] self.ar_con.catch_player_list(user_ids) self.sql = ModifySql() self.sql.update_user(user_id_2, "coin", 1000000) self.ar_con2.gm_reload_user_data(user_id_2) print "转盘50次,抽中好友次数:" + str(friend_num) print "转盘50次,抽中随机玩家次数:" + str(rand_num)
def test_get_reward_add_reward_attack(self): """ 获取悬赏令信息--获取追加悬赏令信息,包含追加前和追加后的信息\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "悬赏令使用者A登陆:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_1 = res_data["item_id"] self.ar_con.capture_pet(item_id_1) self.ar_con.set_cultivate_pet(item_id_1) part_1 = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part_1) print "创建好友玩家B:" account_id_2 = CoRand.get_rand_int(100001) uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.ar_con2.add_friend(user_id_1) print "A同意添加好友B:" self.ar_con.get_rev() self.ar_con.deal_add_friend(user_id_2, 1) print "B收到消息:" self.ar_con2.get_rev() print "创建好友玩家D:" account_id_4 = CoRand.get_rand_int(100001) uc_id_4 = CoRand.get_rand_int() self.ar_con4 = ARControl() self.ar_con4.connect_server() res = self.ar_con4.login(account_id_4, "im", uc_id_4) res_data = json.loads(res) user_id_4 = res_data["user_id"] nick_name_4 = CoRand.get_random_word_filter_sensitive(6) self.ar_con4.modify_info(nick_name_4) self.ar_con4.add_friend(user_id_1) print "A同意添加好友D:" self.ar_con.get_rev() self.ar_con.deal_add_friend(user_id_4, 1) print "D收到消息:" self.ar_con4.get_rev() print "创建攻击者玩家C:" account_id_3 = CoRand.get_rand_int(100001) uc_id_3 = CoRand.get_rand_int() self.ar_con3 = ARControl() self.ar_con3.connect_server() res = self.ar_con3.login(account_id_3, "im", uc_id_3) res_data = json.loads(res) user_id_3 = res_data["user_id"] nick_name_3 = CoRand.get_random_word_filter_sensitive(6) self.ar_con3.modify_info(nick_name_3) res = self.ar_con3.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_3 = res_data["item_id"] self.ar_con3.capture_pet(item_id_3) self.ar_con3.set_cultivate_pet(item_id_3) part_3 = CoRand.get_rand_int(1, 5) self.ar_con3.upgrade_pet_part(part_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "guidance", 131071) self.ar_con3.gm_reload_user_data(user_id_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "lottery_type", 104) self.ar_con3.gm_reload_user_data(user_id_3) self.ar_con3.attack_pet(part_1, user_id_1) print "A使用普通通缉令通缉C:" self.ar_con.get_rev() res = self.ar_con.reward_player(0, user_id_3) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") res = self.ar_con.get_enemy_list() res_data = json.loads(res) assert_that(res_data, has_key("reward_list"), "no reward_list response...") assert_that(res_data["reward_list"][0], has_key("reward_id"), "no reward_id response...") reward_id = res_data["reward_list"][0]["reward_id"] self.ar_con.evil_rank_list(0) print "好友玩家B收到消息,攻击被悬赏者C:" self.ar_con2.get_rev() self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.sql = ModifySql() self.sql.update_user(user_id_2, "lottery_type", 104) self.ar_con2.gm_reload_user_data(user_id_2) res = self.ar_con2.get_user_info(user_id_2) res_data = json.loads(res) coin_before = res_data["coin"] res = self.ar_con2.attack_pet(part_3, user_id_3, reward_id) res_data = json.loads(res) assert_that(res_data, has_key("win_coin"), "no win_coin response...") assert_that(res_data["win_coin"], equal_to(300000), "response win_coin mismatch...") assert_that(res_data, has_key("reward_coin"), "no reward_coin response...") assert_that(res_data["reward_coin"], equal_to(300000), "response reward_coin mismatch...") assert_that(res_data, has_key("coin"), "no coin response...") assert_that(res_data["coin"], equal_to(coin_before + 600000), "response reward_coin mismatch...") print"A获取悬赏令信息:" time.sleep(1) self.ar_con.get_rev() res = self.ar_con.get_reward_attack(reward_id) res_data = json.loads(res) assert_that(res_data[0], has_key("attack_time"), "no attack_time response...") assert_that(res_data[0], has_key("user_id"), "no user_id response...") assert_that(res_data[0]["user_id"], equal_to(user_id_2), "response user_id mismatch...") assert_that(res_data[0], has_key("nick_name"), "no nick_name response...") assert_that(res_data[0]["nick_name"], equal_to(nick_name_2), "response nick_name mismatch...") assert_that(res_data[0], has_key("toll"), "no toll response...") print "A追加高级悬赏令:" self.ar_con.reward_player(1, user_id_3) print "好友玩家D收到消息,攻击被悬赏者C:" self.ar_con4.get_rev() self.sql = ModifySql() self.sql.update_user(user_id_4, "guidance", 131071) self.ar_con4.gm_reload_user_data(user_id_4) self.sql = ModifySql() self.sql.update_user(user_id_4, "lottery_type", 104) self.ar_con4.gm_reload_user_data(user_id_4) res = self.ar_con4.attack_pet(part_3, user_id_3, reward_id) res_data = json.loads(res) assert_that(res_data, has_key("win_coin"), "no win_coin response...") assert_that(res_data["win_coin"], equal_to(300000), "response win_coin mismatch...") assert_that(res_data, has_key("reward_coin"), "no reward_coin response...") assert_that(res_data["reward_coin"], equal_to(300000), "response reward_coin mismatch...") assert_that(res_data, has_key("coin"), "no coin response...") # print "A自己攻击被悬赏者C:" # self.sql = ModifySql() # self.sql.update_user(user_id_1, "lottery_type", 104) # self.ar_con.gm_reload_user_data(user_id_1) # res = self.ar_con.attack_pet(part_3, user_id_3, reward_id) # res_data = json.loads(res) # assert_that(res_data[0], has_key("reward_coin"), "no reward_coin response...") # assert_that(res_data[0]["reward_coin"], equal_to(300000), "response reward_coin mismatch...") self.ar_con.get_rev() print"获取悬赏令信息:" time.sleep(1) res = self.ar_con.get_reward_attack(reward_id) res_data = json.loads(res) assert_that(res_data[0], has_key("attack_time"), "no attack_time response...") assert_that(res_data[0], has_key("user_id"), "no user_id response...") assert_that(res_data[0]["user_id"], equal_to(user_id_2), "response user_id mismatch...") assert_that(res_data[0], has_key("nick_name"), "no nick_name response...") assert_that(res_data[0]["nick_name"], equal_to(nick_name_2), "response nick_name mismatch...") assert_that(res_data[0], has_key("toll"), "no toll response...") assert_that(res_data[1], has_key("attack_time"), "no attack_time response...") assert_that(res_data[1], has_key("user_id"), "no user_id response...") assert_that(res_data[1]["user_id"], equal_to(user_id_4), "response user_id mismatch...") assert_that(res_data[1], has_key("nick_name"), "no nick_name response...") assert_that(res_data[1]["nick_name"], equal_to(nick_name_4), "response nick_name mismatch...") assert_that(res_data[1], has_key("toll"), "no toll response...")
def __init__(self): BaseTcp.__init__(self) MySocket.__init__(self, self.get_host(), self.get_port()) self.tag = CoRand.get_rand_int(0, 100000)
def test_scan_face_normal(self): """ 人脸扫描--使用普通扫描卡,普通扫描次数-1,可以生成灵魂宠、原生宠、金币\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) url = "http://192.168.19.220/v0.1/static/cscommon/avatar/123456789/123456789.jpg" res = self.ar_con.scan_face(url, "la", 0) res_data = json.loads(res) assert_that(res_data, has_key("item_type"), "no item_type response...") if res_data["item_type"] == 0: print "生成灵魂宠" assert_that(res_data, has_key("item_id"), "no item_id response...") assert_that(res_data, not has_key("item_code"), "灵魂宠没有item_code字段") assert_that(res_data, has_key("item_count"), "no item_count response...") assert_that(res_data["item_count"], equal_to(1), "item_count mismatch...") assert_that(res_data, has_key("total_count"), "no total_count response...") assert_that(res_data, not has_key("has_glass"), "no has_glass response...") assert_that(res_data, has_key("scan_normal"), "no scan_normal response...") item_id = res_data["item_id"] res = self.ar_con.get_soul_pet_list(user_id) res_data = json.loads(res) assert_that(res_data[0], has_key("item_id"), "no item_id response...") assert_that(res_data[0]["item_id"], equal_to(item_id), "item_id mismatch...") assert_that(res_data[0], has_key("item_name"), "no item_name response...") assert res_data[0]["item_name"] == "la", "灵魂宠名称错误" elif res_data["item_type"] == 1: print "生成原生宠" assert_that(res_data, has_key("item_id"), "no item_id response...") assert_that(res_data, has_key("item_code"), "no item_code response...") assert_that(res_data, has_key("item_count"), "no item_count response...") assert_that(res_data, has_key("total_count"), "no total_count response...") assert_that(res_data, not has_key("has_glass"), "no has_glass response...") assert_that(res_data, has_key("scan_normal"), "no scan_normal response...") item_id = res_data["item_id"] res = self.ar_con.get_protozoan_list(user_id) res_data = json.loads(res) assert_that(res_data[0], has_key("item_id"), "no item_id response...") assert_that(res_data[0]["item_id"], equal_to(item_id), "item_id mismatch...") assert_that(res_data[0], has_key("item_name"), "no item_name response...") assert res_data[0]["item_name"] != "la", "原生宠名称错误" elif res_data["item_type"] == 2: print "生成金币" assert_that(res_data, has_key("item_id"), "no item_id response...") assert_that(res_data, has_key("item_code"), "no item_code response...") assert_that(res_data, has_key("item_count"), "no item_count response...") assert_that(res_data, has_key("total_count"), "no total_count response...") assert_that(res_data, not has_key("has_glass"), "no has_glass response...") assert_that(res_data, has_key("scan_normal"), "no scan_normal response...")
def test_get_reward_normal(self): """ 获取悬赏令信息:普通悬赏令,被悬赏者被攻击后,剩余悬赏攻击次数-1\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "创建悬赏令使用者:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_1 = res_data["item_id"] self.ar_con.capture_pet(item_id_1) self.ar_con.set_cultivate_pet(item_id_1) part_1 = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part_1) print "创建攻击者玩家:" account_id_3 = CoRand.get_rand_int(100001) uc_id_3 = CoRand.get_rand_int() self.ar_con3 = ARControl() self.ar_con3.connect_server() res = self.ar_con3.login(account_id_3, "im", uc_id_3) res_data = json.loads(res) user_id_3 = res_data["user_id"] nick_name_3 = CoRand.get_random_word_filter_sensitive(6) self.ar_con3.modify_info(nick_name_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "guidance", 131071) self.ar_con3.gm_reload_user_data(user_id_3) res = self.ar_con3.get_user_coin() res_data = json.loads(res) coin_before = res_data["coin"] res = self.ar_con3.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_3 = res_data["item_id"] self.ar_con3.capture_pet(item_id_3) self.ar_con3.set_cultivate_pet(item_id_3) part_3 = CoRand.get_rand_int(1, 5) res = self.ar_con3.upgrade_pet_part(part_3) res_data = json.loads(res) coin_after = res_data["coin"] self.sql = ModifySql() self.sql.update_user(user_id_3, "lottery_type", 104) self.ar_con3.gm_reload_user_data(user_id_3) self.ar_con3.attack_pet(part_1, user_id_1) print "悬赏令使用者通缉攻击者:" self.ar_con.get_rev() self.ar_con.reward_player(0, user_id_3) res = self.ar_con.get_enemy_list() res_data = json.loads(res) assert_that(res_data, has_key("reward_list"), "no reward_list response...") assert_that(res_data["reward_list"][0], has_key("reward_id"), "no reward_id response...") reward_id = res_data["reward_list"][0]["reward_id"] res = self.ar_con.get_reward(reward_id) res_data = json.loads(res) assert_that(res_data, has_key("reward_id"), "no reward_id response...") assert_that(res_data["reward_id"], equal_to(reward_id), "response reward_id mismatch...") assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id_1), "response user_id mismatch...") assert_that(res_data, has_key("be_reward_user_id"), "no be_reward_user_id response...") assert_that(res_data["be_reward_user_id"], equal_to(user_id_3), "response be_reward_user_id mismatch...") assert_that(res_data, has_key("end_time"), "no end_time response...") assert_that(res_data, has_key("left_times"), "no left_times response...") assert_that(res_data["left_times"], equal_to(5), "response left_times mismatch...") assert_that(res_data, has_key("reward_type"), "no left_times response...") assert_that(res_data["reward_type"], equal_to(0), "response left_times mismatch...") assert_that(res_data, has_key("total_toll"), "no total_toll response...") assert_that(res_data["total_toll"], equal_to(0), "response total_toll mismatch...") assert_that(res_data, has_key("total_attack"), "no total_attack response...") assert_that(res_data["total_attack"], equal_to(0), "response total_attack mismatch...") print "悬赏令使用者自己攻击被悬赏者:" self.sql = ModifySql() self.sql.update_user(user_id_1, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id_1) self.sql = ModifySql() self.sql.update_user(user_id_1, "lottery_type", 104) self.ar_con.gm_reload_user_data(user_id_1) self.ar_con.attack_pet(part_3, user_id_3, reward_id) self.ar_con.get_rev() res = self.ar_con.get_reward(reward_id) res_data = json.loads(res) assert_that(res_data, has_key("reward_id"), "no reward_id response...") assert_that(res_data["reward_id"], equal_to(reward_id), "response reward_id mismatch...") assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id_1), "response user_id mismatch...") assert_that(res_data, has_key("be_reward_user_id"), "no be_reward_user_id response...") assert_that(res_data["be_reward_user_id"], equal_to(user_id_3), "response be_reward_user_id mismatch...") assert_that(res_data, has_key("end_time"), "no end_time response...") assert_that(res_data, has_key("left_times"), "no left_times response...") assert_that(res_data["left_times"], equal_to(4), "response left_times mismatch...") assert_that(res_data, has_key("reward_type"), "no left_times response...") assert_that(res_data["reward_type"], equal_to(0), "response left_times mismatch...") assert_that(res_data, has_key("total_toll"), "no total_toll response...") assert_that(res_data["total_toll"], equal_to(int((coin_before-coin_after)*0.5)), "response total_toll mismatch...") assert_that(res_data, has_key("total_attack"), "no total_attack response...") assert_that(res_data["total_attack"], equal_to(1), "response total_attack mismatch...")
def test_get_reward_add_reward(self): """ 获取悬赏令信息--获取追加悬赏令信息\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "悬赏令使用者登陆:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_1 = res_data["item_id"] self.ar_con.capture_pet(item_id_1) self.ar_con.set_cultivate_pet(item_id_1) part_1 = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part_1) print "创建攻击者玩家:" account_id_3 = CoRand.get_rand_int(100001) uc_id_3 = CoRand.get_rand_int() self.ar_con3 = ARControl() self.ar_con3.connect_server() res = self.ar_con3.login(account_id_3, "im", uc_id_3) res_data = json.loads(res) user_id_3 = res_data["user_id"] nick_name_3 = CoRand.get_random_word_filter_sensitive(6) self.ar_con3.modify_info(nick_name_3) res = self.ar_con3.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_3 = res_data["item_id"] self.ar_con3.capture_pet(item_id_3) self.ar_con3.set_cultivate_pet(item_id_3) part_3 = CoRand.get_rand_int(1, 5) self.ar_con3.upgrade_pet_part(part_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "guidance", 131071) self.ar_con3.gm_reload_user_data(user_id_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "lottery_type", 104) self.ar_con3.gm_reload_user_data(user_id_3) self.ar_con3.attack_pet(part_1, user_id_1) print "悬赏令使用者使用普通通缉令通缉攻击者:" self.ar_con.get_rev() res = self.ar_con.reward_player(0, user_id_3) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") self.ar_con.get_enemy_list() print "追加高级悬赏令:" self.ar_con.reward_player(1, user_id_3) res = self.ar_con.get_enemy_list() res_data = json.loads(res) assert_that(res_data, has_key("reward_list"), "no reward_list response...") assert_that(res_data["reward_list"][0], has_key("reward_id"), "no reward_id response...") reward_id = res_data["reward_list"][0]["reward_id"] self.ar_con.evil_rank_list(0) # print "悬赏令使用者自己攻击被悬赏者:" # self.sql = ModifySql() # self.sql.update_user(user_id_1, "lottery_type", 104) # self.ar_con.gm_reload_user_data(user_id_1) # self.ar_con.attack_pet(part_3, user_id_3, reward_id) # self.ar_con.get_rev() print"获取悬赏令信息:" res = self.ar_con.get_reward(reward_id) res_data = json.loads(res) assert_that(res_data, has_key("reward_id"), "no reward_id response...") assert_that(res_data["reward_id"], equal_to(reward_id), "response reward_id mismatch...") assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id_1), "response user_id mismatch...") assert_that(res_data, has_key("be_reward_user_id"), "no be_reward_user_id response...") assert_that(res_data["be_reward_user_id"], equal_to(user_id_3), "response be_reward_user_id mismatch...") assert_that(res_data, has_key("end_time"), "no end_time response...") assert_that(res_data, has_key("left_times"), "no left_times response...") assert_that(res_data["left_times"], equal_to(15), "response left_times mismatch...") assert_that(res_data, has_key("reward_type"), "no left_times response...") assert_that(res_data["reward_type"], equal_to(0), "response left_times mismatch...")
def test_get_rich_player_list_not_catch_rich_third(self): """ 捕捉富豪--第一次未捕捉到富豪,第二三次获取富豪列表仍是同一个富豪,第四次重新获取富豪\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ account_id = CoRand.get_rand_int(100001) res = self.ar_con.login(account_id, "im") res_data = json.loads(res) user_id = res_data["user_id"] nick_name = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name) self.sql = ModifySql() self.sql.update_user(user_id, "guidance", 131071) self.ar_con.gm_reload_user_data(user_id) self.sql = ModifySql() self.sql.update_user(user_id, "lottery_type", 105) self.ar_con.gm_reload_user_data(user_id) print "第一次获取富豪列表" res = self.ar_con.get_rich_player_list() res_data = json.loads(res) user_total_ids = [] coins = [] for i in res_data: assert_that(i, has_key("user_id"), "no user_id response...") user_total_ids.append(i["user_id"]) res_info = self.ar_con.get_user_info(i["user_id"]) res_info_data = json.loads(res_info) coins.append(res_info_data["coin"]) # 获取富豪和非富豪的user_id和coin rich_user_index_1 = coins.index(max(coins)) rich_user_id_1 = user_total_ids[rich_user_index_1] poor_user_index_1 = coins.index(min(coins)) poor_user_id_1 = user_total_ids[poor_user_index_1] user_ids_1 = [poor_user_id_1] if poor_user_id_1 != rich_user_id_1: print "第一次获取富豪id是:" + str(rich_user_id_1) print "第一次捕捉非富豪:" self.ar_con.catch_player_list(user_ids_1) print "第二次获取富豪列表:" self.sql = ModifySql() self.sql.update_user(user_id, "lottery_type", 105) self.ar_con.gm_reload_user_data(user_id) res = self.ar_con.get_rich_player_list() res_data = json.loads(res) user_total_ids = [] coins = [] for i in res_data: assert_that(i, has_key("user_id"), "no user_id response...") user_total_ids.append(i["user_id"]) res_info = self.ar_con.get_user_info(i["user_id"]) res_info_data = json.loads(res_info) coins.append(res_info_data["coin"]) # 获取富豪和非富豪的user_id和coin rich_user_index_2 = coins.index(max(coins)) rich_user_id_2 = user_total_ids[rich_user_index_2] poor_user_index_2 = coins.index(min(coins)) poor_user_id_2 = user_total_ids[poor_user_index_2] user_ids_2 = [poor_user_id_2] res = self.ar_con.get_user_info(rich_user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("coin"), "no coin response...") if res_data["coin"] >= 100000: assert_that(rich_user_id_2, equal_to(rich_user_id_1), "rich user changed...") if poor_user_id_2 != rich_user_id_2: print "第二次获取富豪id是:" + str(rich_user_id_2) print "第二次捕捉非富豪:" self.ar_con.catch_player_list(user_ids_2) print "第三次获取富豪列表:" self.sql = ModifySql() self.sql.update_user(user_id, "lottery_type", 105) self.ar_con.gm_reload_user_data(user_id) res = self.ar_con.get_rich_player_list() res_data = json.loads(res) user_total_ids = [] coins = [] for i in res_data: assert_that(i, has_key("user_id"), "no user_id response...") user_total_ids.append(i["user_id"]) res_info = self.ar_con.get_user_info(i["user_id"]) res_info_data = json.loads(res_info) coins.append(res_info_data["coin"]) rich_user_index_3 = coins.index(max(coins)) rich_user_id_3 = user_total_ids[rich_user_index_3] poor_user_index_3 = coins.index(min(coins)) poor_user_id_3 = user_total_ids[poor_user_index_3] user_ids_3 = [poor_user_id_3] res = self.ar_con.get_user_info(rich_user_id_1) res_data = json.loads(res) assert_that(res_data, has_key("coin"), "no coin response...") if res_data["coin"] >= 100000: assert_that(rich_user_id_3, equal_to(rich_user_id_1), "rich user changed...") if poor_user_id_3 != rich_user_id_3: print "第三次获取富豪id是:" + str(rich_user_id_3) print "第三次捕捉非富豪:" self.ar_con.catch_player_list(user_ids_3) print "第四次获取富豪列表:" self.sql = ModifySql() self.sql.update_user(user_id, "lottery_type", 105) self.ar_con.gm_reload_user_data(user_id) res = self.ar_con.get_rich_player_list() res_data = json.loads(res) user_total_ids = [] coins = [] for i in res_data: assert_that(i, has_key("user_id"), "no user_id response...") user_total_ids.append(i["user_id"]) res_info = self.ar_con.get_user_info( i["user_id"]) res_info_data = json.loads(res_info) coins.append(res_info_data["coin"]) rich_user_index_4 = coins.index(max(coins)) rich_user_id_4 = user_total_ids[rich_user_index_4] print "第四次获取富豪id是:" + str(rich_user_id_4) assert_that(rich_user_id_4, not_(rich_user_id_1), "rich user not change...")
def test_get_reward_total_toll_statistics(self): """ 获取悬赏令信息--验证累计损失、累计攻击次数数据正确性\ 开发:黄良江(900000)\ 测试:林冰晶(791099) """ print "悬赏令使用者A登陆:" account_id_1 = CoRand.get_rand_int(100001) uc_id_1 = CoRand.get_rand_int() res = self.ar_con.login(account_id_1, "im", uc_id_1) res_data = json.loads(res) user_id_1 = res_data["user_id"] nick_name_1 = CoRand.get_random_word_filter_sensitive(6) self.ar_con.modify_info(nick_name_1) res = self.ar_con.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_1 = res_data["item_id"] self.ar_con.capture_pet(item_id_1) self.ar_con.set_cultivate_pet(item_id_1) part_1 = CoRand.get_rand_int(1, 5) self.ar_con.upgrade_pet_part(part_1) print "创建好友玩家B:" account_id_2 = CoRand.get_rand_int(100001) uc_id_2 = CoRand.get_rand_int() self.ar_con2 = ARControl() self.ar_con2.connect_server() res = self.ar_con2.login(account_id_2, "im", uc_id_2) res_data = json.loads(res) user_id_2 = res_data["user_id"] nick_name_2 = CoRand.get_random_word_filter_sensitive(6) self.ar_con2.modify_info(nick_name_2) self.ar_con2.add_friend(user_id_1) print "A同意添加好友B:" self.ar_con.get_rev() self.ar_con.deal_add_friend(user_id_2, 1) print "B收到消息:" self.ar_con2.get_rev() print "创建好友玩家D:" account_id_4 = CoRand.get_rand_int(100001) uc_id_4 = CoRand.get_rand_int() self.ar_con4 = ARControl() self.ar_con4.connect_server() res = self.ar_con4.login(account_id_4, "im", uc_id_4) res_data = json.loads(res) user_id_4 = res_data["user_id"] nick_name_4 = CoRand.get_random_word_filter_sensitive(6) self.ar_con4.modify_info(nick_name_4) self.ar_con4.add_friend(user_id_1) print "A同意添加好友D:" self.ar_con.get_rev() self.ar_con.deal_add_friend(user_id_4, 1) print "D收到消息:" self.ar_con4.get_rev() print "创建攻击者玩家C:" account_id_3 = CoRand.get_rand_int(100001) uc_id_3 = CoRand.get_rand_int() self.ar_con3 = ARControl() self.ar_con3.connect_server() res = self.ar_con3.login(account_id_3, "im", uc_id_3) res_data = json.loads(res) user_id_3 = res_data["user_id"] nick_name_3 = CoRand.get_random_word_filter_sensitive(6) self.ar_con3.modify_info(nick_name_3) res = self.ar_con3.get_user_coin() res_data = json.loads(res) coin_before = res_data["coin"] res = self.ar_con3.scan_face(self.pet_url, "la", 1) res_data = json.loads(res) item_id_3 = res_data["item_id"] self.ar_con3.capture_pet(item_id_3) self.ar_con3.set_cultivate_pet(item_id_3) part_attacker_1 = 1 res = self.ar_con3.upgrade_pet_part(part_attacker_1) res_data = json.loads(res) coin_part_1_level_1 = coin_before - res_data["coin"] res = self.ar_con3.upgrade_pet_part(part_attacker_1) res_data = json.loads(res) coin_part_1_level_2 = coin_before - res_data["coin"] - coin_part_1_level_1 part_attacker_2 = 2 res = self.ar_con3.upgrade_pet_part(part_attacker_2) res_data = json.loads(res) coin_part_2_level_1 = coin_before - res_data["coin"] - coin_part_1_level_1 - coin_part_1_level_2 self.sql = ModifySql() self.sql.update_user(user_id_3, "guidance", 131071) self.ar_con3.gm_reload_user_data(user_id_3) self.sql = ModifySql() self.sql.update_user(user_id_3, "lottery_type", 104) self.ar_con3.gm_reload_user_data(user_id_3) self.ar_con3.attack_pet(part_1, user_id_1) print "A使用普通通缉令通缉C:" self.ar_con.get_rev() res = self.ar_con.reward_player(0, user_id_3) res_data = json.loads(res) assert_that(res_data, has_key("code"), "no code response...") assert_that(res_data, has_key("err_msg"), "no err_msg response...") assert_that(res_data["code"], equal_to(EC_SUCCESS["code"]), "response code mismatching...") assert_that(res_data["err_msg"], equal_to(EC_SUCCESS["err_msg"]), "response msg mismatching...") res = self.ar_con.get_enemy_list() res_data = json.loads(res) assert_that(res_data, has_key("reward_list"), "no reward_list response...") assert_that(res_data["reward_list"][0], has_key("reward_id"), "no reward_id response...") reward_id = res_data["reward_list"][0]["reward_id"] self.ar_con.evil_rank_list(0) print "好友玩家B收到消息,攻击被悬赏者C,打坏部件2:" self.ar_con2.get_rev() self.sql = ModifySql() self.sql.update_user(user_id_2, "guidance", 131071) self.ar_con2.gm_reload_user_data(user_id_2) self.ar_con2.pm_set_role_data("lotteryType", 104) res = self.ar_con2.get_user_info(user_id_2) res_data = json.loads(res) coin_before = res_data["coin"] res = self.ar_con2.attack_pet(part_attacker_2, user_id_3, reward_id) res_data = json.loads(res) assert_that(res_data, has_key("win_coin"), "no win_coin response...") assert_that(res_data["win_coin"], equal_to(300000), "response win_coin mismatch...") assert_that(res_data, has_key("reward_coin"), "no reward_coin response...") assert_that(res_data["reward_coin"], equal_to(300000), "response reward_coin mismatch...") assert_that(res_data, has_key("coin"), "no coin response...") assert_that(res_data["coin"], equal_to(coin_before + 600000), "response reward_coin mismatch...") res = self.ar_con.get_rev() res_data = json.loads(res) assert_that(res_data, has_key("toll"), "no toll response...") assert_that(res_data["toll"], equal_to(int(coin_part_2_level_1*0.5))) print "好友玩家D收到消息,攻击被悬赏者C,打坏部件1:" self.ar_con4.get_rev() self.sql = ModifySql() self.sql.update_user(user_id_4, "guidance", 131071) self.ar_con4.gm_reload_user_data(user_id_4) self.ar_con4.pm_set_role_data("lotteryType", 104) self.ar_con4.attack_pet(part_attacker_1, user_id_3, reward_id) print "A收到消息:" res = self.ar_con.get_rev() res_data = json.loads(res) assert_that(res_data, has_key("toll"), "no toll response...") assert_that(res_data["toll"], equal_to(int(coin_part_1_level_2 * 0.5))) print "好友玩家D再次攻击被悬赏者C,打爆部件1:" self.ar_con4.pm_set_role_data("lotteryType", 104) self.ar_con4.attack_pet(part_attacker_1, user_id_3, reward_id) print "A收到消息:" res = self.ar_con.get_rev() res_data = json.loads(res) assert_that(res_data, has_key("toll"), "no toll response...") assert_that(res_data["toll"], equal_to(int(coin_part_1_level_2 * 0.5)+coin_part_1_level_1)) print "A自己攻击被悬赏者C,打爆部件2:" self.ar_con.pm_set_role_data("lotteryType", 104) self.ar_con.attack_pet(part_attacker_2, user_id_3, reward_id) res = self.ar_con.get_rev() res_data = json.loads(res) assert_that(res_data, has_key("toll"), "no toll response...") assert_that(res_data["toll"], equal_to(int(coin_part_2_level_1*0.5))) print"获取悬赏令信息:" time.sleep(1) res = self.ar_con.get_reward(reward_id) res_data = json.loads(res) assert_that(res_data, has_key("reward_id"), "no reward_id response...") assert_that(res_data["reward_id"], equal_to(reward_id), "response reward_id mismatch...") assert_that(res_data, has_key("user_id"), "no user_id response...") assert_that(res_data["user_id"], equal_to(user_id_1), "response user_id mismatch...") assert_that(res_data, has_key("be_reward_user_id"), "no be_reward_user_id response...") assert_that(res_data["be_reward_user_id"], equal_to(user_id_3), "response be_reward_user_id mismatch...") assert_that(res_data, has_key("end_time"), "no end_time response...") assert_that(res_data, has_key("left_times"), "no left_times response...") assert_that(res_data["left_times"], equal_to(1), "response left_times mismatch...") assert_that(res_data, has_key("reward_type"), "no left_times response...") assert_that(res_data["reward_type"], equal_to(0), "response left_times mismatch...") assert_that(res_data, has_key("total_toll"), "no total_toll response...") assert_that(res_data["total_toll"], equal_to(coin_part_1_level_1+coin_part_1_level_2+coin_part_2_level_1), "response total_toll mismatch...") assert_that(res_data, has_key("total_attack"), "no total_attack response...") assert_that(res_data["total_attack"], equal_to(4), "response total_attack mismatch...")
def __init__(self, host): self.uc = UC() self.nd_uc_o = NdUc() self.rest_o = CoRestful.Restful() self.rand_o = CoRand() self.host = host