def test003_get_filekey_uploadToken(self): '''获取filekey和uploadToken和accessURL''' global access_token global base_url global caseName global filekey global uploadToken global accessURL caseName = "3 获取filekey和uploadToken和accessURL" log.info("--------------------" + caseName + "------------------开始测试") headers = {'Accept': 'application/json', 'Authorization': 'Bearer ' + access_token} log.info("headers--------------------" + str(headers)) parameters = "/api/v2/op/up/token?fileName=熊猫公交图片.jpg" asserts = ["\"success\":true",'"filekey":"','"uploadToken":"','"accessURL":"'] url = base_url + parameters response = TestMethod.getMethod(self, url, headers) # "filekey":"3cdd8157-093e-41fd-8e13-310a82eea511.mp4", filekey = regSearchString(response.text, '"filekey":"(.+?)",', 11, -2) log.info("正则--获取filekey: " + filekey) # "uploadToken":"6IRM4w7Yyl4RfC7l2gPhTd7NbHjD00i3Z4_1wKjT:vOmD4Af- uploadToken = regSearchString(response.text, '"uploadToken":"(.+?)",', 15, -2) log.info("正则--获取uploadToken: " + uploadToken) # "accessURL":"https://media.quixmart.com/03a4b820-7c12-4b18-b96e-7b3c7897f533.jpg" accessURL = regSearchString(response.text, '"accessURL":"(.+?)"},', 13, -3) log.info("正则--获取accessURL: " + accessURL) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test012_get_ads_plan_info(self): '''获取投放计划详情''' global access_token global base_url global caseName global plan_id caseName = "12 获取投放计划详情" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/plan/{plan_id}".format(plan_id=plan_id) asserts = [ '"name":"test00001_update",', '"materialName":"create_materials_test00001"', '"positionId":7,', '"positionName":"熊猫公交19寸广告屏"' ] url = base_url + parameters response = TestMethod.getMethod(self, url, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test008_get_material_filekey(self): '''获取素材filekey''' global access_token global base_url global caseName global filekey global uploadToken caseName = "8 获取素材filekey" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/op/up/token?fileName=dududu.mp4" asserts = [ '"success":true,', '"filekey":"', '"uploadToken":"', '"accessURL":"' ] url = base_url + parameters response = TestMethod.getMethod(self, url, headers) log.info(response.text) # "filekey":"3cdd8157-093e-41fd-8e13-310a82eea511.mp4", filekey = regSearchString(response.text, '"filekey":"(.+?)",', 11, -2) log.info("正则--获取 filekey: " + filekey) # "uploadToken":"6IRM4w7Yyl4RfC7l2gPhTd7NbHjD00i3Z4_1 uploadToken = regSearchString(response.text, '"uploadToken":"(.+?)",', 15, -2) log.info("正则--获取 uploadToken: " + uploadToken) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test003_add_new_ads_plan(self): '''新增投放计划''' global access_token global base_url global caseName global plan_id caseName = "3 新增投放计划" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': 'application/json; charset=utf-8', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/plan" asserts = ['"success":true,', '"reason":"Created Success.",'] url = base_url + parameters bodyData = { "name": "test00001", "busIds": [15], "startTime": 1625147576097, "endTime": 1625233976097 } response = TestMethod.postMethod(self, url, bodyData, headers) # {"success":true,"reason":"Delete Success","id":43} plan_id = regSearchString(response.text, '"id":(.+?)}', 5, -1) log.info("正则--获取 plan_id: " + plan_id) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(10)
def test018_delete_new_material(self): '''删除刚刚添加的素材''' global access_token global base_url global caseName global plan_id global material_id caseName = "18 删除刚刚添加的素材" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': 'application/json; charset=utf-8', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/plan/{plan_id}/materials-del".format( plan_id=plan_id) asserts = [ '"success":true,', '"reason":"Remove Ads Item from Plan success",', plan_id ] url = base_url + parameters bodyData = {"toRemove": [material_id]} response = TestMethod.putMethod(self, url, bodyData, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test012_edit_video_info(self): '''编辑视频信息''' global access_token global base_url global caseName global video_id global accessURL1 caseName = "12 编辑视频信息" log.info("--------------------" + caseName + "------------------开始测试") headers = {'Accept': 'application/json', 'Accept-Encoding':'gzip, deflate, br', 'Content-Type':'application/json; charset=utf-8','Authorization': 'Bearer ' + access_token} log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/module-video-detail" asserts = ["\"success\":true"] url = base_url + parameters bodyData = { "id":video_id, "name":"test_video_00001_update", "order":1, "weight":"3", "imageUrl":accessURL1, "videoUrl":accessURL1, "videoLength":"null", "videoFormat":"mp4", "exposureCount":0 } response = TestMethod.postMethod(self, url, bodyData, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text),"断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test006_edit_module(self): '''编辑影音模块''' global access_token global base_url global caseName global model_id caseName = "6 编辑影音模块" log.info("--------------------" + caseName + "------------------开始测试") headers = {'Accept': 'application/json', 'Accept-Encoding':'gzip, deflate, br', 'Content-Type':'application/json; charset=utf-8','Authorization': 'Bearer ' + access_token} log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/module-video-summary" asserts = ["\"success\":true"] url = base_url + parameters bodyData = { "id":model_id, "name":"modelTest00001_update", "order":1, "weight":"1", "imageUrl":"${accessURL}", "videoCount":0, "remark":"model_discription_modelTest00001" } response = TestMethod.postMethod(self, url, bodyData, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text),"断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test005_add_new_ads_plan(self): '''新增投放计划:时间冲突''' global access_token global base_url global caseName caseName = "5 新增投放计划:时间冲突" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': 'application/json; charset=utf-8', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/plan" asserts = [ '"success":false,', '"code":"1999",', '"message":"系统错误",', '"data":"所选公交列表中的车部分已经有该时段的计划",' ] url = base_url + parameters bodyData = { "name": "test00002", "busIds": [15], "startTime": 1625147576097, "endTime": 1625233976097 } response = TestMethod.postMethod(self, url, bodyData, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test015_delete_new_ads_plan(self): '''删除创建的投放计划:无法删除正在投放的计划''' global access_token global base_url global caseName global plan_id caseName = "15 删除创建的投放计划:无法删除正在投放的计划" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': 'application/json; charset=utf-8', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/plan/{plan_id}".format(plan_id=plan_id) asserts = [ '"success":false,', '"code":"1999",', '"message":"系统错误",', '"data":"不支持直接删除状态为投放中的计划",' ] url = base_url + parameters response = TestMethod.deleteMethod(self, url, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test010_upload_video(self): '''上传视频''' global access_token global base_url global caseName global model_id global accessURL1 caseName = "10 上传视频" log.info("--------------------" + caseName + "------------------开始测试") headers = {'Accept': 'application/json', 'Accept-Encoding':'gzip, deflate, br', 'Content-Type':'application/json; charset=utf-8','Authorization': 'Bearer ' + access_token} log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/module-video-detail" asserts = ["\"success\":true"] url = base_url + parameters bodyData = { "name":"test_video_00001", "weight":"2", "imageUrl":accessURL1, "videoUrl":accessURL1, "videoFormat":"mp4", "moduleId":model_id } response = TestMethod.putMethod(self, url, bodyData, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text),"断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test002_get_modules_name(self): '''获取所有模块名称''' global access_token global base_url global caseName caseName = "2 获取所有模块名称" log.info("--------------------" + caseName + "------------------开始测试") headers = {'Accept': 'application/json', 'Authorization': 'Bearer ' + access_token} log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/module-video-summary?pageNum=1&pageSize=10" asserts = ["\"success\":true"] url = base_url + parameters response = TestMethod.getMethod(self, url, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text),"断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test008_get_modules_info(self): '''查看创建的模块详情''' global access_token global base_url global caseName global model_id caseName = "8 查看创建的模块详情" log.info("--------------------" + caseName + "------------------开始测试") headers = {'Accept': 'application/json', 'Authorization': 'Bearer ' + access_token} log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/module-video-detail?pageNum=1&pageSize=10&moduleId={model_id}".format(model_id=model_id) asserts = ["\"success\":true"] url = base_url + parameters response = TestMethod.getMethod(self, url, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text),"断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test013_check_video_in_modules(self): '''查询模块里面的视频:验证是否成功编辑视频''' global access_token global base_url global caseName global model_id global accessURL1 caseName = "13 查询模块里面的视频:验证是否成功上传视频" log.info("--------------------" + caseName + "------------------开始测试") headers = {'Accept': 'application/json', 'Authorization': 'Bearer ' + access_token} log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/module-video-detail?pageNum=1&pageSize=10&moduleId={model_id}".format(model_id=model_id) asserts = ["\"success\":true",'"name":"test_video_00001_update",','"videoFormat":"mp4",',accessURL1] url = base_url + parameters response = TestMethod.getMethod(self, url, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text),"断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test006_edit_ads_plan(self): '''编辑投放计划''' global access_token global base_url global caseName global plan_id caseName = "6 编辑投放计划" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': 'application/json; charset=utf-8', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/plan/{plan_id}".format(plan_id=plan_id) asserts = ['"success":true,', '"reason":"Update Success",', plan_id] url = base_url + parameters bodyData = { "planId": plan_id, "name": "test00001_update", "busNames": [{ "busId": 15, "busName": "tntest" }], "positionNames": 'null', "startTime": 1627741854000, "endTime": 1630420254000, "updateTime": 1560263512000, "materialCount": 'null', "exposeCount": 'null', "viewCount": 'null', "status": "0", "materials": 'null', "id": plan_id, "busIds": [15] } response = TestMethod.putMethod(self, url, bodyData, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test016_delete_module(self): '''删除模块''' global access_token global base_url global caseName global model_id caseName = "16 删除模块" log.info("--------------------" + caseName + "------------------开始测试") headers = {'Accept': 'application/json', 'Accept-Encoding':'gzip, deflate, br', 'Content-Type':'application/json; charset=utf-8','Authorization': 'Bearer ' + access_token} log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/module-video-summary" asserts = ["\"success\":true"] url = base_url + parameters bodyData = {"id":model_id} response = TestMethod.deletesMethod(self, url, bodyData, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text),"断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test017_get_ads_plan_info(self): '''获取投放计划详情:验证成功暂停投放计划''' global access_token global base_url global caseName global plan_id caseName = "17 获取投放计划详情:验证成功暂停投放计划" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/plan/{plan_id}".format(plan_id=plan_id) asserts = [plan_id, '"status":"0",'] url = base_url + parameters response = TestMethod.getMethod(self, url, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test004_get_all_ads_plan(self): '''获取所有投放计划--验证成功创建投放计划''' global access_token global base_url global caseName global plan_id caseName = "4 获取所有投放计划--验证成功创建投放计划" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/plan" asserts = ['"name":"test00001"', plan_id] url = base_url + parameters response = TestMethod.getMethod(self, url, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test005_get_modules_name(self): '''获取所有模块名称获取model_id''' global access_token global base_url global caseName global accessURL global model_id caseName = "5 获取所有模块名称获取model_id" log.info("--------------------" + caseName + "------------------开始测试") headers = {'Accept': 'application/json', 'Authorization': 'Bearer ' + access_token} log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/module-video-summary?pageNum=1&pageSize=10" asserts = ["\"success\":true",'"name":"modelTest00001",','"remark":"model_discription_modelTest00001"',accessURL] url = base_url + parameters response = TestMethod.getMethod(self, url, headers) # "id":222,"name":"modelTest00001" model_id = regSearchString(response.text, '"id":(.+?),"name":"modelTest00001"', 5, -24) log.info("正则--获取 model_id: " + model_id) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text),"断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test022_delete_new_ads_plan(self): '''删除创建的投放计划''' global access_token global base_url global caseName global plan_id caseName = "22 删除创建的投放计划" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': 'application/json; charset=utf-8', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/plan/{plan_id}".format(plan_id=plan_id) asserts = ['"success":true,', '"reason":"Delete Success"', plan_id] url = base_url + parameters response = TestMethod.deleteMethod(self, url, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test007_get_ads_plan_info(self): '''获取投放计划详情--验证成功编辑''' global access_token global base_url global caseName caseName = "7 获取投放计划详情--验证成功编辑" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/plan/{plan_id}".format(plan_id=plan_id) asserts = [ '"positionNames":null', '"materialCount":null', '"materials":null', '"name":"test00001_update"' ] url = base_url + parameters response = TestMethod.getMethod(self, url, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test002_click_create_adsPlan_btn(self): '''点击创建投放计划按钮''' global access_token global base_url global caseName caseName = "2 点击创建投放计划按钮" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate, br', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/bus" asserts = [ '"buses":', '"name":"tntest",', '"deviceCode":"LJM6HCDC8JAS02698",', '"vin":"LJM6HCDC8JAS02698",' ] url = base_url + parameters response = TestMethod.getMethod(self, url, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test020_delete_new_material(self): '''素材库里面删除刚刚创建的素材''' global access_token global base_url global caseName global material_id caseName = "20 素材库里面删除刚刚创建的素材" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': 'application/json; charset=utf-8', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/material/{material_id}".format( material_id=material_id) asserts = ['"result":true,', '"remark":"Delete Success"'] url = base_url + parameters response = TestMethod.deleteMethod(self, url, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test010_get_material_list(self): '''获取素材列表''' global access_token global base_url global caseName global material_id caseName = "10 获取素材列表" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/material?pageSize=8&pageNum=1" asserts = [ '"success":true,', '"materialName":"create_materials_test00001"', '"positionId":7,', '"positionName":"熊猫公交19寸广告屏"', material_id ] url = base_url + parameters response = TestMethod.getMethod(self, url, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test016_stop_ads_plan(self): '''暂停投放计划''' global access_token global base_url global caseName global plan_id caseName = "16 暂停投放计划" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': 'application/json; charset=utf-8', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/plan/{plan_id}/status?toStatus=0".format( plan_id=plan_id) asserts = ['"result":"success",', '"code":0,', '"remark":"success"'] url = base_url + parameters response = TestMethod.putmethod(self, url, headers) log.info(response.text) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(1)
def test009_upload_material(self): '''上传素材''' global access_token global base_url global caseName global filekey global material_id caseName = "9 上传素材" log.info("--------------------" + caseName + "------------------开始测试") headers = { 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate, br', 'Content-Type': 'application/json; charset=utf-8', 'Authorization': 'Bearer ' + access_token } log.info("headers--------------------" + str(headers)) parameters = "/api/v2/ads-op/v3/material" asserts = ['"name":"create_materials_test00001"'] url = base_url + parameters bodyData = { "materialName": "create_materials_test00001", "positionId": 7, "imageUrl": "", "sexTags": [{ "tagId": "MALE", "tagName": "男" }, { "tagId": "FEMALE", "tagName": "女" }], "ageTags": [{ "tagId": "BABY", "tagName": "幼年" }, { "tagId": "YOUNG", "tagName": "少年" }, { "tagId": "MATURE", "tagName": "青年" }, { "tagId": "MIDLIFE", "tagName": "中年" }, { "tagId": "OLD", "tagName": "老年" }], "materialUrl": "https://media.quixmart.com/{filekey}".format(filekey=filekey), "materialPreview": "https://media.quixmart.com/{filekey}".format(filekey=filekey), "formatCode": "mp4", "positionName": "熊猫公交19寸广告屏" } response = TestMethod.postMethod(self, url, bodyData, headers) log.info(response.text) # {"id":63,"name":"create_materials_test00001"} material_id = regSearchString(response.text, '"id":(.+?),', 5, -1) log.info("正则--获取 material_id: " + material_id) self.assertTrue(assertsResponse(asserts, response.text), "断言失败") log.info("--------------------" + caseName + "------------------测试完毕") time.sleep(10)