Selenium IDE HOWTO & 建立的TestSuite如何复用到多个不同的环境?
经过几个项目的洗礼,团队在开发系统上基本上不存在太大的问题,总结一下问题:
- UI上的问题比较难发现
- 很多时候修改了其中一个部分,为什么会造成其他页面的异常
- coder做互测的时候只是测试了具体的点,也不想花大量的时间去每个页面看看
- 怎么样才能让测试员的劳动成果,coder做互测的时候也能复用
基于上面几个问题,萌发了研究测试工具的想法。
LoadRunner
大家要失望了,今天不讲这个,不可能给每个技术人员安装这套东西。我希望寻找的是一套轻量级的,携带分发方便的测试工具,通过svn或者git分发TestSuite。团队不大,用的东西最好不要heavy。
Selenium IDE
经过一番寻找,找到了Selenium IDE,直接作为Firefox插件安装,无需复杂的环境配置,果然是居家旅行必备武器。而且这货还是免费的。生成的文件还是明文HTML,版本的维护非常方便。虽然功能不强,够用就好。后面还能导出c#、java、python等测试代码,这个下回分解。
下载地址
http://www.seleniumhq.org/download/
里面有很多强大的套件,但是我们只需要 IDE,隐藏的还挺深。大家最好直接在页面上搜索「Selenium IDE」,然后点击「Download latest released version」 后面的版本号进行下载,下载之后,拖动到firefox里面安装即可。
重启firefox之后,右上角工具栏会多出下面这个按钮,点击就能打开 Selenium IDE了
基本使用
- 通过文件菜单建立TestSuite或者TestCase
- 右上角的红色原型按钮是录制
- 操作完毕之后,在页面上单击右键,选择相应的Selenium Command 就可以了。
- 停止录制
- 保存case
功能很简单,这里就不再多说了
建立的TestSuite如何复用到多个不同的环境?
对的,我遇到标题里面的问题了。Selenium 每次录制都会记录具体的网址,但是在项目的生产过程中,我们至少有开发环境和测试环境、生产环境3个,而且可能每个开发人员的开发环境有所区别。举个例子:
张三:http://localhost:99/projA
李四:http://projA
生产:http://deploy.com
这样TestSuite每次执行都是记录时候的网址,这样这个TestSuite分享给其他人测试的也是统一个环境,并不能达到我们理想的分享测试员的成果的效果。
变量
经过翻阅了不少资料,聚焦在了「变量」功能上,Selenium支持自定义变量。那这里面就可以做文章了
store value name
Trick
怎么利用变量来解决上面的问题?
首先变量的定义需要在所有的TestCase之前,所以我们在最前面增加一个TestCase来管理变量
接下来每个TestCase录制完毕之后,都需要将open 函数后面的内容进行修改
之后分享给其他人之后,只需要修改第一个TestCase里面的baseUrl 变量,就能实现本地环境的测试。