What?
AutomanX前端javascript测试方案提供前端javascript单元测试、javascript单页面交互测试以及javascript多页面交互测试
Why?
1) 目前淘宝系事业群没有统一的前端javascript自动化测试方案
2) 缺少前端自动化测试持续集成的执行调度平台
3) AutomanX是一个集成自动化测试框架平台,给前端javascript自动化测试带来福音
How?
1)与AutomanX框架无缝集成
2)提供一套统一的前端javascript自动化测试解决方案
3)借助kelude执行调度平台
测试类型:
1)javascript单元测试:
又称为模块测试,是针对程序的模块进行正确性的校验,主要是用来检验程序的内部逻辑,它为代码的重构提供了保障
2)javascript单页面交互测试:
人机交互行为的测试,对于用户点击、鼠标悬浮以及异步操作等交互行为的预期与期望值校验
3)javascript多页面交互测试:
通过在某个页面的点击行为,跳转到其他页面进行预期与期望值的校验
原理:
1)javascript单元测试:
通过使用jasmine-maven-plugin构建maven工程来实现javascript单元测试,支持jasmine、jasmine+kissy以及jasmine+jquery语法的测试用例
2)javascript交互测试:
通过使用selenium webdriver动态向页面中注入javascript测试脚本来实现。对原生的jasmine框架进行了扩展:
1)提供新的异步匹配语法
2)提供新的预匹配语法
3)UI测试的各种配置方法
4)html模拟事件机制
5)新的日志生成方式
框架架构:
AutomanX前端javascript测试中,方案主要分为五层结构——Engine层、Action层、Verification层、Common层以及Resource层,如下图所示:
1)Engine层:浏览器驱动
2)Action层:执行javascript单元测试以及javascript交互测试
3)Verification层:测试结果验证
4)Common层:包含一些对外部文件的引用,包括jquery.js、jasmine-jquery.js、kissy.js以及jasmine类库的扩展
5)Resource层:包含javascript源文件、javascript测试文件以及jUnit测试类
优势
1) 多种javascript类库支持
除了支持原生的jasmine语法的javascript测试用例,AutomanX-JS还支持kissy+jasmine、jquery+jasmine语法的javascript测试用例。
2) 性能
AutomanX前端javascript测试运行脚本的时间数据量级为秒(s),大大提高了脚本运行速度。
3) 与kelude的无缝集成
AutomanX前端javascript测试实现了kelude的无缝集成,通过在kelude上创建实验室来运行javascript脚本,流程与运行WEB UI脚本完全一致,降低了业务线小二二次学习的成本。
4) 持续集成
AutomanX前端javascript测试对持续集成支持的更加完善
5) 日志展现
AutomanX前端javascript测试日志展示清晰,定位到具体的出错信息,便于排查
转至:http://www.taobaotest.com/blogs/2253