示例#1
0
class Feed(unittest.TestCase):
    def setUp(self):
        self.s = requests.session()
        self.auto_login_token = auto_login_by_UID()  #auto_login_by_UID返回的token
        self.header = {
            'User-Agent':
            'PelvicFloorPersonal/4.1.1 (iPad; iOS 10.1.1; Scale/2.00)',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-Hans-CN;q=1',
            'Content-Type': 'application/json',
            'requestApp': '2',
            'requestclient': '2',
            'versionForApp': '4.1.1',
            'Authorization':
            'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=',
            'Connection': 'keep-alive'
        }
        self.log = Log()
        self.excel = Excel_util(
            r'C:\Users\Administrator\Desktop\Interface_testcase.xls')

    def test_collect01(self):
        u'测试收藏接口'
        #读取关联参数-用户的动态的id,再循环去收藏,断言结果
        self.log.info('开始测试收藏动态接口!')
        url = get_content('sns_base_url') + '/v1/collect/add'
        read_feed_ids = self.excel.read_value(12, 6)
        feed_ids = json.loads(read_feed_ids)
        #print(type(feed_ids))
        #迭代字典的value
        for x in feed_ids.values():
            json_data = {"id": x, "token": self.auto_login_token}
            r = self.s.post(url, headers=self.header, json=json_data)
            self.log.info('返回的内容是:%s' % r.json())
            self.assertEqual(200, r.json()['code'])
            self.assertEqual('收藏成功.', r.json()['note'])

        self.log.info('收藏动态接口测试结束!\n')

    def test_collect02(self):
        u'测试取消收藏接口'
        self.log.info('开始测试取消收藏动态接口!')
        url = get_content('sns_base_url') + '/v1/collect/delete'
        read_feed_ids = self.excel.read_value(12, 6)
        feed_ids = json.loads(read_feed_ids)
        #print(type(feed_ids))
        #迭代字典的value
        for x in feed_ids.values():
            json_data = {"id": x, "token": self.auto_login_token}
            r = self.s.post(url, headers=self.header, json=json_data)
            self.log.info('取消收藏返回的内容是:%s' % r.json())
            self.assertEqual(200, r.json()['code'])
            self.assertEqual('取消收藏成功.', r.json()['note'])

        self.log.info('取消收藏动态接口测试结束!\n')

    def tearDown(self):
        self.s.close()
示例#2
0
class ColumnInfo(unittest.TestCase):
    def setUp(self):
        self.s = requests.session()
        self.lgin = LG(self.s)  #实例化登录类
        self.uid_token = self.lgin.login()  #登录澜渟医生测试环境
        self.header = {
            'User-Agent': 'LanTingDoctor/1.3.1 (iPad; iOS 10.1.1; Scale/2.00)',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-Hans-CN;q=1',
            'Content-Type': 'application/json',
            'requestApp': '3',
            'requestclient': '2',
            'versionForApp': '2.0',
            'Authorization':
            'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=',
            'Connection': 'keep-alive'
        }
        self.EXCEL = Excel_util(
            r'C:\Users\Administrator\Desktop\Interface_testcase.xls')

    def testColumnInfo(self):
        u'测试专栏信息接口'
        url = 'http://api.lesson.sunnycare.cc/v1/spe'
        #将所有专栏的code放进list
        column_list = json.loads(self.EXCEL.read_value(4, 6))
        print(column_list)

        new_column_list = []
        for x in column_list.values():
            new_column_list.append(x)
        #详情介绍链接
        detail_links = []
        for i in new_column_list:
            json_data = {
                "spe_code": i,
                "timestamp": str(int(time.time())),
                "token": self.uid_token,
                "nonce": get_digit()
            }
            json_data['sign'] = get_sign(json_data)
            r = self.s.post(url,
                            headers=self.header,
                            json=json_data,
                            verify=False)
            #print(r.json())
            detail_links.append(r.json()['data']['detail_link'])
            self.assertEqual('请求成功.',
                             r.json()['note'],
                             msg='专栏信息返回的状态不是请求成功,有问题!')
        #下面测试专栏介绍的链接

        for link in detail_links:
            r2 = self.s.get(link, verify=False)
            self.assertEqual(200, r2.status_code, msg='专栏介绍链接返回状态码不是200!')

    def tearDown(self):
        self.s.close()
