class Tips(ApiTestCase): def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def tip(self): data = {} # url = self.host + "/tips" url = urljoin(self.host, 'tips') LOG.info("请求url:%s" % url) headers = Util().get_token() res = requests.get(url=url, data=data, headers=headers) return res.json() def test_tip_correct_parameters(self): u"""正确参数""" LOG.info("------登录成功用例:start!---------") result = self.tip() LOG.info("获取测试结果:%s" % result) self.assertEqual(result['ok'], True) self.assertOkResult(result) LOG.info("------pass!---------")
class BrowserEngine(): read_config = ReadConfig() browser_type = read_config.get_browser_type('chrome') def __init__(self): self.logger = logger.Logger().print_log() def open_browser(self): """ :return: """ self.logger.info("使用%s浏览器", self.browser_type) self.logger.info("打开浏览器") if self.browser_type == "FireFox": driver = webdriver.Firefox() elif self.browser_type == "IE": driver = webdriver.Ie() else: driver = webdriver.Chrome() self.logger.info(u"最大化浏览器") driver.maximize_window() self.logger.info(u"设置隐式时间等待") driver.implicitly_wait(10) return driver def quit_browser(self, driver): """ Quit webdriver :return: """ self.logger.info("Quit the browser.") driver.quit()
class OwnerUserActivationCode(ApiTestCase): def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def activation_code(self, code): data = {"code": code} url = self.host + 'owner/user/' + str( Util().get_user_id()) + '/activation_code' LOG.info("请求url:%s" % url) req = requests.post(url=url, json=data, headers=Util().get_token()) return req.json() def test_activation_code_correct_parameters(self): u"""正确参数""" LOG.info('------登录成功用例:start!---------') result = self.activation_code("3CFL6VEWDLRFQYTE") LOG.info('获取测试结果:%s' % result) self.assertOkResult(result) LOG.info('------pass!---------') def test_activation_code_error_parameters(self): u"""正确参数""" LOG.info('------登录成功用例:start!---------') result = self.activation_code(" ") LOG.info('获取测试结果:%s' % result) self.assertErrorResult(result, const.ErrDatabase) LOG.info('------pass!---------')
class GetDevices(ApiTestCase): def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def get_devices(self): url = self.host + "owner/organizations/" + Util().get_organization_id( ) + "/devices" # url = urljoin(self.host, 'owner/organizations/', Util().get_organization_id(), '/devices') LOG.info("请求url:%s" % url) data = {} res = requests.get(url=url, json=json.dumps(data), headers=Util().get_token()) LOG.info("请求参数:%s" % data) return res.json() def test_get_devices_correct_parameters(self): u"""正确参数""" LOG.info("------登录成功用例:start!---------") result = self.get_devices() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class UserDevice(ApiTestCase): u''' 用户得到使用的device''' def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def user_device(self): data = {} url = self.host + "user/" + str(Util().get_user_id()) + "/device" LOG.info("请求url:%s" % url) LOG.info("请求参数:%s" % data) req = requests.get(url=url, data=data, headers=Util().get_token()) return req.json() def test_user_device_correct_parameters(self): u"""正确参数""" LOG.info("------用户得到使用的device':start!---------") result = self.user_device() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class Devices(ApiTestCase): def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def device(self, mac): data = {'mac': mac} url = self.host + 'owner/organizations/' + Util().get_organization_id() + '/devices/is_bindable' # url = urljoin(self.host, 'owner/organizations/', Util().get_organization_id(), 'devices/is_bindable') LOG.info("请求url:%s" % url) LOG.info("请求参数:%s" % data) req = requests.post(url=url, json=data, headers=Util().get_token()) return req.json() def test_device_correct_parameters(self): u"""正确参数""" LOG.info('------登录成功用例:start!---------') result = self.device(data.mac) LOG.info('获取测试结果:%s' % result) self.assertOkResult(result) LOG.info('------pass!---------') def test_device_error_parameters(self): u"""错误参数""" LOG.info('------登录成功用例:start!---------') result = self.device('') LOG.info('获取测试结果:%s' % result) self.assertErrorResult(result, const.ErrInvalidDevice) LOG.info('------pass!---------')
class UserProfile(ApiTestCase): u"""获取用户的个人档案""" def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def get_profile(self): data = {} url = self.host + 'user/' + str(Util().get_user_id()) + '/profile' LOG.info("请求url:%s" % url) res = requests.get(url=url, json=data, headers=Util().get_token()) LOG.info("请求参数:%s" % data) return res.json() def test_get_preferences_correct_parameters(self): u"""正确参数""" LOG.info("------获取用户的个人档案:start!---------") result = self.get_profile() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
def __init__(self): self.conf = ReadConfig() self.tool = Tool() self.change_data = { "{{ts}}": str(self.tool.get_ts(0, 0)), # 今天时间戳 "{{tf2}}": str(self.tool.get_ts(-1, -2)), "{{tf1}}": str(self.tool.get_ts(-1, -1)), "{{t}}": str(self.tool.get_ts(-1, 0)), # 昨天时间戳 "{{d}}": str(self.tool.get_date(-1, 0)), # 昨天时间 "{{tf3}}": str(self.tool.get_ts(-1, -3)), "{{df4}}": str(self.tool.get_date(-1, -4)), "{{tb1}}": str(self.tool.get_ts(-1, +1)), "{{db1}}": str(self.tool.get_date(-1, +1)), "{{tsb1}}": str(self.tool.get_ts(+1, 0)), # 明天时间戳 "{{dtb1}}": str(self.tool.get_date(+1, 0)), # 明天时间 "{{gp}}": str(self.tool.get_random(1, 10000)), "{{cgp}}": str(self.tool.get_random(1, 100000)), "{{ggp}}": str(self.tool.get_random(1, 1000000)), "{{df6}}": str(self.tool.get_date(-1, -6)), "{{df3}}": str(self.tool.get_date(-1, -3)), "{{df2}}": str(self.tool.get_date(-1, -1)), "{{df1}}": str(self.tool.get_date(-1, -1)), "{{dt}}": str(self.tool.get_date(0, 0)), # 今天时间 "{{f5}}": str(self.tool.get_date(-5, 0)), # 5天前 "{{f4}}": str(self.tool.get_date(-4, 0)), # 4天前 "{{f3}}": str(self.tool.get_date(-3, 0)), # 3天前 "{{f2}}": str(self.tool.get_date(-2, 0)), # 2天前 "{{f1}}": str(self.tool.get_date(-1, 0)), # 5天前 "{{f6}}": str(self.tool.get_date(-6, 0)), # 4天前 "{{f7}}": str(self.tool.get_date(-7, 0)), # 3天前 "{{f8}}": str(self.tool.get_date(-8, 0)), # 2天前 "{{endtoday}}": str(self.tool.get_endtoday()) }
class UsersProfile(ApiTestCase): def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def get_users(self, offset, size, keyword): data = {"offset": offset, "size": size, "keyword": keyword} url = self.host + 'owner/organizations/' + str( Util().get_organization_id_username()) + '/users' LOG.info("请求url:%s" % url) res = requests.get(url=url, json=data, headers=Util().get_token_username()) LOG.info("请求参数:%s" % data) return res.json() def test_get_users_correct_parameters(self): u"""正确参数""" LOG.info("------登录成功用例:start!---------") result = self.get_users(1, 1, '') LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class DeleteMeasurements(ApiTestCase): def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def deletemeasurements(self, record_id_list): data = {"record_id_list": record_id_list} url = self.host + 'user/measurements/' + str( Util().get_user_id()) + '/delete' LOG.info("请求url:%s" % url) LOG.info("请求参数:%s" % data) res = requests.post(url=url, json=data, headers=Util().get_token()) return res.json() def test_delete_measurements_correct_params(self): result = self.deletemeasurements([227401, 227344]) LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_delete_measurements_correct_blank_params(self): result = self.deletemeasurements([]) LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_delete_measurements_error_params(self): result = self.deletemeasurements([227463]) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, 80000) LOG.info("------pass!---------")
class TokenAnalyse(ApiTestCase): def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def analyse(self): url = self.host + 'owner/measurements/' + Util().get_record_id( ) + '/token' data = {} result = requests.get(url=url, params=data, headers=Util().get_token()) url = self.host + 'owner/measurements/token/' + result.json( )['data']['token'] + '/v2/analyze' data = {} res = requests.get(url=url, params=data, headers=Util().get_token()) LOG.info("url是%s" % url) LOG.info("data是%s" % data) LOG.info("结果是%s" % res.json()) return res.json() def test_get_token_analyse(self): result = self.analyse() self.assertOkResult(result)
class UsersProfile(ApiTestCase): def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def users(self, user_id_list): data = {"user_id_list": [user_id_list]} url = self.host + 'owner/organizations/' + Util().get_organization_id( ) + '/users' LOG.info("请求url:%s" % url) res = requests.get(url=url, json=data, headers=Util().get_token()) LOG.info("请求参数:%s" % data) return res.json() def test_users_correct_parameters(self): u"""正确参数""" LOG.info("------登录成功用例:start!---------") result = self.users('6088') LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class UserToken(ApiTestCase): u"""获取最新token""" def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def get_token(self): data = {} url = self.host + "user/" + str(Util().get_user_id()) + "/token" LOG.info("请求url:%s" % url) LOG.info("请求参数:%s" % data) res = requests.get(url=url, json=data, headers=Util().get_token()) return res.json() def test_get_token_correct_parameters(self): u"""正确参数""" LOG.info("------登录成功用例:start!---------") result = self.get_token() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class Version(ApiTestCase): u'''查看版本信息''' def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def version(self): data = {} url = urljoin(self.host, "version") LOG.info("请求url:%s" % url) req = requests.get(url=url, data=data) LOG.info(req.json()) return req.json() def test_version_correct_parameters(self): u"""正确参数""" LOG.info("------查看版本信息:start!---------") result = self.version() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class WxSignIn(ApiTestCase): u"""获取登录二维码""" def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def signin_qrcode(self): data = {} url = urljoin(self.host, 'wx/signin/qrcode') LOG.info("请求url:%s" % url) LOG.info("请求参数:%s" % data) res = requests.post(url=url, json=data, headers=Util().get_authorization()) return res.json() def test_signin_qrcode_correct_parameters(self): u"""正确参数""" LOG.info("------登录成功用例:start!---------") result = self.signin_qrcode() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class UserSignOut(ApiTestCase): u"""注销用户登录""" def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def sign_out(self): u"""登录""" data = {} url = urljoin(self.host, 'users/signout') LOG.info("请求url:%s" % url) LOG.info("请求参数:%s" % data) res = requests.post(url=url, json=data, headers=Util().get_token()) return res.json() def test_sign_out_correct_parameters(self): u"""正确参数""" LOG.info("------登录成功用例:start!---------") result = self.sign_out() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class Login(): rc = ReadConfig( r"D:\Users\Raymond\PycharmProjects\bokeyuan0229\config\config.ini") base_url = rc.get_url("base_url") #获取首页cookies def add_cookies(self): url = self.base_url + "/signin" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36" } s = requests.session() r = requests.get(url, headers=headers, verify=False) #print(r.text) # print(s.cookies) # print(s) #添加登录返回的cookies c = requests.cookies.RequestsCookieJar() c.set( '.CNBlogsCookie', '36DC5EC587B07D1883CAD0751A9AE0C1B3F625EB638FDFBFD35EA0C8B4DA5DF78686CA6086ADA26C4291BFE97939E93FBE15A243DF632BD3E21C9926D0E2F26F852239E75DB2A902460BB0DE3789279DA81A50EF; expires=Sun, 15 Mar 2020 09:00:18 GMT; domain=.cnblogs.com; path=/; httponly' ) c.set( '.Cnblogs.AspNetCore.Cookies', 'CfDJ8Nf-Z6tqUPlNrwu2nvfTJEg-1gCJfCJMIpTjdQv6_KY-n74sRUQII00bRhSHBJHnTnnWmNKEhO_L0IxRqly1wC_oGDqVYgQNyvEumhj1fqZGXQilcJ4NvCWqFzY2-JS4lIjJb4Drf9trBCk0GdDYXKjAhu15bwRPhmZaIuSWek_t07jydxKQU0PBxEm9K7k7VDwK_X5Vtv4ZoHFEwmJn5dMUDy3V3PzfbR-Kvxgg5ectN5ojAMWUs6eH8pNTHmja6kEBKc8jfTyigJOMJlK9ouej0JIo8SLYBp4M_SP1JsPcnxoOYLG89Tr_SeTfPj7aLaVdfQTrRiAZbs6Q_TiG6kjpbA7EOYv_0BTTso0eZKEYT9UKYyKGL5T5jjD_GN7HEB_mISGQhiCFwbj00M0VDbS1kMlNR2085qMXQLqp-UnlSwrseFFvD2W5jP58AO1ySgS8Ubo3cal7OrmeIqWCiXMOGgv9qmwSBfzQXctgf4GDvnctFOYYmd7I0lO6blzVeoTJ7us9HdD7JAbh8p8VJaWQXpAi-0c4mFWWymdDc2oD907mNlkD-J7nTL_vG1Z5hw; expires=Sun, 15 Mar 2020 09:00:18 GMT; domain=.cnblogs.com; path=/; httponly' ) c.set('AlwaysCreateItemsAsActive', "True") c.set('AdminCookieAlwaysExpandAdvanced', "True") s.cookies.update(c) # print (s.cookies) # print(s) return s.cookies
def __init__(self): self.conf = ReadConfig() group_no = random.randint(1, 1000000) cgroup_no = random.randint(1, 1000000) ggroup_no = random.randint(1, 1000000) self.change_data = { "{{ts}}": str(self.get_ts(0, 0)), # 今天时间戳 "{{tf2}}": str(self.get_ts(-1, -2)), "{{tf1}}": str(self.get_ts(-1, -1)), "{{t}}": str(self.get_ts(-1, 0)), # 昨天时间戳 "{{d}}": str(self.get_date(-1, 0)), # 昨天时间 "{{tf3}}": str(self.get_ts(-1, -3)), "{{df4}}": str(self.get_date(-1, -4)), "{{tb1}}": str(self.get_ts(-1, +1)), "{{db1}}": str(self.get_date(-1, +1)), "{{dtb1}}": str(self.get_date(+1, 0)), # 明天时间 "{{gp}}": str(group_no), "{{cgp}}": str(cgroup_no), "{{ggp}}": str(ggroup_no), "{{df6}}": str(self.get_date(-1, -6)), "{{df3}}": str(self.get_date(-1, -3)), "{{df2}}": str(self.get_date(-1, -1)), "{{df1}}": str(self.get_date(-1, -1)), "{{dt}}": str(self.get_date(0, 0)), # 今天时间 "{{f5}}": str(self.get_date(-5, 0)), "{{f4}}": str(self.get_date(-4, 0)), "{{f3}}": str(self.get_date(-3, 0)), "{{f2}}": str(self.get_date(-2, 0)), }
class WxUserConnectDelete(ApiTestCase): u'''获取解绑微信二维码''' def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def connect_qrcode_delete(self): data = {} url = self.host + 'wx/user/' + str(Util().get_user_id()) + '/connect/qrcode' LOG.info("请求url:%s" % url) res = requests.delete(url=url, json=data, headers=Util().get_token()) LOG.info("请求参数:%s" % data) return res.json() def test_connect_qrcode_correct_parameters(self): u"""正确参数""" LOG.info("------获取解绑微信二维码:start!---------") result = self.connect_qrcode_delete() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class Resource(ApiTestCase): u'''获取资源列表''' def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def resource(self): data = {} url = urljoin(self.host, "resource") LOG.info("请求url:%s" % url) req = requests.get(url=url, data=data) LOG.info(req.json()) return req.json() def test_resource_correct_parameters(self): u"""正确参数""" LOG.info("------获取资源列表:start!---------") result = self.resource() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class OwnerDeleteOrganization(ApiTestCase): def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def delete_organization(self): data = {} LOG.info(Util().get_organization_id()) url = self.host + "owner/organizations/" + Util().get_organization_id( ) + '/delete' LOG.info("请求url:%s" % url) LOG.info("请求参数:%s" % data) req = requests.post(url=url, json=data, headers=Util().get_token()) return req.json() def test_delete_organization_correct_parameters(self): u"""正确参数""" LOG.info('------登录成功用例:start!---------') result = self.delete_organization() LOG.info('获取测试结果:%s' % result) self.assertErrorResult(result, const.ErrNotSupportDeleteOrganization) LOG.info('------pass!---------')
class AdminsDelete(ApiTestCase): def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def admins_delete(self): data = {} url = self.host + 'owner/organizations/' + Util().get_organization_id() \ + '/admins/' + Util().get_user_id() + '/delete' LOG.info("请求url:%s" % url) res = requests.post(url=url, json=data, headers=Util().get_token()) LOG.info("请求参数:%s" % data) return res.json() def test_delete_correct_parameters(self): u"""正确参数""" LOG.info("------登录成功用例:start!---------") result = self.admins_delete() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class PostUserLanguage(ApiTestCase): u"""得到显示语言""" def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def user_language(self): data = {} url = self.host + "user/" + str(Util().get_user_id()) + "/language" LOG.info("请求url:%s" % url) LOG.info("请求参数:%s" % data) res = requests.get(url=url, json=data, headers=Util().get_token()) return res.json() def test_user_language(self): u"""正确参数""" LOG.info("------得到显示语言:start!---------") result = self.user_language() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class UserSecureQuestionList(ApiTestCase): u'''获取所有密保问题列表''' def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def secure_question_list(self): data = {} url = self.host + "user/" + str( Util().get_user_id()) + "/secure_question_list" LOG.info("请求url:%s" % url) LOG.info("请求参数:%s" % data) req = requests.get(url=url, json=data, headers=Util().get_token()) return req.json() def test_user_questions_correct_parameters(self): u"""正确参数""" LOG.info("------获取所有密保问题列表:start!---------") result = self.secure_question_list() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class UserPreferences(ApiTestCase): u'''设置/修改密保''' def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def user_preferences(self): data = {} url = self.host + "user/" + str(Util().get_user_id()) + "/preferences" LOG.info("请求url:%s" % url) LOG.info("请求参数:%s" % data) req = requests.get(url=url, data=json.dumps(data), headers=Util().get_token()) return req.json() def test_user_questions_correct_parameters(self): u"""正确参数""" LOG.info("------设置/修改密保:start!---------") result = self.user_preferences() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class MonthMeasurements(ApiTestCase): def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def monthmeasurements(self, user_id): url = self.host + 'owner/month_measurements?' + str(user_id) data = {} res = requests.get(url=url, params=data, headers=Util().get_token()) LOG.info("url是%s" % url) LOG.info("data是%s" % data) LOG.info("结果是%s" % res.json()) return res.json() def test_get_month_measurements_data(self): result = self.monthmeasurements(Util().get_user_id()) self.assertOkResult(result) def test_get_month_measurements_error_user_id_type(self): result = self.monthmeasurements( "44981148494984944984894849848498484984984") self.assertErrorResult(result, const.ErrRPCInternal) def test_get_month_measurements_error_user_id_value(self): result = self.monthmeasurements( 44981148494984944984894849848498484984984) self.assertErrorResult(result, const.ErrRPCInternal)
class OwnerGetAnalyze(ApiTestCase): def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def get_analyze(self): data = {} url = self.host + "owner/measurements/" + Util().get_record_id( ) + "/analyze" LOG.info("请求url:%s" % url) res = requests.get(url=url, json=data, headers=Util().get_token_username()) return res.json() def test_get_analyze_correct_parameters(self): u"""正确参数""" LOG.info("------登录成功用例:start!---------") result = self.get_analyze() LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
class UserPasswordPost(ApiTestCase): u'''用户设置密码''' def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def user_password(self, plain_password): data = {"plain_password": plain_password} url = self.host + 'user/' + str( Util().get_user_id_set_password()) + '/password' LOG.info("请求url:%s" % url) res = requests.post(url=url, json=data, headers=Util().get_token_set_password()) LOG.info("请求参数:%s" % data) return res.json() def test_user_password_correct_parameters(self): u"""正确参数""" LOG.info("------用户设置密码:start!---------") result = self.user_password(data.pwd) LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_user_password_error_password(self): u"""password错误参数""" LOG.info("------用户设置密码:start!---------") result = self.user_password('') LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrEmptyPassword) LOG.info("------pass!---------") def test_user_password_length(self): u"""密码长度小于8位""" LOG.info("------用户设置密码:start!---------") result = self.user_password('123') LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrWrongFormatOfPassword) LOG.info("------pass!---------") u'''密码长度大于8位''' LOG.info("------用户设置密码:start!---------") result = self.user_password('12313413412341234213413333333') LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrWrongFormatOfPassword) LOG.info("------pass!---------") def test_user_password_is_set(self): u"""密码长度已被卧设置 """ LOG.info("------用户设置密码:start!---------") result = self.user_password(data.pwd) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrExistPassword) LOG.info("------pass!---------")
class Feedback(ApiTestCase): def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') def feedback(self, contact_way, content): data = {'content': content, 'contact_way': contact_way} # url = self.host + "/feedback" url = urljoin(self.host, 'feedback') LOG.info("请求url:%s" % url) LOG.info("请求参数:%s" % data) req = requests.post(url=url, json=data, headers=Util().get_token()) return req.json() def test_feedback_correct_parameters(self): u"""正确参数""" LOG.info("------登录成功用例:start!---------") result = self.feedback(data.phone, "good") LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_feedback_correct_contact_way(self): u"""正确参数""" LOG.info("------登录成功用例:start!---------") result = self.feedback(data.email, "good") LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_feedback_error_contact(self): u"""错误参数 联系方式不正确,联系方式不作验证""" LOG.info("------登录成功用例:start!---------") result = self.feedback("137", "good") LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_feedback_error_contact_way(self): u"""错误参数 联系方式为空""" LOG.info("------登录成功用例:start!---------") result = self.feedback("", "good") LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrRPCInternal) LOG.info("------pass!---------") def test_feedback_error_content(self): u"""错误参数 反馈内容为空""" LOG.info("------登录成功用例:start!---------") result = self.feedback(data.email, "") LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrRPCInternal) LOG.info("------pass!---------")
class Faq(ApiTestCase): app_version = '1.10.0' def setUp(self): LOG.info("测试用例开始执行") def tearDown(self): LOG.info("测试用例执行完毕") host = ReadConfig().get_http('url') def get_url(self, client_id, app_version, mobile_type): headers = {"Content-Type": "application/json"} # url = self.host + "/faq/getUrl" url = urljoin(self.host, 'res/getUrl') data = { "client_id": client_id, "app_version": app_version, "mobile_type": mobile_type } res = requests.post(url=url, json=data, headers=headers) LOG.info("请求url:%s" % url) LOG.info("请求参数:%s" % data) return res.json() def test_get_url_correct_parameters_ios(self): u"""ios正确参数""" LOG.info("------登录成功用例:start!---------") result = self.get_url(data.client_id, self.app_version, 1) LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_get_url_correct_parameters_android(self): u"""android正确参数""" LOG.info("------登录成功用例:start!---------") result = self.get_url(data.client_id, self.app_version, 0) LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_get_url_error_client_id(self): u"""错误参数 ,客户端id为空""" LOG.info("------登录成功用例:start!---------") result = self.get_url('', self.app_version, 1) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrRPCInternal) LOG.info("------pass!---------") def test_get_url_error_app_version(self): u"""错误参数 ,app版本为空""" LOG.info("------登录成功用例:start!---------") result = self.get_url(data.client_id, '', 1) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrRPCInternal) LOG.info("------pass!---------")