自动化测试中的关键字驱动

本文介绍了使用Python实现关键字驱动的自动化测试原理,利用getattr实现反射机制,通过配置文件存储测试步骤。在pytest框架下,收集并执行测试用例,确保了测试用例的动态加载和前后关联性参数的处理。StepMethod类是关键字驱动的核心,它根据excel中的方法调用相应代码。
摘要由CSDN通过智能技术生成

关键字驱动

通过关键字做对应的动作,很早的自动化测试工具都走的这个方向,比如RobotFramework,QTP等,这里简单介绍一下关键字驱动的原理

python 实现关键字驱动

python实现关键字驱动,主要用到的是python中的反射getattr

getattr:实现反射机制

getattr可以通过字符串获取方法实例。这样,你就可以把一个类可能要调用的方法放在配置文件里,在需要的时候动态加载。

配置文件

在excel中,输入自己的测试步骤,如下
在这里插入图片描述

思路如下

在这里插入图片描述

收集测试用例

写一个方法收集测试用例概要信息,收集后格式如下

feature(当前sheet的名称),story,case_name后续添加到allure报告中去
case_loc为测试用例步骤在excel中的位置,主要用到前两个,对应的为测试用例步骤起始行,结束行
在这里插入图片描述
代码如下:OperaExcel()是自己封装的一个操作excel的类


def collect_test_cases():
    '''
    获取excel表格中所有测试用例标题及位置
    :return:  excel 表格中的测试用例列表
    '''
    excel= OperaExcel()
    sheet_names=excel.get_sheet_names()
    _list=[]
    for name in sheet_names:
        merged_cells=excel.get_merged_cells(name)
        module_locs=list(filter(lambda x:x[2]==0 ,merged_cells))
        case_locs=list(filter(lambda x:x[2]==1 ,merged_cells))
        for module_loc in module_locs:
            for case_loc in case_locs:
                if (module_loc[0] <= case_loc[0] <module_loc[1]):
                    data = {
   "feature": name}
                    data["story"]=excel.get_cell(name,module_loc[0],0)
                    data["case_name"]=excel.get_cell(name
第三代通信技术(3G)的应用已在全球范围内逐步展开,各大设备供应商正积极研发能提供更高性能的新一代网管系统来满足市场需求。网管系统是一个庞大复杂的通信管理系统,由于客户的功能需求以及网管系统自身技术的更新等原因使网管系统的版本不断更新,网管系统最终系统测试的工作量会很大。因此需要引入自动化测试来提高测试效率保证测试质量。 本文首先分析了当前网管系统测试现状以及对自动化测试的需求。在这样的前提条件下,论文采用了关键字驱动脚本技术,同时吸取了当前流行的自动化测试框架一些先进的思想,提出了一个适合网管系统测试的自动化测试框架。然后论文对该框架的测试流程进行详细的描述,在此框架的基础上进行系统的总体设计,并完成系统主要模块的设计与实现。本文最终实现了一个基于关键字驱动自动化测试平台APK(Automated test Platform based on Keywords)。 在APK的实现过程采用基于C/S的网络框架,该网络框架可以实现多用户定制测试任务并完成分布式自动化测试。在APK系统框架关键字进行了重新的定义,关键字不再是目前流行的框架所定义的原子动作,而是一个用于实现一项测试规程的原子动作序列,同时该框架将结果验证环节放到关键字内部去实现。接口设计方面APK提供了一个外部接口用来整合网管系统现有的业务测试工具,同时为了满足日后功能扩展的需要APK还预留了一个扩展接口。 APK可以应用于Java应用程序的GUI(Graphical User Interface)自动化测试,同时结合外部接口调用外部工具还可以完成较复杂的业务自动化测试。目前APK已经应用于网管系统的回归测试、边界值测试和大话务量环境数据的配置,并已经取得了显著的效果,达到了预期的目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值