理解Ride是如何控制Robot Framework执行
来源:互联网 发布:淘宝网支付方式 编辑:程序博客网 时间:2024/04/30 12:13
用到的知识:
- SocketServer模块的socket编程
- threading模块的多线程编程
- robotframework执行时可以添加监听器监听脚本的运行
具体流程
1.在Ride加载控制执行的插件的时候,会开启一个守护线程,这个线程开启了一个监听器服务,这个监听器后期会用来获得robotframework发送过来的结果
2.在Ride点击run的时候,做了下面几件事:
生成robotframework要执行的脚本命令,在这个命令中附加了一个监听器,监听robotframework的运行,此时监听器已经获得了前面ride启动的监听器的端口号,以及是否在用例失败的时候不再执行的参数。由于在同一个机器上面,地址统一是localhost
执行脚本开始运行,这时附加在这个脚本上listerner,它也开启了一个服务,这个服务用来接收指令用的,是一个Debugger服务,可以通过给这个服务接收指令,让脚本暂停,或者一步步的执行。另外值得一提的就是由于是ride开启脚本运行的,因此ride自然知道了Debugger服务的端口号了,以及它的pid,这样才能给它发信,并且终止它的运行
3.脚本执行的listener,会把所有的运行信息已json格式的方式,发送给ride的监听服务,ride接收到脚本运行的信息后,将其添加到运行面板上,这就是为啥可以同步看到脚本运行的信息的原因了
4.Debugger服务收到指令后,它会通过Theading模块Event.set()方法,激活或者让其他线程等待运行,这样即达到了控制运行的目的,而
具体控制的状态由监听器它内部的一个变量判定。
整个过程的通讯都是通过socket完成的,为啥不用指定端口号,是因为端口由系统来决定即设置端口号为0
下面画一张图更清晰的描述一下:
2 0
- 理解Ride是如何控制Robot Framework执行
- Robot Framework and Ride
- Robot Framework and Ride
- robot framework ride 环境搭建
- Robot Framework/RIDE 环境搭建
- robot framework ride使用小结
- Robot Framework(2)-RIDE功能详述
- Robot Framework(3)-RIDE使用技巧
- Robot Framework之ride的日志不见了
- Robot Framework(4)-编写的函数如何在RIDE中使用
- Robot Framework+RIDE+Selenium环境搭建配置及使用说明
- 对Robot Framework的理解
- Robot Framework执行碰到的问题
- robot framework 如何灵活地执行测试用例和测试套件啊
- 解决使用robot framework + selenium测试时,RIDE运行一次后不显示log的问题
- Robot Framework自动化测试环境搭建(robotframework+ride+Selenium2Library配置)
- Robot Framework如何实现识别验证码
- Robot RIDE and Eclipse Plugin
- 对一帧YUV进行H264编码
- 当前应用拦截NFC响应,不弹出选择框教程
- 北京通州区提升污水处理能力
- 大数据技术发展的两大方向和最新进展
- 处理eclipse导入svn后的错误: 找不到或无法加载主类
- 理解Ride是如何控制Robot Framework执行
- 黑马程序员——多线程
- 关于文件系统目录和分区等
- JNI中C和java传递数组
- LinuxRPM命令参数使用详解介绍和应用
- 流星语
- Java中 "abc" + '/'和"abc" + "/"的区别
- WebLogic和Tomcat浅谈
- 多核:操作系统3种处理模式(SMP+AMP+BMP)