# -*- coding: utf-8 -*- import json import time import unittest import requests import os import HtmlTestRunner from API_Keys import apis # 用例路径 case_path = os.path.join(os.getcwd(), "case") # 报告存放路径 report_path = os.path.join(os.getcwd(), "report") '''API接口测试''' class TestAPIs(unittest.TestCase): # 类变量:跟踪登录状态和API实例 _logged_in = False devapi = None @classmethod def setUpClass(cls): """初始化API实例,首次调用时执行登录""" cls.devapi = apis() cls.login() # 初始登录 @classmethod def login(cls): """执行登录并更新登录状态""" response = cls.devapi.uesrlog() cls._logged_in = True return response @classmethod def logout(cls): """清除登录状态""" cls._logged_in = False # def test_01_uesrlogerror(self): # '未注册账号登录' # # 如果需要在此测试中重新登录,可以调用: # # TestAPIs.login() # self.devapi.uesrlogerror() # '''用户''' # def test_02_pwdsuser(self): # '<错误密码>' # self.devapi.pwdsuser("dwqdwqwq3") # def test_03_getlog(self): # '<获取用户信息>' # '获取用户头像上传地址' # self.devapi.putAvatar() # def test_05_UpdatePwd(self): # '修改密码' # self.devapi.UpdatePwd() # def test_06_updateInfo(self): # '修改昵称' # self.devapi.getlog() # def test_04_putAvatar(self): # self.devapi.updateInfo() # def test_07_updateInfomax(self): # '修改昵称---30字符' # self.devapi.updateInfomax() # def test_08_updateInfomin(self): # '修改昵称---1字符' # self.devapi.updateInfomin() # def test_09_updateInfoSpecial_symbols(self): # '修改昵称---特殊符号' # self.devapi.updateInfoSpecial_symbols() # def test_10_updateInfoSpecial_Chinese(self): # '''中文字符''' # self.devapi.updateInfoSpecial_Chinese() # "测试连" # def test_11_putClient(self): # '上报登录设备信息' # self.devapi.putClient() # '''设备绑定''' # def test_12_bind(self): # '设备绑定' # self.devapi.bind( # 1000, # "设备绑定成功接口正常", # "设备绑定成功接口异常", # "d8:1b:99:ee:c2:62", # "ok" # ) # def test_13_bind(self): # '设备绑定-不存在的mac' # self.devapi.bind( # 1003, # "不存在的MAC绑定失败,接口正常", # "不存在的MAC绑定成功,接口异常", # "11:a9:af:01:74:27", # "invalid mac" # ) # def test_14_upgradedVersion_Front(self): # '获取设备前板可升级版本' # self.devapi.upgradedVersion_Front() # def test_15_login(self): # '获取设备后板可升级版本' # self.devapi.upgradedVersion_Rear() # def test_16_models(self): # '获取所有设备型号列表' # self.devapi.models() # def test_17_newList(self): # '获取五分钟内绑定的设备' # self.devapi.newList() # def test_18_UpdateName(self): # '修改设备名称----20字符' # self.devapi.UpdateName(self.devapi.randoms(20)) # def test_19_UpdateName_max(self): # '修改设备名称--21字符' # self.devapi.UpdateName_max(self.devapi.randoms(21)) # def test_20_UpdateName_min(self): # '修改设备名称--1字符' # self.devapi.UpdateName_min(self.devapi.randoms(1)) # def test_21_UpdateName_special(self): # '修改名称-特殊字符' # self.devapi.UpdateName_special(self.devapi.randomspecial(5)) # def test_22_UpdateName_Chinese(self): # '修改名称-输入中文字符' # self.devapi.UpdateName_Chinese(self.devapi.randomChinese(5)) # # def test_23_deletedevices(self): # # '解绑设备' # # self.devapi.deletedevices() # """设备事件部分""" # def test_24_evenlist(self): # '获取事件列表' # self.devapi.evenlist() # def test_25_eventread(self): # '修改事件消息的读取状态' # self.devapi.eventread() # def test_26_eventunreadNum(self): # '获取事件未读数量' # self.devapi.eventunreadNum() # def test_27_evendel(self): # '删除事件消息' # self.devapi.evendel() # "公共接口" # def test_28_times(self): # '获取服务器当前时间戳' # self.devapi.times() # def test_29_getUrl(self): # '获取服务器地址' # self.devapi.getUrl() # "设备家庭" # def test_30_homeCreate(self): # '创建家庭' # self.devapi.homeCreate(self.devapi.randoms(20)) # def test_31_homeCreatepecial(self): # '创建家庭-特殊字符' # self.devapi.homeCreatepecial(self.devapi.randomspecial(6)) # def test_32_homeCreateChinese(self): # '创建家庭-中文字符' # self.devapi.homeCreateChinese(self.devapi.randomChinese(6)) # def test_33_homeCreateMax(self): # '创建家庭-21字符' # self.devapi.homeCreateMax(self.devapi.randoms(21)) # def test_34_homeCreateMin(self): # '创建家庭-1字符' # self.devapi.homeCreateMin(self.devapi.randomChinese(1)) # def test_35_homesList(self): # '获取家庭列表' # self.devapi.homeslist() # def test_36_homeDelete(self): # '删除家庭' # for i in range(4): # # self.devapi.homeDelete() # def test_37_homeUpdate(self): # '修改家庭名称或者地址' # self.devapi.homeUpdate(self.devapi.randomChinese(5)) # def test_38_homeUpdatepecial(self): # '修改家庭名称-特殊字符' # self.devapi.homeUpdatepecial(self.devapi.randoms(10)) # def test_39_homeUpdateMax(self): # '修改家庭名称-30字符' # self.devapi.homeUpdateMax(self.devapi.randoms(20)) # def test_40_homeChange(self): # '更换设备所属家庭-最后一个' # self.devapi.homeChange() # def test_41_homeChangenoe(self): # '更换设备所属家庭-第一个' # self.devapi.homeChangenoe() # def test_42_homeDevices(self): # '获取家庭下的设备列表' # self.devapi.homeDevices() # def test_43_homeUsers(self): # '获取家庭下的用户' # self.devapi.homeUsers() # def test_44_homeShare(self): # '分享家庭给用户' # self.devapi.homeShare() # def test_45_messageList(self): # '登录被分享账号去获取消息列表' # self.devapi.messagelist() # # time.sleep(3) # def test_46_homeShareFeedback(self): # '用户反馈分享结果接口(同意加入家庭)' # self.devapi.homeShareFeedback(1) # def test_47_homeShareRemove(self): # '删除分享者(主账号登录去删除)' # self.devapi.homeShareRemove() # def test_48_homeShareFeedbackNo(self): # '用户反馈分享结果接口(拒绝加入家庭)' # self.devapi.homeShareFeedbackNo(2) # ''' # 家庭内添加设备接口功能(已废弃) # def test_48_1_homeAddDevice(self): # '家庭内添加设备' # self.devapi.homeAddDevice("685d3d5c8e2acc38e53eb38a") # def test_48_2_homeAddDevice(self): # time.sleep(1) # self.devapi.homeAddDevice("6865f9dd8e2acc38e53eb69f") # def test_48_3_homeAddDevice(self): # time.sleep(1) # self.devapi.homeAddDevice("687460cb3ca717516d7124a2") # ''' # # def test_49_homeDelete(self): #前面有了删除家庭 # # '删除家庭' # # # for i in range(4): # # # time.sleep(1) # # self.devapi.homeDelete() # # "云存储" # def test_50_cloudToken(self): # 'APP获取文件下载token' # self.devapi.cloudToken() # def test_51_cloudFiles(self): # 'APP获取云存储文件信息' # self.devapi.cloudFiles() # def test_52_cloudputToken(self): # '设备获取文件上报token' # self.devapi.cloudputToken() # def test_53_cloudputFiles(self): # '获取设备上云存信息' # self.devapi.cloudputFiles() # "消息部分" # def test_54_messagelist(self): # '获取消息列表' # self.devapi.messagelist() # # time.sleep(3) # def test_55_messageread(self): # '修改消息读取状态' # self.devapi.messageread() # def test_56_messageunreaNum(self): # '获取消息未读数量' # self.devapi.messageunreaNum() # def test_57_mmessagedelete(self): # '删除消息' # self.devapi.messagedelete() # "设备分享" # def test_58_deviceshare(self): # '设备分享' # self.devapi.deviceshare("15814087116") # def test_59_deviceshareUser(self): # '设备分享-不存在的用户' # self.devapi.deviceshareUser("18814087116") # def test_60_deviceshareUser(self): # '分享不存在的设备' # self.devapi.deviceshareDevice("c7e8e360d5c4e8aa9624e1367d2896b") # def test_61_deviceshareRecords(self): # '获取分享列表' # self.devapi.deviceshareRecords() # def test_62_devicesshareFeedback(self): # '用户反馈(拒绝)接受分享' # self.devapi.devicesshareFeedback() # def test_63_devicesshareFeedbackOK(self): # '用户反馈(同意)接受分享' # self.devapi.devicesshareFeedbackOK() # def test_64_deviceshareDelete(self): # '设备主人移除分享' # self.devapi.deviceshareDelete() # def test_65_create(self): # '创建反馈' # self.devapi.create() # def test_66_feedbacklist(self): # '获取创建反馈列表' # self.devapi.feedbacklist() # def test_67_feedbackinfo(self): # '获取反馈详情' # self.devapi.feedbackinfo() # def test_68_feedbacksend(self): # '发送反馈消息' # self.devapi.feedbacksend() # def test_69_leavewordlist(self): # 'APP获取留言列表' # self.devapi.leavewordlist() # def test_70_leavewordunreadNumber(self): # 'APP获取留言未读数量' # self.devapi.leavewordunreadNumber() # def test_71_leavewordread(self): # 'APP设置全部留已读' # self.devapi.leavewordread() # def test_72_leaveworddeviceList(self): # '设备获取留言列表' # self.devapi.leaveworddeviceList() # def test_73_leaveworddeviceUnreadNumber(self): # '设备获取留言未读数量' # self.devapi.leaveworddeviceUnreadNumber() # def test_74_leaveworddeviceRead(self): # # '设备设置留言已读' # self.devapi.leaveworddeviceRead() def test_75_devicegetAllUser(self): self.devapi.devicegetAllUser() def test_76_deviceputAllUser(self): self.devapi.deviceputAllUser() def test_77_devicelogin(self): self.devapi.devicelogin() # # def test_02_binmac(self): # self.devapi.bindmac() # def test_03_binmacs(self): # self.devapi.activate() # # if __name__ == '__main__': unittest.main()