selenium + robotframework的运行原理
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这个类运作原理
最新文章
- IOS 7 风格Checkbox
- 转!!负载均衡器技术Nginx和F5的优缺点对比
- 选择HttpHandler还是HttpModule?
- 关于struts 2中的日期问题
- asp.net中两款文本编辑器NicEdit和Kindeditor
- jQuery-validate error messages in Twitter ...
- (转) DockPanel 右键增加关闭,除此之外全部关闭的功能
- [OC Foundation框架 - 14] NSNull
- Sql Server2005 Transact-SQL 窗口函数(OVER)
- MVC4入门指南
- codeforces 620E. New Year Tree dfs序+线段树+bitset
- 如何机智判断页面是刷新还是关闭,背景:vue项目,需求:关闭页面,下次直接跳到登陆页
- python的多线程
- 在Mac电脑编译c51程序
- SpringContextHolder 静态持有SpringContext的引用
- 第一个微信小程序踩的几个小坑
- iOS-Xcode解决【workspace integrity couldn't load project'】
- day8--socket网络编程进阶
- 顺序容器----顺序容器操作,vector对象如何增长,额外的string操作,容器适配器
- ssh Socket error Event: 32 Error: 10053.
热门文章
- java.sql.SQLException: Access denied for user 'sa'@'localhost' (using password: YES)
- ORA-00900: invalid SQL statement
- 芝麻HTTP:Python爬虫入门之URLError异常处理
- JavaScript设计模式(4)-桥接模式
- BZOJ 2969: 矩形粉刷(期望)
- 【CF932G】Palindrome Partition(回文树,动态规划)
- 【BZOJ4872】分手是祝愿(动态规划,数学期望)
- [HDU2296]Ring
- 我的emacs考场配置
- Python Django的生产部署方式