RobotFramework二次开发小结本文主要针对用例之间的调度,和定时运行用例这两个方向进行了介绍,其中用例之间的调度在RobotFramework平台上直接可以实现,对定时运行用例,我们进行了Robot平台的二次开发。【用例之间调度】:1、前一个用例的执行结果是后一个用例的执行条件,在python编译环境下定义两个函数。图1python编写资源库文件在RobotFramework里添加该资源库文件,定义一个全局变量${turn},新建两个用例test1和test3,Robot平台提供了关键词RunKeywordif,可以实现两个用例之间的调度关系,如果函数(在Robot称为关键字)check返回的是True则执行函数Add,否则不会执行函数Add。图2RobotFramework设计用例12、前一个用例的执行结果是后一个测试用例的输入值,定义一个全局变量${sum},将函数Add的执行结果传给函数Fun。图3RobotFramework设计用例2【RobotFramework二次开发】关于定时运行用例,对Robot平台进行了二次开发,在Robot平台的菜单栏里添加一个Tasks菜单项,点击下拉菜单Schedule弹出设置界面。图4RobotFramework二次开发界面1、该TaskScheduleDialog可以设计定时运行用例,有两种触发方式,Single和Cycle(CITrigger方式目前没有实现),其中Cycle可以设置间隔时间,单位为hour、day、week;2、打开TaskScheduleDialog时,自动将Robot平台设计的用例树放在界面的绿色区域,可以选择单个用例或多个用例,输入TaskName(也就是Robot平台的tag),选定触发方式(Single或Cycle),点击Add按钮添加任务;3、选择添加的任何一个任务,可以通过Modify按钮修改TaskName,或通过Delete按钮删除该任务;4、鼠标点击一个任务时,在绿色区域的用例树中,被设置的用例会自动打勾显示。图5RobotFramework平台二次开发功能图5、点击Start按钮将按设置时间依次运行各用例,如图6所示,如果用例是保存在文件夹D:\python_test\Softtest\,,任务的运行报告自动保存在当前目录的\OutputDirN下,如果是Cycle方式会再建一层文件夹(文件夹名为任务运行时间)。图6用例执行报告保存文件夹关注点:TaskScheduleDialog里的TaskName就是Robot平台的tag,执行的过程先判断设定时间,如果满足条件,将OutputDirectory目录下的含有该tag的所有用例都运行一次。用例执行顺序和最初在Robot平台设计的用例顺序一致。6、Robot平台的二次开发使用方法:将FrameTask.py,mainframe.py,,TaskSchedule.py,TestTree.py放在C:\Python26\Lib\site-packages\robotide\ui,覆盖所有文件,再打开Robot就可以看到菜单项。