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这个类运作原理



posted on 2017-10-22 09:19  测试小小  阅读(2518)  评论(0编辑  收藏  举报