关于自动化测试,之前对这方面一直较少关注。 只知道HP的QTP, 不过QTP是收费的。有没有免费好用的自动化测试工具呢? 在google里面搜索Web Test Automation, Selenium 和 WebDriver就会出现在你的搜索结果中。 初学者可能有点迷惑, 其实从Selenium2后, Selenium与WebDriver已经合并了, WebDriver弥补了Selenium自身的一些不足。 特别是在Selenium将WebDriver API标准化草案提交W3C审议后(http://www.w3.org/TR/2012/WD-webdriver-20120710/), 对于跨浏览器的Web 自动化测试这块, 我们可以看到Selenium的野心。 事实上, 除了QTP之外, 基于Web UI的Web 自动化测试工具, Selenium已经成为不二之选。
Selenium最初是由ThoughtWorks的Jason Huggins开发并应用于一个内部应用的测试上。Jason觉得与其将时间浪费手动一遍遍重复的回归测试上,不如开发一个用于自动化这些测试用例的工具, 他开发了一套javascript库,这成为了Selenium后来的核心,也就是后来的Selenium RC。 由于采用了Javascript, Selenium几乎可以在所有的浏览器上运行自动化测试。 但也正是由于采用了Javascript导致对于用例执行的速度不甚理想。 这也是后来WebDriver加入的原因。 WebDriver可以以native的方式直接控制浏览器行为。
Selenium的测试脚本支持Java/C#/Python/Ruby等大家都较为熟悉的语言。 具体的可以参见官方网站,文档也比较全,上手还是比较快的。
关于自动化测试与CI的集成, Selenium Grid可以支持与Hudson等的集成, 支持分布式的测试用例的执行。 其实不止自动化测试, 日常工作中有些简单的工作也可以实现自动化。 比如公司现在要求必须上下班在Online Attendence Check-in 和Check-Out, 其实我觉得挺奇怪的, 上下班不是有狗牌打卡吗, 干嘛还要在系统上Check-In 和Check-Out. 就想实现自动的Check-in和Check-Out, 又不想分析HTTP请求之类的, 就偷一下懒, 这届开firefox,配合firebug,查看了Check-in和Check-out页面的表单元素,在配合Selenium,一个小时不到的时间,就搞定了。 以后不用傻傻的上班下班登录系统Check-In和Check-Out啦,而且也不担心下班忘记。是不是很方便。
其他的想法是,是考虑可以用到Web的监控中,可以实现失败的时候截屏并发送预警邮件给管理员。 这个实现也非常简单。 最近打算比较深入的了解下自动化测试相关东东。 也了解最新的一些测试理论。 关于自动化测试,还有许多需要了解的地方,下下步打算看看Robot Framework还有STAF+STAX,也好比较一下两者是否有异同及了解下各自工作原理及优点。(STAF+STAX貌似来至IBM,EPL的licence) 。
浙公网安备 33010602011771号