== 1.为什么要测试自动化 == * 可以提高代码质量,缩短测试周期 * 自动化测试如果由开发人员编写,可以强化开发人员的质量意识,有利于开发人员成长。也是保证开发人员日常开发质量的有力武器 * 测试人员编写自动化测试,可以提高测试效率,可以将测试人员从大量的重复,枯燥的工作解脱出来。 * 传统手工测试依赖于人,容易出错,自动化测试与手工测试相比,能避免人为出错。 * 自动化测试脚本,是非常好的测试文档,与传统的手工测试用例相比,脚本记录了测试点,测试拓扑图,测试设计思路等。 == 2.选择使用什么样的工具 == 目前,支持web自动化测试的工具有Watir,Selenium,MaxQ,WebInject之所以选择Selenium,是因为:[[BR]] 1.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样[[BR]] 2.支持多种语言,Java,python,Ruby,Perl,C#等,公司主要使用开发语言为java,python也是使用最广泛的脚本语言之一,推广起来更容易[[BR]] 3.目前使用最广泛,参考资料也更丰富一些。[[BR]] 这三个优势让selenium从众多测试工具中脱颖而出。 * 1.selenium + java 与 selenium + python 组合的比较 ''' [[BR]] * 2.为什么选择selenium webdriver 而不是 selenium RC ''' [[BR]] == 3.安装firefox23.0.1, python2.7, selenium == * 1.安装firefox23.0.1 [[BR]] * 2.安装python [[BR]] * 3.安装selenium == 4.论坛7.0如何实施自动化 == * 1.重构,设计基类,避免重复代码。按模块设计测试类 * 2.实施自动化过程中遇到的部分问题解决方法 * 1.广告弹出,挡住页面中的按钮 * 2.如何滚动页面 * 3.如何移动鼠标,并触发onmouse事件 * 4.页面中使用iframe,无法定位到无素的问题 * 5.如何生成测试报告 * 3.核心功能自动化 * 1.发帖功能 * 2.版块页 * 一般功能 * 管理员功能 * 2.帖子页 * 一般功能 * 管理员功能 * 4.如何在其它浏览器中进行测试 * 1.ie * 2.chrome * 5.为每一个bug添加自动化测试 [[BR]] == 5.selenium实施自动化测试过程中遇到的问题 == * 1.暂时还没有解决如何从本地选择图片通过flash上传到upc * 2.web应用页面大改版的时候,测试代码需要重新开发,有较高的维护成本。 == 6.selenium的缺点 == * 1.selenium还不够健壮稳定,一段测试代码会出现时而能通过,时而不能通过的情况,相信随着以后发布新的版本,应该会有所改善。 * 2.虽然号称支持firefox,ie,chrome,opera等众多浏览器。但除了firefox,api对其它浏览器支持较差,即使支持firefox最好, 也只支持旧一点的firefox版本,当前最新的是 firefox24,就不支持 * 3.需要图形环境的支持,因此很难集成到公司的linux服务器上 == 7.附录 == * 附件1,(selenium + python) 家居网7.0论坛测试脚本 * 附件2,(selenium + java) 评论系统测试代码