PHPUnit+Selenium自动化测试过程中遇到的问题

最近在做自动化测试,前段捣鼓好了自动化测试环境,具体见

使用火狐下的Selenium扩展录制操作过程,然后导出成PHPUnit格式的测试用例文件,自己稍微修改,通过PHPUnit执行测试用例进行自动化测试。

整理一下修改导出的PHPUnit格式的测试用例文件时遇到的问题:

1.Selenium定位元素的时候支持Xpath。推荐使用火狐浏览器,可以很方便的获取某个元素的Xpath。不得不说,火狐浏览器真是开发人员的神器!!
安装firebug扩展后,查看某个元素,右键就可以复制Xpath了,如图。
firebug下获取Xpath
注意这里获取的Xpath都是通用的,而Chrome下的xpathOnClick扩展虽然也可以获取Xpath,但是它获取的都不是通用的,还需要自己再进行修改,所以推荐直接使用火狐。

另外推荐火狐下另外一款扩展——Xpath checker,可以直接获取Xpath,而且还可以验证你的Xpath是否正确。
在要查看Xpath的元素上右键,如图。
Xpath checker使用
验证Xpath是否正确,如图。
Xpath checker使用

这里获取的Xpath可能是类似下面的:

/html/body/div[6]/div[2]/div[2]/div[2]/div[3]/div[2]/table/tbody/tr/td[2]/dl/dt/a

Selenium要求Xpath以两个//开头,所以需要在上面的Xpath前面再加一个/。这点须注意,我就是因为这个捣鼓了快1个小时。

2.PHPUnit测试用例里的方法名必须是test****TestCase,****部分可以自定义,但是前后部分必须是test和TestCase,否则测试用例无法执行。
类似如图。
PHPUnit测试用例代码

最后上一下我自己的测试用例执行结果:
PHPUnit+Selenium执行情况

PHPUnit+Selenium执行情况

PHPUnit+Selenium执行情况

Ps:突然想到这货要是可以自动识别验证码,就完全可以搞成自动灌水机了啊!看我自己执行测试用例发的帖子数,这些都是它自己登录自己发出去的帖子。
PHPUnit+Selenium执行情况

标签: 自动化测试

添加新评论