robotframework内部结构

本文深入解析RobotFramework的安装目录结构及其核心执行流程,包括Facade程序的作用、RobotFramework生态系统的组成,以及如何通过配置参数、运行脚本、生成报告等关键步骤实现自动化测试。详细阐述了从获取设置、注册日志、收集测试集、统计结果到生成报告的完整过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装目录结构

首先它提供了一些列的Facade的程序,而这些脚本大多数都在帮助文档中提到了:
目录结构
而对应的每个目录的名字几乎不用解释就明白它下面的代码是做什么用的了,很清晰。
先主要的几个Facade的程序:
run.py 核心程序,就是通过它来执行脚本的
rebot.py 提供报告和日志生成功能
tidy.py 清理数据和转换数据格式功能

每一个Facade程序里,都有说明文档
从目录结构中,很明确的一点是,robotframework的入口是在这些facade程序上的。

robotframework的生态系统

生态系统
robotframework仅仅是个架子,没有驱动工具,它干不了任何事,除了给它安排驱动工具,还要提供测试脚本,这样它才能有所产出

假设驱动是selenium,同时也给了robotframework测试脚本,那么它会有什么产出了:
产出
它在加入驱动和其他类库的时候,可以通过facade程序会生成类库文档,然后在执行的时候,通过facade程序生成了用例文档、并且会捕获异常和错误,以及输出日志信息,最终执行完所有脚本之后生成了结果报告。

具体流程执行流程

执行脚本,并输出结果、日志,是robotframework的核心功能,那么核心功能具体又是如何操作的。
很肯定的一点就是先要解析用户设定的参数,和前期一些基本的一些设置信息,这样它才能按照规定的设置去执行任务。
找到入口main方法

 def main(self, datasources, **options):
     #解析设置
        settings = RobotSettings(options)
        LOGGER.register_console_logger(**settings.console_logger_config)
        LOGGER.info('Settings:\n%s' % unicode(settings))
        suite = TestSuiteBuilder(settings['SuiteNames'],
                                 settings['WarnOnSkipped'],
                                 settings['RunEmptySuite']).build(*datasources)
        suite.configure(**settings.suite_config)
        with pyloggingconf.robot_handler_enabled(settings.log_level):
            result = suite.run(settings)
            LOGGER.info("Tests execution ended. Statistics:\n%s"
                        % result.suite.stat_message)
            if settings.log or settings.report or settings.xunit:
                writer = ResultWriter(settings.output if settings.log
                                      else result)
                writer.write_results(settings.get_rebot_settings())
        return result.return_code

1.获得解析得到的设置,
2.注册console日志,输入设置信息到日志
3.收集测试集,用设置项配置测试集,通过设置项跑测试集,
4.记录测试集执行完的统计信息到日志,
5.得到运行结果,最后返回运行结果的状态码

已经知道了它的执行流程,那么它结构也就很清楚了
主要由4个类完成了这整个执行流程的任务, LOGGER,RobotSettings,TestSuiteBuilder,ResultWriter

具体每个类是如何与其他类协作完成它自己的任务的,需要深入到代码里面去看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值