AutomanX之前端javascript测试方案

2012-12-12  付民 

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

414°/4147 人阅读/0 条评论 发表评论

登录 后发表评论