基于Selenium WebDriver实现多语言环境下自动化截图2013-10-07 ibm 罗 小双TVT 的概念和 TVT 自动化的必要性概念翻译验证测试 (Translation Verification Testing,TVT) 是 IBM GSSC 部门为 IBM 的各种产品做本地化 (Localization) 的一个测试环节。众所周知,我们开发出一款产品,需要让全 球各地的用户都能够无障碍的使用,就必须精准的将产品 UI 和相关文档翻译成各种语言,这样不同国家和地区的用户才能 够顺畅使用。TVT 的过程就是一个产品翻译验证测试的过程。必要性从字面上看,TVT 是一个比较简单的翻 译验证过程,然而在 GSSC 内部,完成这个过程却有复杂流程。在这些流程中,其中有一个重复而且工作量很大的环节就是 截图。截图是将产品所有语言版本的 UI 和相关文档以图片的形势截取并保存下来,然后发给各个国家的 Tester 去验证 (Verification) 其翻译正确性。我们可以计算一下截图的工作量,如果一个产品要做 20 个语言的版本,那么一个 case 需要截图 20 张,假如一个项目中有 1000 个 case,那么 GSSC 的 TSE(Test Support Engineer) 就必须截 20000 张图 (20*1000)。 如果手动来截图,一张图大概要花费 5 分钟的时间,那么手动截图大概是 100 张 / 人天 (60*8/5=96) 。10 个 TSE 来完成这项工作也至少需要 20 天时间 (10 人 *100 张 *20 天 =20000 张 )。所以如果能够使用自动化来完 成这些重复的工作,录制一次 case 脚本,然后在 20 种语言环境下执行,那么这将大大节省时间和人力成本,所以自动化 在 TVT 中是非常有帮助和必要的。Selenium 简介Selenium 是针对 Web 应用的测试框架,支持多种浏览器和多种编程语言。Selenium 2 的主要新功能是集成了 WebDriver - 曾经是 Selenium 1(又名 Selenium RC)的竞争对手。Selenium RC 在浏览器中运行 JavaScript 应用,而 WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。Selenium IDE:FireFox 的一个插件,支持脚本录制。在 TVT 自动化截图工作中,需要用到 Selenium WebDriver 和 Selenium IDE 这两个工具,鉴于本文主要是介绍 TVT 的自动化截图,详细的 Selenium 知识,这里不再介绍,大家可以去 其官方网站上了解更多相关知识。为了配合 Selenium IDE 一起工作,还需要 Firefox 的另外一个插件:Firebug,这个工具可以查找 Web 页面元素的属 性,比如元素 ID、Name、Class、CSS、Path 等等,这些都是 Selenium IDE 和 WebDriver 需要使用到的。用 Selenium IDE 录制和导出脚本首先需要下载 Selenium IDE, 可以从 Selenium 官方网站下载最新版本的 IDE,但是需要注意 IDE 与 Firefox 的兼容 性,具体的兼容性可以在下载的时候阅读 Selenium IDE 的 release notes。下载完成后以插件的形势安装在 Firefox 上 。启动 Firefox 并输入录制网站的 URL,点击菜单栏上面的工具 ->Selenium IDE, Selenium IDE 就会弹出来。接下 来对 Firefox 的所有操作都会记录下来,比如系统的登陆过程(如图 1 所示),当所有步骤完成之后,点击 IDE 右上角 的红色圆点停止按钮就完成了一个 Case 脚本的录制工作。图 1. 录制用户登录