最近结合项目和实际情况,使用robotframework对整个项目进行了重构,整体框架如下,不同模块设置不同的文件夹而基于常用的操作则放置在根目录下,结构如下:
rcm_beta/
|------------采购模块/
|------------费用模块/
||---------------支出模块/
||---------------报销模块/
||---------------往来模块/
|------------合同模块/
|------------基础模块/
|------------收入模块/
|------------资产模块/
|------------常用变量.txt
|------------基本配置.txt
|------------浏览器变量.txt
具体如图所示
这里当时着手进行编制的时候,没有考虑到模块比较多,整体都放在一个rcm_test
目录下,导致后期项目打开十分缓慢,比较浪费时间~所以后期进行模块隔离也是非常痛苦的事情。所以如果在采用robotframework进行自动化测试的时候首先就需要把目录结构调整比较清晰,便于后期维护!
上图可以看到在根目录下有三个文件常用变量、基本配置和浏览器变量,这里就需要说明一下,我们尽量要把经常使用的关键字封装放在根目录下,模块和模块之间的关键字进行不要有太多关联性;元素定位的关键字尽量保持模块的独立性,这样做的话,可以单独拿出一个模块进行独立运行,而不会出现运行失败或其他无法运行的问题!所以这里的基本配置放置的是常用的浏览器的打开、关闭、登陆等操作;而常用变量放的是项目的url地址;浏览器变量是封装的不同的浏览器关键字。
在进行自动化测试的时候,对于我们经常使用的浏览器,比如谷歌浏览器,建议要设置不要默认更新浏览器版本,要保持浏览器版本的固定,这样在运行用例时避免因为浏览器版本不一致造成的运行用例失败的情况。
还有最后一点,在定位元素的时候一定要注意使用定位元素的id或name或class一定是固定不变的,不要使用变化的元素进行定位,容易导致用例失败~
这样完成之后,可以根据迭代实际情况,对项目模块结合jenkins进行回归测试,如图
以上是整个robotframework项目重构的基本框架,接下来的工作就是编写不同模块用例完成脚本~
说明:
以上项目的模块源码已上传至gitee,如需要参考源码,请移步:https://github.com/dyreaming/robotframework_rcm/tree/master/rcm_beta