示例#3
0
class Con(unittest.TestCase):
    def setUp(self):
        self.s = requests.session()
        self.lgin = LG(self.s)  #实例化登录类
        self.uid_token = self.lgin.login()  #直接取第二部登录
        self.header = {
            'User-Agent': 'LanTingDoctor/1.3.1 (iPad; iOS 10.1.1; Scale/2.00)',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-Hans-CN;q=1',
            'Content-Type': 'application/json',
            'requestApp': '3',
            'requestclient': '2',
            'versionForApp': '2.0',
            'Authorization':
            'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=',
            'Connection': 'keep-alive'
        }
        self.log = Log()  #实例化日志的类
        self.exel = Excel_util(
            r'C:\Users\Administrator\Desktop\interface_testcase.xls')

    def test_delete_contacts(self):
        u'删除联系人接口'
        self.log.info('删除联系人接口测试开始!')
        url = 'http://api.meet.sunnycare.cc/v2/contact/del'
        #读取contact_code
        code = self.exel.read_value(15, 6)
        be_code = json.loads(code)
        #如果非空
        if code:
            for v in be_code.values():
                json_data = {
                    "token": self.uid_token,
                    "contact_code": v,  #读取excel中的code,
                    "timestamp": str(int(time.time())),
                    "nonce": get_digit()
                }
                #入参加密
                json_data['sign'] = get_sign(json_data)
                r = self.s.post(url, headers=self.header, json=json_data)
                self.log.info('删除该条联系人返回结果是:%s' % r.json())
                self.assertEqual('请求成功.', r.json()['note'])
        else:
            self.log.warning('参会人code为空')
        self.log.info('删除联系人接口测试结束!!')

    def tearDown(self):
        self.s.close()
示例#4
0
class Tickets(unittest.TestCase):
    def setUp(self):
        self.s = requests.session()
        self.lgin = LG(self.s)  #实例化登录类
        self.uid_token = self.lgin.login()  #直接取第二部登录
        self.header = {
            'User-Agent': 'LanTingDoctor/1.3.1 (iPad; iOS 10.1.1; Scale/2.00)',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-Hans-CN;q=1',
            'Content-Type': 'application/json',
            'requestApp': '3',
            'requestclient': '2',
            'versionForApp': '2.0',
            'Authorization':
            'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=',
            'Connection': 'keep-alive'
        }
        self.log = Log()  #实例化日志的类
        self.excel = Excel_util(
            r'C:\Users\Administrator\Desktop\Interface_testcase.xls')

    def test_ticke_info(self):
        u'会议门票详情接口'
        self.log.info('开始测试会议门票详情接口')
        url = 'http://api.meet.sunnycare.cc/v2/ticket/order'
        #读取ticket_order_code
        read_code = self.excel.read_value(16, 6)
        be_use_code = json.loads(read_code)
        for v in be_use_code.values():
            json_data = {
                "token": self.uid_token,
                "ticket_order_code": v,
                "timestamp": str(int(time.time())),
                "nonce": get_digit()
            }
            #入参加密
            json_data['sign'] = get_sign(json_data)
            r = self.s.post(url, headers=self.header, json=json_data)
            self.log.info('%s的门票详情返回的结果是:%s' % (v, r.json()))
            self.assertEqual('请求成功.', r.json()['note'])

        self.log.info('会议门票详情接口测试结束!')

    def tearDown(self):
        self.s.close()
