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 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 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 socket_client(host, send_dict, key="index", send=None): """ :param host: host:目标地址 :param send_dict: send_dict消息内容,类型为dict :param key: 返回内容存放的键值,send!=None 时必须带上key :param send: 一个实例 Ioput(),或"web" :return: """ HOST = host cfg = Ioput.output("cfg") PORT = cfg["node"]["localport"] PORT = int(PORT) s_ds = str(send_dict) b_ds = bytes(s_ds, encoding='utf-8') log().info(("send data", type(b_ds), b_ds)) log().info(("object 'send' is ", send)) with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((HOST, PORT)) s.sendall(b_ds) log().info(("send dict success ", send_dict)) data = s.recv(1024) k1 = (eval(data)) log().info(("get result dict sucess ", k1)) if send == None: pass elif send == "web": """ 接受注入的返回消息,存入类属性中 """ Ioput.input(keys=key, value=k1) log().info(("write {", key, ":", k1, "} to 'Webdata, success")) elif send != None and send != "web": """ send 是一个实例,用于远程机器返回的数据写入实例中 """ send.write_dict(key, value=k1) log().info(("write {", key, ":", k1, "} to send.put_dict success")) return k1
def _begin(self,**kwargs): """测试类开始前环境准备 """ try: Ioput.input("pathstatus", "next") self._first(**kwargs) except AssertionError as e: log().critical("准备环境缺少数据,或当前版本无此页面,后续用例均判定失败 ,ERROR : {0}".format(e)) Ioput.input("pathstatus", "exit") Ioput.input("patherror", e) self._last() except Exception as e: self._last() Ioput.input("pathstatus", "next") log().error("异常终止:{0}".format(e)) finally: self.screenhost_to_report(alt="前置环境", name="前置环境")
__autor__ = "鲁旭" from lib.funcslib import Ioput Ioput.input("file", "usernowtime") from lib.testsam import * from flow.biportal.userbase import * file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(Ioput.output("file"), "other"): exec(""" def test_{0}(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("buttontext"), f)) Test2 = type("Test用户实时数据", (CaseSample首页, ), {"obj": User实时数据}) if __name__ == "__main__": print(dir())
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"ProgramOrder") from lib.testsam import * from flow.biportal.businessbase import Business节目订购 file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(file, "time"): if Suite.table_data: exec(""" def test_{1}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({0}) """.format(f, f.get("casename"))) if Suite.xlsx_data: exec(""" def test_{1}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({0}) """.format(f, f.get("casename"))) if Suite.keyword: exec(""" def test_{1}_关键字搜索(self): Ioput.function_name(self.__class__.__name__) self.h_keyword({0})
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"userdevelop.ini") from lib.testsam import * from flow.biportal.userbase import User用户发展C3, User用户发展详情C3 file = Ioput.output("file") class CaseSample首页(FunctionSample): """构造测试用例""" for f in Get.out(Ioput.output("file"), "time"): if Suite.table_data: exec(""" def test_{0}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f)) if Suite.xlsx_data: exec(""" def test_{0}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("casename"), f)) class CaseSample详情(FunctionSample): for f in Get.out(Ioput.output("file"), "detail"): if Suite.table_data: exec("""
from config.conf import Suite __autor__ = "鲁旭" from lib.funcslib import Ioput Ioput.input("file", "TitleParser") from lib.testsam import * from flow.biportal.titlebase import Title专题实时数据 file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(Ioput.output("file"), "time"): if Suite.table_data: exec(""" def test__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f) ) if Suite.xlsx_data: exec(""" def test_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("casename"), f) ) break Test1=type("Test专题实时数据_首页", (CaseSample首页,), {"obj":Title专题实时数据})
__autor__ = "鲁旭" from flow.biportal.homepage import HomePage from lib.funcslib import Ioput Ioput.input("file", "homepage") from lib.testsam import * file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(file, "detail"): exec(""" def test_{0}(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("buttontext"), f) ) Test1 = type("Test首页", (CaseSample首页,), {"obj": HomePage}) if __name__ == "__main__": pass
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"ordercycle.ini") from flow.biportal.orderbase import Order周期订购详情C3,Order周期订购C3 from lib.testsam import * file=Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(Ioput.output("file"), "time"): if Suite.table_data: exec(""" def test_{0}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f)) if Suite.xlsx_data: exec(""" def test_{0}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("casename"), f)) if Suite.keyword: exec(""" def test_{0}_关键字搜索(self): Ioput.function_name(self.__class__.__name__) self.h_keyword({1}) """.format(f.get("casename"), f))
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"channelnowtime") from lib.testsam import * from flow.biportal.channelbase import Channel实时数据频道, Channel实时数据频道详情, Channel实时数据频道总览 file = Ioput.output("file") class CaseSample首页总览(FunctionSample): for f in Get.out(file, ("time", "other")): exec(""" def test_{0}(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("buttontext"), f)) class CaseSample首页(FunctionSample): for f in Get.out(file, ("time", "channel")): if Suite.table_data: exec(""" def test_{0}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("buttontext"), f)) if Suite.xlsx_data:
__author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"order单点.ini") from lib.testsam import * from flow.biportal.orderbase import Order单点订购, Order单点订购详情 file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(Ioput.output("file"), "time"): exec(""" def test_{0}(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f)) class CaseSample详情(FunctionSample): for f in Get.out(Ioput.output("file"), "detail"): exec(""" def test_{0}(self): Ioput.function_name(self.__class__.__name__) self.详情_table({1}) """.format(f.get("casename"), f)) Test1 = type("Test单点订购_首页", (CaseSample首页, ), {"obj": Order单点订购}) # Test2 = type("Test单点订购详情_日",(CaseSample详情,), {"obj":Order单点订购详情,"time_type":"day"}) file = Ioput.output("file")
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"SpecialCount") from lib.testsam import * from flow.biportal.userbase import User特殊统计C3 file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(file, ("time", "Usertypedata")): td = f.get("timetype", False) tu = f.get("buttontext", False) if (td == "day" or td == "month") and tu == "用户统计列表": continue if td == "month" and tu == "活跃用户详情列表": continue if Suite.table_data: exec(""" def test_{0}_{2}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f, f.get("buttontext"))) if Suite.xlsx_data: exec(""" def test_{0}_{2}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("casename"), f, f.get("buttontext")))
__author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"order包月.ini") from lib.testsam import * from flow.biportal.orderbase import Order包月订购, Order包月订购详情 file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(Ioput.output("file"), "time"): exec(""" def test_{0}(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f)) class CaseSample详情(FunctionSample): for f in Get.out(Ioput.output("file"), "detail"): exec(""" def test_{0}(self): Ioput.function_name(self.__class__.__name__) self.详情_table({1}) """.format(f.get("casename"), f)) Test1 = type("Test包月订购_首页", (CaseSample首页, ), {"obj": Order包月订购}) # Test2 = type("Test包月订购详情_日",(CaseSample详情,), {"obj":Order包月订购详情,"time_type":"day"})
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"orderall") from flow.biportal.orderbase import Order订购总览C3, Order订购总览详情C3 from lib.testsam import * file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(Ioput.output("file"), ("time", "other")): if Suite.table_data: exec(""" def test_{0}_{2}__表数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f, f.get("buttontext"))) if Suite.xlsx_data and f.get("buttontext", None) == "详情数据": exec(""" def test_{0}_{2}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("casename"), f, f.get("buttontext"))) if Suite.keyword and f.get("buttontext", None) == "详情数据": exec(""" def test_{0}_{2}_关键字搜索(self): Ioput.function_name(self.__class__.__name__)
__author__ = "luxu" from config.conf import Suite from lib.funcslib import Ioput Ioput.input("file", r"userview.ini") from lib.testsam import * from flow.biportal.userbase import * file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(Ioput.output("file"), "time"): if Suite.table_data: exec(""" def test_{0}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f)) if Suite.xlsx_data: exec(""" def test_{0}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("casename"), f)) class CaseSample详情(FunctionSample): for f in Get.out(Ioput.output("file"), "detail"): if Suite.table_data: exec("""
def _recv_and_send(self, dict2): """ :param dict: type(bytes,str ,dict) {"action":"clean_disk"} :return: """ try: action = dict2['action'] except: print("ERROR :param type error or notfound key 'action' ") return {"status": "fail", "text": "param type error or notfound key 'action'"} #初始化磁盘环境 if action == 'clean_disk': ret = Exos().clean_disk() #初始化数据库环境 elif action == 'clean_db': ret = Exos().clean_db() #初始化数据库与磁盘环境 elif action == 'clean': ret1= Exos().clean_disk() ret2=Exos().clean_db() if ret1["status"] == "success" and ret2["status"] == "success": ret={"status": "success", "action": "clean_db_disk"} else: ret={"status": "fail", "action": "clean_db_disk"} #业务进程启动、停止 elif action == 'exe_streamer': try: streamer_act = dict2['streamer_act'] except: return {"status": "fail", "text": "not found key streamer_act", "action":"exe_streamer"} ret=Exos().exe_streamer(streamer_act) #业务内容查询与判断 elif action == 'select_content': try: contentID=dict2['contentID'] type=dict2['type'] except: return {"status": "fail", "text": "not found key 'contentID' or 'type'","action":"select_content"} ret = Exos().select_content(contentID, type) #配置文件读写 elif action == "scelect_config": try: sec=dict2["sec"] key=dict2["key"] value=dict2["value"] except: return {"status": "fail", "text": "notfound key 'sec' or 'key' or 'value'", "action":"scelect_config"} ret = Exos().select_config(sec, key, value) if Exos.localhost == "127.0.0.1": from lib.funcslib import Ioput from lib.funcslib import log try: key = dict2["key"] if action == "input": value =dict2["value"] Ioput.input(keys=key,value=value) log().info(("write sucess",key,value)) ret={"status": "sucess","action": "input", "key": key,"value":value} elif action == "output": result=Ioput.output(key=key,timeout=60) log().info(("read sucess", key, result)) ret={"status": "sucess","action": "output", "key": key,"value":result} except: ret={"status": "fail","text":"please need correct 'key';'status',value "} return ret
from config.conf import Suite __autor__ = "鲁旭" from lib.funcslib import Ioput Ioput.input("file", "Epg智能") from lib.testsam import * from flow.biportal.epgbase import Epg标清EPG, Epg标清EPG详情 file = Ioput.output("file") class CaseSample首页(FunctionSample): """创建待测试用例模板""" for f in Get.out(file, ("time", "Column")): if Suite.table_data: exec(""" def test_{0}_{2}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f, f.get("list_page"))) if Suite.xlsx_data: exec(""" def test_{0}_{2}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("casename"), f, f.get("list_page"))) class CaseSample详情(FunctionSample): for f in Get.out(Ioput.output("file"), "detail"): if Suite.table_data:
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"PeriodOrder") from lib.testsam import * from flow.biportal.businessbase import Business订购时段分析C3, Business订购时段分析详情C3 file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(file, "time"): if Suite.table_data: exec(""" def test_{1}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({0}) """.format(f, f.get("casename"))) if Suite.xlsx_data: exec(""" def test_{1}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({0}) """.format(f, f.get("casename"))) if Suite.keyword: exec(""" def test_{1}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.h_keyword({0})
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"CDdatil") from lib.testsam import * from flow.biportal.cdbase import CountData结算明细 file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(file, "Detail"): if Suite.table_data: exec(""" def test_{1}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({0}) """.format(f, f.get("buttontext"))) if Suite.xlsx_data: exec(""" def test_{1}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({0}) """.format(f, f.get("buttontext"))) # class CaseSample详情(FunctionSample): # for f in Get.out(Ioput.output("file"), "Detail"): # exec(""" # def test_{0}(self):
from config.conf import Suite __autor__ = "鲁旭" __author__ = "luxu" from flow.biportal.vodbase import * from lib.funcslib import Ioput Ioput.input("file", "vodcolumn.ini") from lib.testsam import * file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(Ioput.output("file"), "time"): if Suite.table_data: exec(""" def test_{0}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f)) if Suite.xlsx_data: exec(""" def test_{0}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("casename"), f)) if Suite.keyword: exec(""" def test_{0}_关键字搜索(self): Ioput.function_name(self.__class__.__name__)
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"ChannelTstv") from lib.testsam import * from flow.biportal.channelbase import * file=Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(file, ("time", "channel")): if Suite.table_data: exec(""" def test_{0}_{2}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f, f.get("list_page")) ) if Suite.xlsx_data: exec(""" def test_{0}_{2}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("casename"), f, f.get("list_page")) ) if Suite.keyword: exec(""" def test_{0}_{2}_关键字搜索(self): Ioput.function_name(self.__class__.__name__) self.h_keyword({1}) """.format(f.get("casename"), f, f.get("list_page"))
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"UserSurvey") from lib.testsam import * from flow.biportal.userbase import User收视概况 file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(file, ("time", "viewtable")): if Suite.table_data: exec(""" def test_{0}_{2}(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f, f.get("buttontext"))) if Suite.xlsx_data: if f.get("buttontext", "None") == "详情数据表": exec(""" def test_{0}_{2}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("casename"), f, f.get("buttontext"))) # class CaseSample详情(FunctionSample): # for f in Get.out(Ioput.output("file"), "Detail"): # exec(""" # def test_{0}(self):
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"vodnowtime") from lib.testsam import * from flow.biportal.vodbase import Vod实时数据频道, Vod实时数据频道总览, Vod实时数据频道详情 file = Ioput.output("file") class CaseSample首页总览(FunctionSample): for f in Get.out(file, "other"): exec(""" def test_{0}(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("buttontext"), f)) class CaseSample首页(FunctionSample): for f in Get.out(file, "channel"): if Suite.table_data: exec(""" def test_{0}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("buttontext"), f)) if Suite.xlsx_data: exec(""" def test_{0}_导出数据(self): Ioput.function_name(self.__class__.__name__)
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"channellive") from lib.testsam import * from flow.biportal.channelbase import Channel时移频道 file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(file, ("time", "channel")): if Suite.table_data: exec(""" def test_{0}_{2}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f, f.get("list_page")) ) if Suite.xlsx_data: exec(""" def test_{0}_{2}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("casename"), f, f.get("list_page")) ) if Suite.keyword: exec(""" def test_{0}_{2}_关键字搜索(self): Ioput.function_name(self.__class__.__name__) self.h_keyword({1}) """.format(f.get("casename"), f, f.get("list_page"))
__autor__ = "鲁旭" import unittest from lib.funcslib import Ioput, Get if __name__== "__main__": Ioput.input("file", "userdevelop") class FunctionSample(unittest.TestCase): timetype = "day" movetype = "高清" Buttontext="详情数据" Programtype="提供商" Channel = "高清" Usertype = "全网用户数据" obj = type group_codes= None if group_codes=="None" : group_codes=None @classmethod def setUpClass(cls): """""" Ioput.function_name(cls.__name__) cls.sample = cls.obj() cls.sample.time_type = cls.timetype cls.sample.movetype = cls.movetype
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"useractive.ini") from flow.biportal.userbase import * from lib.testsam import * file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(Ioput.output("file"), "time"): if Suite.table_data: exec(""" def test_{0}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f)) if Suite.xlsx_data: exec(""" def test_{0}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("casename"), f)) class CaseSample详情(FunctionSample): for f in Get.out(Ioput.output("file"), "detail"): if Suite.table_data:
from config.conf import Suite __autor__ = "鲁旭" from lib.funcslib import Ioput Ioput.input("file", "HDreal") from lib.testsam import * from flow.biportal.epgbase import Epg高清实时数据 file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(Ioput.output("file"), "Column"): if Suite.table_data: exec(""" def test_{0}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("list_page"), f)) if Suite.xlsx_data: exec(""" def test_{0}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("list_page"), f)) Test1 = type("Test高清实时数据_首页", (CaseSample首页, ), {"obj": Epg高清实时数据}) if __name__ == "__main__": print(dir())
from config.conf import Suite __author__ = "luxu" from lib.funcslib import Ioput Ioput.input("file", r"ordersingle") from lib.testsam import * from flow.biportal.orderbase import Order按次订购, Order按次订购详情 file = Ioput.output("file") class CaseSample首页(FunctionSample): for f in Get.out(Ioput.output("file"), "time"): if Suite.table_data: exec(""" def test_{0}__表格数据(self): Ioput.function_name(self.__class__.__name__) self.首页_table({1}) """.format(f.get("casename"), f)) if Suite.xlsx_data: exec(""" def test_{0}_导出数据(self): Ioput.function_name(self.__class__.__name__) self.首页_xlsx({1}) """.format(f.get("casename"), f)) if Suite.keyword: exec(""" def test_{0}_关键字搜索(self): Ioput.function_name(self.__class__.__name__) self.h_keyword({1})