1、点击ride界面启动用例执行时,首先会调用脚本

2、打开pybot脚本查看内容、

3、打开robot包下面的run文件,我们可以看到信息

run文件内容

程序启动的入口, sys.agv所表达的含义是:sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白。因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。

然后我们看我们启动的时候所携带的参数:

我们再次查看run_cli方法, 发现run_cli是命令行执行case的入口点,它带有一个元素的参数, 然后他调用了RobotFramework().execute_cli(arguments, exit=exit)方法,并且把参数传递过去。

查看Robotframwork类,发现Robotframwork集成于Application类,execute_cli方法也来自于Application类

检查Application类,先看看Application自于哪里

检查robot.utils包中的Application类的内容,可以看到先解析参数,然后再调用执行方法

查看解析参数的方法,发现解析参数的函数来自于ArgumentParser类

中的parse_arges方法

ArgumentParser类中的parse_arges方法, 这个就不细说了,反正是解析参数,参数来源时启动的时候带上的

执行

检查Robotframework的main方法

通过main方法看出, TestSuiteBuilder这个类是robotframework的核心类,他负责了把测试用例集组装起来,然后执行, 然后把结果写到文件中。

下一遍重点讲main方法和TestSuiteBuilder这个类运作原理

最新文章

  1. IOS 7 风格Checkbox
  2. 转!!负载均衡器技术Nginx和F5的优缺点对比
  3. 选择HttpHandler还是HttpModule?
  4. 关于struts 2中的日期问题
  5. asp.net中两款文本编辑器NicEdit和Kindeditor
  6. jQuery-validate error messages in Twitter ...
  7. (转) DockPanel 右键增加关闭,除此之外全部关闭的功能
  8. [OC Foundation框架 - 14] NSNull
  9. Sql Server2005 Transact-SQL 窗口函数(OVER)
  10. MVC4入门指南
  11. codeforces 620E. New Year Tree dfs序+线段树+bitset
  12. 如何机智判断页面是刷新还是关闭,背景:vue项目,需求:关闭页面,下次直接跳到登陆页
  13. python的多线程
  14. 在Mac电脑编译c51程序
  15. SpringContextHolder 静态持有SpringContext的引用
  16. 第一个微信小程序踩的几个小坑
  17. iOS-Xcode解决【workspace integrity couldn't load project'】
  18. day8--socket网络编程进阶
  19. 顺序容器----顺序容器操作,vector对象如何增长,额外的string操作,容器适配器
  20. ssh Socket error Event: 32 Error: 10053.

热门文章

  1. java.sql.SQLException: Access denied for user 'sa'@'localhost' (using password: YES)
  2. ORA-00900: invalid SQL statement
  3. 芝麻HTTP:Python爬虫入门之URLError异常处理
  4. JavaScript设计模式(4)-桥接模式
  5. BZOJ 2969: 矩形粉刷(期望)
  6. 【CF932G】Palindrome Partition(回文树,动态规划)
  7. 【BZOJ4872】分手是祝愿(动态规划,数学期望)
  8. [HDU2296]Ring
  9. 我的emacs考场配置
  10. Python Django的生产部署方式