示例#5
0
class Trian_record(unittest.TestCase):
    def setUp(self):
        self.s = requests.session()
        self.lgin = LG(self.s)  #实例化登录类
        self.uid_token = self.lgin.get_token()  #直接取账号登录的token
        #self.auto_login_token = self.lgin.get_autologin_token() #取自动登录的token
        self.header = {
            'User-Agent': 'LanTingDoctor/2.0.2 (iPad; iOS 10.1.1; Scale/2.00)',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-Hans-CN;q=1',
            'Content-Type': 'application/json',
            'requestApp': '3',
            'requestclient': '2',
            'versionForApp': '2.0',
            'Authorization':
            'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=',
            'Connection': 'keep-alive'
        }
        self.log = Log()
        self.excel = Excel_util(
            r'C:\Users\Administrator\Desktop\Interface_testcase.xls')

    def test_get_user_trian_record(self):
        #测试前提是该医生有已绑定的用户
        u'医生根据日期查看用户训练记录接口'
        self.log.info('开始测试医生根据日期查看用户训练记录接口.....')

        #'这是获取已绑定的列表'
        url = 'http://api.rih.sunnycare.cc/API/V1/DoctorToUserReleationShip/getReleathionShipInfo'
        json_data = {"token": self.uid_token}
        r = self.s.post(url, headers=self.header, json=json_data)
        Patients = r.json()['data']
        User_UID = []
        for i in Patients:
            User_UID.append(i['UserUID'])
        print('当前医生绑定的用户的User_UID是:', User_UID)

        #判断当前医生是否有绑定的用户来执行不同操作
        if len(User_UID) >= 1:
            #如果有绑定的用户则:
            url2 = 'http://api.rih.sunnycare.cc/API/V1/UserTrainRecord/getUserTrainRecordByDoctorAndYearMonth'
            #列表存的是月份
            L = ['01', '02', '03', '04', '05', '06']
            for i in L:
                json_data2 = {
                    "userUID": "hms7W3a1nG54IeBD6C9qtiuw82TjZVMQ",
                    "year": "2018",
                    "token": self.uid_token,
                    "month": i
                }
                r2 = self.s.post(url2, headers=self.header, json=json_data2)
                print(r2.json())
                self.assertEqual(200, r2.json()['code'])

        else:
            self.log.warning('该医生还没有绑定的用户!')

        self.log.info('医生根据日期查看用户训练记录接口测试结束!!')

    def test_user_plan_trian_record(self):
        u'医生查看用户某一方案的治疗记录'
        self.log.info('开始测试医生查看用户某一方案训练记录接口.....')

        #'这是获取已绑定的列表'
        url = 'http://api.rih.sunnycare.cc/API/V1/DoctorToUserReleationShip/getReleathionShipInfo'
        json_data = {"token": self.uid_token}
        r = self.s.post(url, headers=self.header, json=json_data)
        Patients = r.json()['data']
        User_UID = []
        for i in Patients:
            User_UID.append(i['UserUID'])
        print('当前医生绑定的用户的User_UID是:', User_UID)

        #判断当前医生是否有绑定的用户来执行不同操作
        if len(User_UID) >= 1:
            #将excel中courseid 读取出来
            read_course_id = self.excel.read_value(11, 6)
            #将json转换成可用的dict
            need_course_id = json.loads(read_course_id)
            print(need_course_id)

            for c in need_course_id.values():
                url3 = 'http://api.rih.sunnycare.cc/API/V1/UserTrainRecord/getUserTrainRecordByCourseUIDForDoctor'
                json_data3 = {
                    "token": self.uid_token,
                    "userUID": User_UID[0],
                    "courseUID": c
                }
                r3 = self.s.post(url3, headers=self.header, json=json_data3)
                #断言结果
                self.assertEqual(200, r3.json()['code'])

        else:
            self.log.warning('该医生还没有绑定的用户!')

        self.log.info('医生查看用户某一方案训练记录接口测试结束!!')

    def tearDown(self):
        self.s.close()
示例#6
0
class Comment(unittest.TestCase):
    def setUp(self):
        self.s = requests.session()
        self.auto_login_token = auto_login_by_UID()  #auto_login_by_UID返回的token
        self.header = {
            'User-Agent':
            'PelvicFloorPersonal/4.1.1 (iPad; iOS 10.1.1; Scale/2.00)',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-Hans-CN;q=1',
            'Content-Type': 'application/json',
            'requestApp': '2',
            'requestclient': '2',
            'versionForApp': '4.1.1',
            'Authorization':
            'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=',
            'Connection': 'keep-alive'
        }
        self.log = Log()
        self.excel = Excel_util(
            r'C:\Users\Administrator\Desktop\Interface_testcase.xls')

    def test_comment01(self):
        u'测试评论接口-评论内容正常'
        self.log.info('开始测试评论渟说接口-评论内容正常')
        url = get_content('sns_base_url') + '/v1/comment/add'
        #读取关联参数-推荐的动态的id
        read_recommened_ids = self.excel.read_value(12, 6)
        feed_ids = json.loads(read_recommened_ids)
        L = []
        for i in feed_ids.values():
            L.append(i)
        json_data = {
            "id": L[0],
            "type": "1",
            "token": self.auto_login_token,
            "text": "很棒!"
        }
        r = self.s.post(url, headers=self.header, json=json_data)
        self.log.info('评论feed返回的内容是:%s' % r.json())
        self.assertEqual(200, r.json()['code'])
        self.assertEqual('评论成功.', r.json()['note'])
        self.log.info('评论渟说接口测试结束\n')

    def test_comment02(self):
        u'测试评论接口-评论内容为空'
        self.log.info('开始测试评论渟说接口-评论内容为空')
        url = get_content('sns_base_url') + '/v1/comment/add'
        #读取关联参数-推荐的动态的id
        read_recommened_ids = self.excel.read_value(12, 6)
        feed_ids = json.loads(read_recommened_ids)
        L = []
        for i in feed_ids.values():
            L.append(i)
        json_data = {
            "id": L[0],
            "type": "1",
            "token": self.auto_login_token,
            "text": ""
        }
        r = self.s.post(url, headers=self.header, json=json_data)
        self.log.info('评论为空feed返回的内容是:%s' % r.json())
        self.assertEqual(200, r.json()['code'])
        self.assertEqual('text 的长度要求为 1 - 800.', r.json()['note'])
        self.log.info('评论渟说-评论内容为空测试结束\n')

    def test_comment03(self):
        u'删除评论接口'
        self.log.info('开始测试删除评论接口')
        #删除评论接口
        url = get_content('sns_base_url') + '/v1/comment/delete'
        #评论记录接口
        pre_url = get_content('sns_base_url') + '/v1/comment/records'
        #读取关联参数-推荐的动态的id
        read_recommened_ids = self.excel.read_value(12, 6)
        feed_ids = json.loads(read_recommened_ids)
        L = []
        for i in feed_ids.values():
            L.append(i)
        pre_json_data = {
            "token": self.auto_login_token,
            "id": L[0],
            "time": 0,
            "page": 1
        }
        respon = self.s.post(pre_url, headers=self.header, json=pre_json_data)
        comment = respon.json()['data']['content']
        #获取评论id
        comment_id = []
        for x in comment:
            comment_id.append(x['comment_id'])
        #循环删除评论
        for y in comment_id:
            json_data = {"token": self.auto_login_token, "comment_id": y}
            r = self.s.post(url, headers=self.header, json=json_data)
            self.log.info('删除评论feed返回的内容是:%s' % r.json())
            self.assertEqual(200, r.json()['code'])
            self.assertEqual('删除评论成功.', r.json()['note'])
        self.log.info('删除评论接口测试结束\n')

    def tearDown(self):
        self.s.close()
