robotframework 配置过程分析

参数解析分析

在分析配置的RobotSettings之前,需要获得配置的参数,而这些参数是要通过解析获取的,先来看下参数分析的过程,参数分析主要集中在4个类当中:
参数分析类图
实际解析过程是在Application中进行的,最后解析完结果传给RobotFramework的main方法,看下面的顺序图:
参数分析顺序图
Application在解析参数的时候,其实是代理给ArgumentParser来处理的,ArgumentParser在处理过程中会依赖与ArgLimitValidator来进行参数合法性验证。

具体细节

具体实现解析参数,其实还是用的getopt,判断参数的合法性,是根据说明文档,通过正则表达式匹配来完成的,在匹配正常的情况下,会分析出所支持的长,短,参数,参数是不是支持多个值;如果给定使用参数,则不是开关元素,那么长的就直接用等号连接,短的则用冒号分割;剩下的则为开关元素。
整个参数分析完成之后会把解析好的参数传递给RobotFramework中main方法。

解析完成之后了,就可以将参数放到对应的设置上。

参数设置

参数设置比解析要简单,知识在设置的时候,会依赖其他的类处理,而这些处理逻辑有的比较复杂,比如获取失败的测试,下面是设置rerunfailed所用到类的类图:
参数设置类图
整个设置处理都集中在BaseSettings的_process_cli_opts方法,而BaseSettings会依赖与其他一些类来进行设置处理,比如这里gather_failed_tests,这里先不管gather_failed_tests是如何拿到那些曾经失败的测试用例。

它的顺序图如下:
参数设置顺序图
这里忽略一些细节方面的东西,只关注整体的执行顺序,可以看到的是RobotSettings最终会获得更新后的设置,当然有些默认的设置可能会被保留,这是因为参数中并未包含这些设置项。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值