分享

python关键字UI自动化测试框架(4)-主运行函数封装

 小猪窝969 2019-12-09

利用python的getattr自省方法,执行excle中定义的方法========


from unit.operExcle import operExcle

from unit.base import ActtionMethod

from event.asertion import Assert

from event.log_event import *

from event.log_event import log

class TestCase:

     oper = operExcle()

     lines = oper.get_lines()

     action_method = ActtionMethod()

     True_sum = 0

     false_sum=0

     def excle_value(self):

         try:

             for i in range(2, self.lines+1):

                 #是否执行

                 is_run = self.oper.get_value(i,3)

                 if is_run=="yes":

                     #method

                     method = self.oper.get_value(i,4)

                     #获取定位元素

                     locator = self.oper.get_value(i,5)

                     #用户输入内容

                     content = self.oper.get_value(i,6)

                     #预期结果

                     per = self.oper.get_value(i,7)

                     log.info(f"执行【{method}】操作")

                     result = self.run_action(method,content,locator)

                     self.oper.write_data(i,8,result)

                     ret=Assert(i,9,per,result)

                     if  ret:

                         self.oper.write_data(i,10,1)

                     else:

                         self.oper.write_data(i,10,0)

                         self.run_action("screenshot",f"预期值【{per}】和实际值【{result}】不一致")

         except Exception as e:

             raise e

         finally:

                  self.total()

     def run_action(self,method,*args):

         action_function=getattr(self.action_method,method)

         result=action_function(*args)

         return  result

     def total(self):

         for i in range(2, self.lines):

             if self.oper.get_value(i, 10) == 0:

                 self.false_sum += 1

             elif self.oper.get_value(i, 10) == 1:

                 self.True_sum += 1

         log.info(f"成功案例数:{self.True_sum},失败案例数:{self.false_sum}")

if __name__=="__main__":

    testcase = TestCase()

    print(testcase.excle_value())

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多