示例#7
0
class Mystudy(unittest.TestCase):

    def setUp(self):
        self.s = requests.session()
        self.lgin = LG(self.s) #实例化登录类
        self.uid_token = self.lgin.login() #登录
        self.header = {
            'User-Agent': 'LanTingDoctor/2.0.2 (iPad; iOS 10.1.1; Scale/2.00)',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-Hans-CN;q=1',
            'Content-Type': 'application/json',
            'requestApp': '3',
            'requestclient': '2',
            'versionForApp': '2.0',
            'Authorization': 'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=',
            'Connection': 'keep-alive'
        }
        self.log = Log()
        self.excel = Excel_util(r'C:\Users\Administrator\Desktop\Interface_testcase.xls')

    def test_mystudy(self):
        u'测试我的学习接口'
        self.log.info('-----开始测试测试我的学习接口-----')
        url = 'http://api.lesson.sunnycare.cc/v1/learns'
        json_data = {
            "token":self.uid_token,
            "time": "0",
            "timestamp": str(int(time.time())),
            "nonce": get_digit()
        }
        json_data['sign'] = get_sign(json_data)
        r = self.s.post(url,headers = self.header,json=json_data,verify=False)
        print(r.json())
        self.assertEqual('请求成功.',r.json()['note'])
        lessons = r.json()['data']['list']

        #定义全局变量 学习code
        global study_codes
        study_codes = []
        for i in lessons:
            study_codes.append(i['code'])
        print('study_codes:  ',study_codes)

        #课程code
        lesson_codes = []
        for x in lessons:
            lesson_codes.append(x['lesson_code'])
        print('lesson_codes',lesson_codes)
        #创建字典 写入excel
        m = {}
        j = 1
        for z in lesson_codes:
            m['lessoncode'+ str(j)] = z
            j += 1
        self.excel.write_value(7,6,m)

        self.log.info('----测试我的学习接口结束----')

    def test_add_study_chap(self):
        u'测试增加课程的学习进度接口'
        self.log.info('====开始测试增加课程的学习进度接口=====')
        #先通过课程接口来获取章节
        url = 'http://api.lesson.sunnycare.cc/v1/lesson'
        lesson_codes = json.loads(self.excel.read_value(7,6))

        #定义全局变量
        global chap_codes
        chap_codes = []
        for value in lesson_codes.values():
            json_data = {
                "lesson_code":value,
                "token":self.uid_token,
                "timestamp": str(int(time.time())),
                "nonce": get_digit()
                     }
            json_data['sign'] = get_sign(json_data)
            r = self.s.post(url,headers = self.header,json=json_data,verify=False)
            #断言,我的学习中的每一个课程的标签都应是‘已加入学习’
            print(r.json())
            self.assertEqual('已加入学习',r.json()['data']['btn'][0]['btn_name'])

            #将chap_code 加入chap_codes列表
            for y in (r.json()['data']['chap_list']):
                chap_codes.append(y['chap_code'])
        print('chap_codes:',chap_codes)

        url_2 = 'http://api.lesson.sunnycare.cc/v1/learn/chapadd'

        for i in chap_codes:
            json_data2 = {
                "chap_code":i,
                "timestamp":str(int(time.time())),
                "token":self.uid_token,
                "nonce": get_digit()
                       }
            json_data2['sign'] = get_sign(json_data2)
            r2 = self.s.post(url_2,headers = self.header,json=json_data2,verify=False)
            self.assertEqual('请求成功',r2.json()['note'],msg='增加课程的学习进度失败')

        self.log.info('====测试增加课程的学习进度接口结束=====')


    '''
    def test_remove_study(self):
        u'这是测试取消加入学习接口'
        self.log.info('-----开始测试测试取消加入学习接口--------')
        url = 'https://api.lesson.wrightin.com/v1/learn/remove'
        for i in study_codes:
            json_data = {
                "timestamp":str(time.time()),
                "learn_code":i,
                "token":self.uid_token
            }
            try:
                r2 = self.s.post(url,headers = self.header,json=json_data)
                self.assertEqual('请求成功',r2.json()['note'])
                self.log.info('取消加入学习成功')
            except Exception as e:
                self.log.error('取消介入学习失败。原因:%s' % e)
        self.log.info('-------测试取消加入学习接口结束------')
    '''

    def tearDown(self):
        self.s.close()
