# -*- 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()