robotframe及ride 源码解析(一) 动态调用关键字-Library keywords
来源:互联网 发布:0 1背包分支界限算法 编辑:程序博客网 时间:2024/06/14 08:29
robotframe及ride 源码解析(一)
第一篇:
动态调用关键字-Library keywords
使用robotfarame及ride的基本操作在此就不做介绍,本篇主要对源码进行解析。解析方式有两种,第一种为由用户的使用习惯逐步解析,第二种为从系统最核心的部分发散解析,我在此选用两者混搭的方式解析源码。
robotframe最核心的部分莫过于关键字驱动测试,robotframe中keywords主要由keywords 与 user keywords组成,如图一所示。
图一
来看演示代码,待导入的库文件Librarytest.py,内容如下:
class Librarytest: def libimport(self): print "Library keywords import"
在ride中导入库文件
导入->解析->执行整个流程为:
#回调keyword方法def call_method(method, *args): try: method(*args) return method(*args) except: pass#导入-解析-执行def robotexc(): clsname = "Librarytest" funname = "libimport" #导入模块名,即库文件名称 obj = __import__("Librarytest") #获取类对象 cls = getattr(obj, clsname) #新建类对象 obj = cls() #获取方法,即keyword fun = getattr(obj, funname) #调用方法 call_method(fun)
这样就完成了对test library中 libimport方法的调用,即keyword的调用。
从上面例子中我们可以看出,robotframe源码使用了python原语里的__import__()及getattr()两个内置函数完成了test library的调用。
下一篇文章将结合robotframe的代码实际解析。
0 0
- robotframe及ride 源码解析(一) 动态调用关键字-Library keywords
- Keywords (关键字)
- Ride加载library
- 网页动态关键字和描述(Keywords,description)
- ride关键字记录
- Android EventBus实战及源码解析 (一)
- C/C++ Keywords (关键字)
- Java 关键字(keywords)
- keywords关键字运用
- HLSL Keywords (HLSL 关键字)
- ARouter解析一:基本使用及页面注册源码解析
- AOP源码解析(一)实现动态代理
- Hadoop RPC远程过程调用源码解析及实例
- Hadoop最新版 RPC远程过程调用源码解析及实例
- Hadoop RPC远程过程调用源码解析及实例
- Hadoop RPC远程过程调用源码解析及实例
- JDK1.8 动态代理机制及源码解析
- 函数调用方式关键字解析
- C#+arcengine获得栅格数据的属性表
- GoldenGate进程失败后怎么跳过当前事务
- 第一篇文章
- 配置sqlP6Spy配置信息说明
- 逃不掉的双十一 可怕的分布式架构隐患
- robotframe及ride 源码解析(一) 动态调用关键字-Library keywords
- 多线程之Runnable,Callable,Future,FutureTask
- Java异常处理,SimpleDateFormat中的parse函数操作
- maven的profile设置
- LeetCode[Tree]: Path Sum
- IOS学习笔记 第2篇 OC面向对象(二)
- USACO4.1.1 Beef McNuggets (nuggets)
- MTK_SDK 相关问题整理
- POJ 3237 Tree (树链剖分+线段树)