示例#8
0
class Feed(unittest.TestCase):
    def setUp(self):
        self.s = requests.session()
        self.auto_login_token = auto_login_by_UID()  #auto_login_by_UID返回的token
        self.header = {
            'User-Agent':
            'PelvicFloorPersonal/4.1.1 (iPad; iOS 10.1.1; Scale/2.00)',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-Hans-CN;q=1',
            'Content-Type': 'application/json',
            'requestApp': '2',
            'requestclient': '2',
            'versionForApp': '4.1.1',
            'Authorization':
            'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=',
            'Connection': 'keep-alive'
        }
        self.log = Log()
        self.excel = Excel_util(
            r'C:\Users\Administrator\Desktop\Interface_testcase.xls')

    def test_user_feed01(self):
        u'测试发布文字-不发布到圈子-参数正常'
        self.log.info('测试发布文字接口-不发布到圈子')
        url = get_content('sns_base_url') + '/v1/feed/add'
        json_data = {"token": self.auto_login_token, "text": "你知道我在等你吗"}
        r = self.s.post(url, headers=self.header, json=json_data)
        self.log.info('返回的内容是是:%s' % r.json())
        self.assertEqual(200, r.json()['code'])
        self.assertEqual('动态发布成功.', r.json()['note'])
        self.log.info('测试发布文字接口-不发布到圈子情况测试结束\n')

    def test_user_feed02(self):
        u'获取用户动态接口-参数正常'
        self.log.info('测试用户动态接口-参数正常')
        url = get_content('sns_base_url') + '/v1/user/feed'
        json_data = {"user_id": "U00014", "time": 0, "page": 1}
        r = self.s.post(url, headers=self.header, json=json_data)
        self.log.info('返回的内容:%s' % r.json())
        self.assertEqual(200, r.json()['code'])
        self.assertEqual('请求成功', r.json()['note'])
        self.assertTrue(r.json()['data'])  #判断data不为空
        con = r.json()['data']['content']

        L = []
        for i in con:
            L.append(i['id'])
            #print(i['id'])
        #print('ids:',L)

        d = {}
        n = 1
        for x in L:
            d['feed_id-' + str(n)] = x
            n += 1
        self.excel.write_value(12, 6, d)
        self.log.info('测试用户动态接口-参数正常情况结束!\n')

    time.sleep(2)

    def test_user_feed03(self):
        u'feed详情接口-参数正常'
        url = get_content('sns_base_url') + '/v1/feed/record'
        self.log.info('开始测试feed详情接口')
        read_feed_ids = self.excel.read_value(12, 6)
        feed_ids = json.loads(read_feed_ids)
        #print(type(feed_ids))
        #迭代字典的value

        for x in feed_ids.values():

            json_data = {"feed_id": x, "token": self.auto_login_token}
            r = self.s.post(url, headers=self.header, json=json_data)
            self.log.info('%s详情返回的内容:%s' % (x, r.json()))
            #self.assertEqual(200,r.json()['code'])
            self.assertEqual('请求成功', r.json()['note'])
            self.assertTrue(r.json()['data'])  #判断data不为空

        self.log.info('feed详情接口测试结束!\n')

    def test_user_feed04(self):
        u'删除动态接口-参数正常'
        self.log.info('测试删除动态接口-参数正常')
        url = get_content('sns_base_url') + '/v1/feed/delete'
        read_feed_ids = self.excel.read_value(12, 6)
        feed_ids = json.loads(read_feed_ids)
        #print(type(feed_ids))
        #迭代字典的value
        for x in feed_ids.values():
            json_data = {"token": self.auto_login_token, "feed_id": x}
            #需要保留一个动态不删除,后面的接口要用到这条动态中的图片地址

            if json_data['feed_id'] == 'F00083':
                pass
            else:
                r = self.s.post(url, headers=self.header, json=json_data)
                self.log.info('%s返回的内容是:%s' % (x, r.json()))
                self.assertEqual(200, r.json()['code'])
        self.log.info('测试删除动态接口-参数正常情况测试结束!\n')

    def tearDown(self):
        self.s.close()
