探索框架(六)--结合UI界面完成控件相关的驱动类的实现(wxpython)

导语

        在上一篇探索框架(四)--驱动程序+UI界面(wxpython)中已经画出了UI界面,并且已经完成了相关的控件事件,还遗留了“运行”按钮的功能完善,本次目的是要实现点击“运行”按钮后,可以根据所选的配置文件中的内容,去执行相关的测试用例脚本程序。

一、准备工作

        在之前的框架和接口自动化实战中,有编写相关的测试用例脚本,而在探索框架(三)--驱动程序设计(unittest+Python)这里,有完成基于unittest编写的用例脚本的驱动程序的设计,而这次呢,用例脚本中有许多不是基于unittest编写的,那么这次来完成一个通用的驱动程序。

        事先准备了一些用例脚本,如下:

# 使用面向对象的方法,但不使用unittest框架


class test_a():
    def __init__(self):
        print("test_a初始化")

    def test_case1(self):
        print("test_a的test_case1")

    def test_case2(self, num2):
        print("test_a的test_case2")


if __name__ == '__main__':
    # 实例化类
    obj = test_a()
    # 调用测试用例方法
    obj.test_case1()
    obj.test_case2()

        基于框架驱动程序的设计,现在脚本的作用就是帮助调试,所以先用简单的脚本来协助,能验证相关功能即可(等框架驱动程序都已基本调试完毕,就可以加上真实的用例脚本一起调试啦)。

        准备了如下的配置文件(图1),可以再根据用例进行增加。

图1 配置文件

         初步设计了测试驱动类图,如下:

图2 驱动类图设计

 二、完成驱动类及方法的程序

        调用其他需要运行的脚本的方法有许多,具体可见探索框架(五)--调用其他脚本运行方法(Python),这里选用其中的第二种方式,通过Python命令来调用脚本运行。

        驱动类及方法的脚本如下:

# 测试驱动类
class testframe_driver():
    # 定义执行配置文件生成csv报告方法
    def run_configfile(self, configfile):
        # 读取配置文件内容
        file = open(configfile, "r")
        table = csv.reader(file)
        # 跳过第一行
        next(table)
        for ele in table:
            casename = ele[1]
            stros = ('python ' + casename)
            if ele[2] == "yes":
                # 执行脚本
                os.system(stros)

        实现了驱动类及方法的程序以后,需要在“运行”按钮那里加以使用,需要修改探索框架(四)中编写的run_driver方法,就不需要再去读取配置文件了,只需要调用驱动方法即可,修改后的代码如下:

    # 定义运行方法
    def run_driver(self, event):
        # 进行文本框的非空校验
        if self.file_txt.GetValue() == "":
            # 显示弹窗,内容为"请选择配置文件",标题为"提示",wx.YES_DEFAULT只有一个确定按钮,wx.YES_NO有确定和取消按钮
            dlg = wx.MessageDialog(None, "请选择配置文件", "提示", style=wx.YES_DEFAULT | wx.ICON_QUESTION)
            # 如果点击确定,则关闭提示弹窗
            if dlg.ShowModal() == wx.ID_YES:
                dlg.Destroy()
            return 0
        # 调用测试驱动程序
        # 实例化测试驱动类
        objdriver = testframe_driver()
        # 调用驱动方法
        objdriver.run_configfile(self.configfile)

        至此,基本的驱动程序以及UI界面控件事件的绑定已经基本完成,在进行下一步之前,可以先回顾总结一下已经完成的程序,加以梳理。

三、总结梳理程序运行过程

        简单梳理了一下程序的类、方法间的调用过程,如下图(图3),梳理的过程其实也是查漏补缺的过程,后续的程序会越加复杂,梳理总结会使思路更加清晰。

图3 总结

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值