Welcome

首页 / 软件开发 / 数据结构与算法 / 基于Selenium WebDriver实现多语言环境下自动化截图

基于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. 录制用户登录