示例#9
0
class Screening(unittest.TestCase):
    '''
    这是获取筛查价格的接口
    '''
    def setUp(self):
        self.s = requests.session()
        self.auto_login_token = auto_login_by_UID()  #auto_login_by_UID返回的token
        self.header = {'User-Agent': 'PelvicFloorPersonal/4.1.1 (iPad; iOS 10.1.1; Scale/2.00)',
                       'Accept-Encoding': 'gzip, deflate',
                       'Accept-Language': 'zh-Hans-CN;q=1',
                       'Content-Type': 'application/json',
                       'requestApp': '2',
                       'requestclient': '2',
                       'versionForApp': '4.1.1',
                       'Authorization': 'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=',
                       'Connection': 'keep-alive'
                       }
        self.log = Log()
        self.excel = Excel_util(r'C:\Users\Administrator\Desktop\Interface_testcase.xls')

    def test_screening_price(self):
        u'获取筛查价格接口'
        self.log.info('开始测试筛查价格接口!')
        url = 'http://api.rih.sunnycare.cc/API/V1/UserAssessRecord/screeninfo'
        json_data = {
            "token":self.auto_login_token
        }
        r = self.s.post(url,headers = self.header,json=json_data)
        self.log.info('筛查价格返回内容是:%s' % r.json())
        try:
            self.assertEqual(200,r.json()['code'])
        except Exception as e:
            print(e)
            raise AssertionError

        self.log.info('筛查价格接口测试结束!')

    def test_get_report01(self):
        '查看我的筛查/评估报告列表'
        self.log.info('测试查看评估筛查报告列表接口:')
        url = 'http://api.rih.sunnycare.cc/API/V1/UserAssessRecord/getUserAssessRecordByUserID'
        json_data = {
            "token": self.auto_login_token,
            "timestamp": int(time.time()),
            "page": 1
        }
        r = self.s.post(url,headers = self.header,json=json_data)
        self.log.info('评估筛查报告接口返回内容是:%s' % r.json())
        self.assertEqual(200,r.json()['code'])
        #取出报告id写入excel
        id = r.json()['data']['content'][0]['local_id']
        self.excel.write_value(17,6,id)
        self.log.info('查看评估筛查报告接口测试结束!')


    def test_get_assess_count(self):
        u'获取可用评估次数接口'
        self.log.info('测试可用评估次数接口:')
        url = 'http://api.rih.sunnycare.cc/API/V1/UserAssessRecord/assesscount'
        json_data = {
            "token": self.auto_login_token
        }
        r = self.s.post(url,headers = self.header,json=json_data)
        self.log.info('评估次数返回结果是:%s' % r.json())
        self.assertEqual(200,r.json()['code'])
        self.log.info('可用评估次数接口测试结束!')

    def test_Assess_price(self):
        u'获取评估价格接口'
        self.log.info('开始测试评估价格接口:')
        url = 'http://api.rih.sunnycare.cc/API/V1/UserAssessRecord/assessinfo'
        json_data = {
            "token": self.auto_login_token
        }
        r = self.s.post(url,headers = self.header,json=json_data)
        self.log.info('评估价格返回的结果是:%s' % r.json())
        self.assertEqual(200,r.json()['code'])
        self.log.info('评估价格接口测试结束')

    def test_get_report02(self):
        u'查看评估/筛查详情接口'
        self.log.info('查看评估/筛查详情接口')
        url = 'http://api.rih.sunnycare.cc/API/V1/UserAssessRecord/getUserAssessRecord'
        #读取报告id作为入参
        read_id = self.excel.read_value(17,6)
        json_data = {
            "token": self.auto_login_token,
            "id": read_id
        }
        r = self.s.post(url,headers = self.header,json=json_data)
        self.log.info('查看报告详情返回:%s' % r.json())
        self.assertEqual(200,r.json()['code'])
        self.log.info('查看评估/筛查详情接口结束!!')


    def tearDown(self):
        self.s.close()
