最近研究了一下RobotFramework,一个Data-Driven的Automation Framework
下面是一些链接:
- Quick Start
http://robotframework.googlecode.com/hg/doc/quickstart/quickstart.html
- RobotDemo
https://bitbucket.org/robotframework/robotdemo/wiki/Home
关于RobotFramework本身网上已经有了很多分析和应用的文章。我主要的目的是想看看RobotFramework的框架和设计。为了跟踪代码运行,找了一个Python的IDE:https://wingware.com/功能比较强大,可惜是个商业工具。
看了一下代码之后,决定看看有没有什么工具可以把python的call graph生成出来,这样有个整体的比较形象的认识。找了一下,第一个试了一下这个工具:http://pycallgraph.slowchop.com/en/master/,生成的图像有点不太对头,感觉问题比较多。又继续寻找,又发现了一个利用prof数据生成callgraph的工具,非常简单:https://code.google.com/p/jrfonseca/wiki/Gprof2Dot
这两个工具都是基于Graphviz的。下面是具体命令:
- python -m profile -o output.pstats pybot quickstart.html
- python gprof2dot.py -f pstats output.pstats | dot -Tpng -o robot.png
如果图像比较大,生成的png文件会比较模糊,可以生成svg格式,浏览器可以直接打开:
python gprof2dot.py -fpstats output.pstats | dot -Tsvg -orobot.gv
下面是图像结果:
这个图片可能有点大,不过放大来看还是挺清楚的。从上倒下,红色到黄色到绿色都是具体测试执行的call path,其它都是框架里面的东西。
SVG格式的放在了优快云资源共享里:http://download.youkuaiyun.com/detail/u013961875/7413863