def api_result(self): """发送请求并返回数据""" headr = { "Accept": "application/json, text/javascript, */*; q=0.01", "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", } try: res = requests.post(self.url_api, data=self.data, headers=headr, timeout=bt.wait_ele-4) text = eval(res.text) except NameError: """str>>dict""" text = json.loads(res.text) except ReadTimeout as e: """Timeout""" self.e=e text = dict() self.datatext = list() log().error(e) self.datatext=text.get("subject", [])[0:2] log().info("result subject data is {1}\t ".format(text, self.datatext)) if self.datatext: Ioput.input("datatext", self.datatext) else: raise AssertionError(r"statplatform5 output not data ,test stop \n[error :{0}] \n request data is: {1}".format(getattr(self, "e", None), self.data))
def test__表格数据(self, ): Ioput.function_name(self.__class__.__name__,) try: self.sample.f_search() except AssertionError as a: self.assertTrue( "", a ) else: self.assertGreaterEqual(self.sample.data_lines, 1, "未生成数据的tables,无数据")
def test_导出数据(self, ): Ioput.function_name(self.__class__.__name__,) try: self.sample.f_outxlsx() except AssertionError as a: self.assertTrue( "", a ) else: self.assertGreaterEqual(len(self.sample.xlsxcontent), 2, "‘导出数据’无内容")
def test_机顶盒收视_1_导出数据_1(self): Ioput.function_name(self.__class__.__name__) try: self.sample.f_outxlsx() except AssertionError as a: self.assertTrue("", a) else: self.assertGreaterEqual(len(self.sample.xlsxcontent), 2, "空表")
def test_land(self, kwargs): """登陆页面""" Ioput.function_name(self.__class__.__name__, getdata("land.ini", "land").index(kwargs) + 1) try: self.sample.f_land(**kwargs) self.assertIn("管理员", self.sample.driver.page_source) except Exception as e: self.assertTrue("", e)
def ret_result(self): url = r"http://10.48.115.25/statplatform5/query" data["token"] = self.token try: res = requests.post(url, data=data, timeout=5) text = eval(res.text)["subject"][0] except: text = None Ioput.input("text0", text) print(text)
def test_3根据演员_导演获取影片数据接口( self, url="http://api.utstarcom.cn/idp/getInfoByRole?name=林青霞"): """4.3 根据演员_导演获取影片数据接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容")
def test_2媒资来源查询接口_1( self, url="http://api.utstarcom.cn/idp/mergedsource?mc=<string>"): """3.2媒资来源查询接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容")
def test_3点播搜索节目列表接口( self, url="http://{{snm_idpVoice}}/idpvoice/searchvod?name=战狼二"): """ 6.3点播搜索节目列表接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容")
def test_7运营标签实时排行榜接口(self, url="http://api.utstarcom.cn/idp/getoptagtopn"): """4.7 运营标签实时排行榜接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容")
def test_c2c3(self): """未存在C3数据时,爬取扩展数据+融合数据""" I.function_name(self.__class__.__name__) try: obj = GetC3Data(**{'rule': [('YEAR', '1')]}) obj.execute_c2c3() except AssertionError as e: log().error(e) self.assertTrue("") else: self.assertEqual(obj.status, "pass")
def test_1排行推荐_连续剧_4( self, url="http://api.utstarcom.cn/idp/gettopn?type=s&start=0&count=21"): """ 4.1 排行榜推荐连续剧""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容")
def test_exitsc3(self): """已有C3数据时爬去扩展数据""" I.function_name(self.__class__.__name__) try: obj = GetC3Data() obj.execute_exitsc3() except AssertionError as e: log().error(e) self.assertTrue("") else: self.assertEqual(obj.status, "pass")
def test_11用户标签内容接口( self, url="http://api.utstarcom.cn/idp/getusertagdtl?userid=123456"): """4.11 用户标签内容接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容")
def test_idpc(self, kwargs): """测试融合规则""" I.function_name(self.__class__.__name__, getdata("data.txt", "idpc").index(kwargs) + 1) try: obj = Medial(**kwargs) obj.execute_c2() except AssertionError as e: log().error(e) self.assertTrue("", e) else: self.assertEqual(obj.status, "pass")
def test_2用户选用搜索节目采集接口( self, url="http://{{idpURL}}/idp/setvalidsearchitem?mc=0000&userid=123456&hdflag=2&searchkey=x" ): """ 5.2 用户选用搜索节目采集接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="code") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertEqual(self.datalist1, 0, "键 subject 无内容")
def test_10实时推荐接口_3( self, url="http://api.utstarcom.cn/idp/getrtpersonar?userid=123456×lot=2" ): """4.10 直播推点播接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容")
def test_9直播推点播接口( self, url="http://api.utstarcom.cn/idp/getchannelrecmdvod?mc=020&userid=123456&count=2" ): """4.9 直播推点播接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容")
def test_1直播搜索节目列表接口( self, url="http://{{idpURL}}/idpvoice/searchchannel?name={{name}}&start={{start}}&count={{count}}" ): """ 6.1 直播搜索节目列表接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容")
def test_6一级标签实时排行榜接口_2( self, url="http://api.utstarcom.cn/idp/gettypetopn?start=0&count=10&sdonly=0" ): """4.6 一级标签实时排行榜接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容")
def test_5一级标签内容实时排行接口_1( self, url="http://api.utstarcom.cn/idp/getnewtopn?typeid=001&start=0&count=20&sdonly=1" ): """4.5 一级标签内容实时排行接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容")
def test_4用户搜索历史接口_2( self, url="http://api.utstarcom.cn/idp/getusersearchlist?userid=123456&opt=reset" ): """ 5.4 用户搜索历史接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="code") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertEqual(self.datalist1, 0, "键 subject 无内容")
def setUpClass(cls): """""" Ioput.function_name(cls.__name__) cls.sample = cls.obj() cls.sample.time_type = cls.timetype cls.sample.movetype = cls.movetype cls.sample.Buttontext = cls.Buttontext cls.sample.programtype = cls.Programtype cls.sample.Channel = cls.Channel cls.sample.Usertype = cls.Usertype cls.sample.group_codes=cls.group_codes cls.sample._begin()
def test_4南传九宫屏_4( self, url="http://api.utstarcom.cn/idp/getscreen9?type=c&start=0&count=10" ): """4.4 南传九宫屏""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容")
def __before(self): """测试函数开始前事物""" try: self.driver.delete_all_cookies() except: try: self.__chose() except: InitTest.start() self.driver = Ioput.output("driver") else: InitTest.start() self.driver = Ioput.output("driver")
def test_5多维度搜索接口_4( self, url="http://api.utstarcom.cn/idp/multisearch?&userid=123456&casts=李菲儿" ): """ 5.5 多维度搜索接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject", ktwo="casts", repeat=True) except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容") self.assertIn(self.search_url("casts"), self.datalist2[0])
def test_3热搜节目排行接口( self, url="http://api.utstarcom.cn/idp/hotsearchtopn?type=w&count=20&sdonly=0&userid=123456&start=0" ): """ 5.3 热搜节目排行接口""" Ioput.function_name(self.__class__.__name__, casennumber=data3.index(url)) try: self.execute_test(url=url) self.get_text_value(kone="subject", ktwo="column", repeat=True) except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容")
def start(cls): options = webdriver.ChromeOptions() prefs = { 'profile.default_content_settings.popups': 0, 'download.default_directory': BI_protal.downloadpath } options.add_experimental_option('prefs', prefs) options.add_argument('log-level=3') cls.driver = webdriver.Chrome(executable_path=BI_protal.driver_path, chrome_options=options) cls.driver.maximize_window() cls.driver.implicitly_wait(BI_protal.wait_time) Ioput.input(keys="driver", value=cls.driver) log().info("\t启动浏览器\t".center(80, "-"))
def test_1节目名_演员_导演关键字混合搜索接口( self, url="http://idpURL/idp/search?userid=123456&q=QQ&start=0&count=20&sdonly=0&column=001" ): Ioput.function_name(self.__class__.__name__, casennumber=data1.index(url)) try: self.execute_test(url=url) self.get_text_value(kone="subject", ktwo="column", repeat=True) except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容") self.assertEqual(self.search_url("column"), self.datalist2[0])
def test_2媒资相关性推荐接口_2( self, url="http://api.utstarcom.cn/idp/getsimilaritems?mc=09&userid=123456&count=19" ): """4.2 媒资相关性推荐接口""" Ioput.function_name(self.__class__.__name__) try: self.execute_test(url=url) self.get_text_value(kone="subject") except AssertionError as a: self.assertTrue("", "返回结果text非字典 %s" % a) else: self.assertTrue(self.datalist1, "键 subject 无内容") self.assertLessEqual(len(self.datalist1), int(self.search_url("count")))