示例#10
0
class Meet(unittest.TestCase):
    def setUp(self):
        #banner获取接口
        self.s = requests.session()
        self.lgin = LG(self.s) #实例化登录类
        self.uid_token = self.lgin.login() #直接取第二部登录
        self.header = {'User-Agent': 'LanTingDoctor/1.3.1 (iPad; iOS 10.1.1; Scale/2.00)',
                       'Accept-Encoding': 'gzip, deflate',
                       'Accept-Language': 'zh-Hans-CN;q=1',
                       'Content-Type': 'application/json',
                       'requestApp': '3',
                       'requestclient': '2',
                       'versionForApp': '2.0',
                       'Authorization': 'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=',
                       'Connection': 'keep-alive'
                       }
        self.log = Log()
        self.EXCEL = Excel_util(r'C:\Users\Administrator\Desktop\Interface_testcase.xls')

    def test_getbanner(self):
        u'测试获取banner链接接口'
        self.log.info('----------开始测试获取banner接口-----------')
        url = 'http://api.meet.sunnycare.cc/v2/banner'
        json_data = {
            "token":self.uid_token,
            'timestamp': str(int(time.time())),
            'nonce':get_digit()
        }
        json_data['sign'] = get_sign(json_data)
        r = self.s.post(url=url,headers = self.header,json=json_data)
        self.log.info('返回的内容是:%s' % r.json())
        try:
            self.assertEqual('请求成功.',r.json()['note'])
            self.assertEqual(200,r.json()['code'])
            self.log.info('接口返回状态成功!')
        except Exception as e:
            self.log.error('请求失败,原因是:%s' % e)
            raise AssertionError

        #取出json中banner链接依次进行get
        links = r.json()['data']
        for link in links:
            super_link = link['image']
            r2 = self.s.get(url=super_link,headers = self.header)
            try:
                self.assertEqual(200,r2.status_code)
                self.log.info('banner链接请求成功')
            except Exception as e:
                self.log.error('banner链接请求失败,原因:%s' % e)
                raise AssertionError
        self.log.info('----------banner接口测试结束-----------')


    def test_get_meets(self):
        u'测试获取会议接口'
        url = 'http://api.exam.wrightin.com/v1/meetNew'
        self.log.info('------开始获取会议接口测试-------')
        json_data = {
            "token":self.uid_token,
            "time":"0"
        }
        r = self.s.post(url,headers = self.header,json=json_data)
        #判断返回状态
        #print(r.json())
        try:
            self.assertEqual('请求成功.',r.json()['note'])
            self.log.info('获取会议接口返回状态成功')
        except Exception as e:
            self.log.error('返回状态不成功,原因:%s' % e)
            raise AssertionError


        #判断会议内容不为空
        meet_list = r.json()['data']['list']
        try:
            self.assertLessEqual(1,len(meet_list))
            self.log.info('会议内容不为空')
        except Exception as e:
            self.log.error('会议内容为空。原因:%s' % e)
        self.log.info('------获取会议接口测试结束-------')

    def test_meet_info(self):
        u'测试每个具体的会议信息'
        self.log.info('=========开始测试会议信息接口==========')
        #要先获取到每个会议的code
        url_1 = 'http://api.meet.sunnycare.cc/v2/meet/records'
        json_data_1 = {
            "token":self.uid_token,
            "time":"0",
            'timestamp': str(int(time.time())),
            'nonce': get_digit()
        }
        json_data_1['sign'] = get_sign(json_data_1)
        #先获取会议列表
        r1 = self.s.post(url_1,headers = self.header,json=json_data_1)
        #从会议列表中取会议code
        response = r1.json()['data']['list']
        codes = []
        for i in response:
            codes.append(i['code'])
        #print('code::::',codes)
        #循环对每一个会议code获取会议信息
        url_2 = 'http://api.meet.sunnycare.cc/v2/meet'
        #创建考试code list
        exam_codes = []

        for code in codes:
            json_data_2 = {
                "token":self.uid_token,
                "meet_code":code,
                'timestamp': str(int(time.time())),
                'nonce': get_digit()
            }
            json_data_2['sign'] = get_sign(json_data_2)
            r2 = self.s.post(url_2,headers = self.header,json=json_data_2)#json_data可以共用
            #print(r2.json())
            #断言每个会议信息的返回状态
            try:
                self.assertEqual('请求成功.',r2.json()['note'])
                self.log.info('会议信息返回状态成功')
            except Exception as e:
                self.log.error('会议信息返回状态失败,原因:%s' % e)
                raise AssertionError

            #获取试卷code作为关联参数
            d = r2.json()['data']
            exam_codes.append(d['exam_code'])

        #去除exam列表中的空元素
        new_exam_codes = []
        for i in exam_codes:
            if i != '':
                new_exam_codes.append(i)
        print('exam code:' ,new_exam_codes)
        #将exam code 以字典格式写入excel
        D = {}
        x = 1
        for i in new_exam_codes:
            D['exam_code'+ str(x)] = i
            x += 1
        self.EXCEL.write_value(3,5,json.dumps(D))
        self.log.info('=========测试会议信息接口结束==========')


    def test_exam_msg(self):
        u'测试获取考试信息 接口'
        self.log.info('-----------开始测试获取考试信息 接口-----------')
        #之前写入excel是str类型,现在转换为dict类型
        exam_codes = json.loads(self.EXCEL.read_value(3,5))
        self.log.info('读取的考试code是:%s' % exam_codes)
        url = 'http://api.exam.sunnycare.cc/v1/examMsgByMeetCode'
        #循环字典的value作为examcode
        for value in exam_codes.values():
            json_data = {
                "token":self.uid_token,
                "examcode":value,
                "userid":"107dfd1c1ade4a0f820e4897491710c6"
            }
            r = self.s.post(url,headers=self.header,json=json_data)
            try:
                self.assertEqual('请求成功.',r.json()['note'])
                self.log.info('考试信息获取成功!')
            except Exception as e:
                self.log.error('考试信息获取失败,原因是:%s' % e)
                raise AssertionError

        self.log.info('-----------开始测试获取考试信息 接口测试结束!-----------')

    def tearDown(self):
        self.s.close()
示例#11
0
class Contact(unittest.TestCase):
    def setUp(self):
        self.s = requests.session()
        self.lgin = LG(self.s)  #实例化登录类
        self.uid_token = self.lgin.login()  #直接取第二部登录
        self.header = {
            'User-Agent': 'LanTingDoctor/1.3.1 (iPad; iOS 10.1.1; Scale/2.00)',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-Hans-CN;q=1',
            'Content-Type': 'application/json',
            'requestApp': '3',
            'requestclient': '2',
            'versionForApp': '2.0',
            'Authorization':
            'Basic YXBpTGFudGluZ0BtZWRsYW5kZXIuY29tOkFwaVRobWxkTWxkQDIwMTM=',
            'Connection': 'keep-alive'
        }
        self.log = Log()  #实例化日志的类
        self.excel = Excel_util(
            r'C:\Users\Administrator\Desktop\interface_testcase.xls')

    def test_update_contacts01(self):
        u'更新联系人-更新名字'
        #先读取一个参会人code然后更新其信息
        read_code = self.excel.read_value(15, 6)
        be_use_code = json.loads(read_code)
        update_url = 'http://api.meet.sunnycare.cc/v2/contact/update'

        json_data = {
            "token": self.uid_token,
            "name": '更新后的名字',
            "contact_code": be_use_code['contact_code1'],
            "phone": '13605246089',
            "sex": '0',
            "address": '江苏省南京市江宁区',
            "company": '南京麦澜德',
            "job": 'xxx',
            "job_title": 'sss',
            "is_from_base": '1',
            "timestamp": str(int(time.time())),
            "nonce": get_digit()
        }
        #入参加密
        json_data['sign'] = get_sign(json_data)
        r = self.s.post(update_url, headers=self.header, json=json_data)
        self.assertEqual(200, r.json()['code'])

    def test_update_contacts02(self):
        u'更新联系人-更新号码'
        read_code = self.excel.read_value(15, 6)
        be_use_code = json.loads(read_code)
        update_url = 'http://api.meet.sunnycare.cc/v2/contact/update'
        json_data = {
            "token": self.uid_token,
            "name": '更新后的名字',
            "contact_code": be_use_code['contact_code1'],
            "phone": '13888888888',
            "sex": '0',
            "address": '江苏省南京市江宁区',
            "company": '南京麦澜德',
            "job": 'xxx',
            "job_title": 'sss',
            "is_from_base": '1',
            "timestamp": str(int(time.time())),
            "nonce": get_digit()
        }
        #入参加密
        json_data['sign'] = get_sign(json_data)
        r = self.s.post(update_url, headers=self.header, json=json_data)
        self.assertEqual(200, r.json()['code'])

    def test_update_contacts03(self):
        u'更新联系人-更新名字'
        read_code = self.excel.read_value(15, 6)
        be_use_code = json.loads(read_code)
        update_url = 'http://api.meet.sunnycare.cc/v2/contact/update'
        json_data = {
            "token": self.uid_token,
            "name": '更新后的名字2',
            "contact_code": be_use_code['contact_code1'],
            "phone": '13888888888',
            "sex": '0',
            "address": '北京市江宁区天元东路122号',
            "company": '南京麦澜德',
            "job": 'xxx',
            "job_title": 'sss',
            "is_from_base": '1',
            "timestamp": str(int(time.time())),
            "nonce": get_digit()
        }
        #入参加密
        json_data['sign'] = get_sign(json_data)
        r = self.s.post(update_url, headers=self.header, json=json_data)
        self.assertEqual(200, r.json()['code'])

    def tearDown(self):
        self.s.close()