Selenium WebDriver / Selenium IDE
http://www.ibm.com/developerworks/cn/web/1306_chenlei_webdriver/
Selenium VS Webdriver
http://www.ibm.com/developerworks/cn/web/1309_fengyq_seleniumvswebdriver/
表 1. WebDriver 查找页面元素
查找方式 | 描述 | 举例 (Java) |
---|---|---|
By.id | 以元素的 id 属性来定位页面元素 | By.id(“username”) |
By.name | 以元素的 name 属性来定位页面元素 | By.name(“username”) |
By.xpath | 以 XPath 来定位页面元素 | By.xpath(“//*[@id="username"]) |
By.className | 以元素的 class 属性来定位页面元素 | By.className(“even-table-row”) |
By.cssSelector | 基于 CSS 选择器引擎定位页面元素 | By.cssSelector(“#username”) |
By.LinkText By.partialLinkText | 查找包含链接字串的页面元素 | By.linkText(“Click Me!”) By.partialLinkText(“ck M”) |
By.TagName | 以元素的标签名称查找页面元素 | By.tagName(“td”) |
如今,大多数的应用软件被写为基于 Web 的应用程序并通过浏览器展示给用户并与之进行交互。不同公司和机构组织都需要测试这些应用程序的有效性。在一个高度交互性和响应的软件流程时代,许多组织倾向于运用敏捷开发理论,自动化测试也就成了必备一项。所谓自动化测试,就是执行自动测试工具或者用某种程序设计语言编写程序,控制被测软件中的各种模块,模拟手动测试步骤,完成测试。测试自动化有很多优点,比如:频繁的回归测试、快速反馈给开发人员、几乎无限的重复测试用例的执行、支持敏捷和极端发展的方法、自定义的缺陷报告、不会错过人工手动测试可能遗漏的缺陷等。目前也有很多商业和开源的软件,可以辅助进行测试自动化的开发。Selenium 应该是应用最为广泛的开源解决方案。
Selenium 是一个用于 Web 应用程序测试的工具,Selenium 测试直接自动运行在浏览器中,就像真正的用户在手工操作一样。支持的浏览器包括 IE、Chrome 和 Firefox 等。这个工具的主要功能包括:测试与浏览器的兼容性 - 测试您的应用程序看是否能够很好地工作在不同浏览器和操作系统之上;测试系统功能 - 创建回归测试检验软件功能和用户需求;支持自动录制动作,和自动生成 .NET、Perl、Python、Ruby 和 Java 等不同语言的测试脚本。Selenium 是 ThoughtWorks 专门为 Web 应用程序编写的一个验收测试工具。
Selenium 2.0(又名 Selenium WebDriver)的主要新功能是集成了 WebDriver。WebDriver 曾经是 Selenium 1(又名 Selenium RC)的竞争对手。Selenium RC 在浏览器中运行 JavaScript 应用,而 WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。
从 Selenium 项目简史中可以了解到,Selenium 和 WebDriver 的开发人员都认为两个工具各有优势,二者合并将创造更强大的 Web 测试框架。 Selenium 1 是一款流行和完善的测试框架,支持众多浏览器(因其 JavaScript 实现),允许用户通过许多编程语言(从 Java/C# 到 PHP、Erlang...),而 WebDriver 则弥补了 Selenium 1 的缺点,跳出了 JavaScript 的沙箱,提供快速、轻量级的浏览器模拟器。之所以合并,原因如下:
- WebDriver 解决了 Selenium 存在的缺点(比如,绕过 JS 沙箱);
- Selenium 解决了 WebDriver 存在的问题(例如支持广泛的浏览器);
- Selenium 的主要贡献者们都觉得合并项目是为用户提供最优秀框架的最佳途径。
Selenium 2.0 还包括 Selenium Server,通过 Selenium Grid 支持分布式测试。新的 Selenium Grid 支持使用原来的 Selenium RC API 和 WebDriver API 测试。Selenium IDE 1.1.0 也将支持 WebDriver API,包括将录制生成的测试用例导出为 WebDriver 所支持的各种编程语言(Ruby、Python、C# 和 Java)。
WebDriver 针对各个浏览器而开发,取代了 Selenium RC 中嵌入到被测 Web 应用中的 JavaScript,与浏览器的紧密集成可以支持创建更高级的测试,且避免了 JavaScript 安全模型导致的限制。除了来自浏览器厂商的支持,WebDriver 还利用操作系统级的调用模拟用户输入。WebDriver 支持 Firefox (FirefoxDriver)、IE (InternetExplorerDriver)、Opera (OperaDriver) 和 Chrome (ChromeDriver)。它还支持 Android (AndroidDriver) 和 iPhone (IPhoneDriver) 的移动应用测试。此外,还包括一个基于 HtmlUnit 的无界面实现,即 HtmlUnitDriver。WebDriver API 可以通过 Python、Ruby、Java 和 C# 访问,支持开发人员使用他们偏爱的编程语言来创建测试。
Selenium IDE 是一个 Firefox 插件,是用来开发测试用例的集成开发工具,其简单易用,能够高效的开发测试用例,并可转换成相应的语言脚本。
首先,使用 FireFox,访问 Selenium HQ 下载页面 来下载 Selenium IDE:
Firefox 对于一个不信任的插件可能会弹出一个提示,因此需要点击“允许”按钮来继续安装。当下载完成时,会弹出如下页面:
点击安装按钮,安装完成后会提示重启浏览器,完成该操作,Selenium IDE 即安装完毕。如下图所示:
首先,在如上下载页面中下载 Selenium WebDriver 运行时可能需要的各种类包:
- Selenium server 2.25
- Selenium Client Drivers – Java
- Selenium Internet Explorer Driver Server – Needed when using IE mode
- Selenium Chrome driver
本文的集成开发环境选用 Eclipse Java EE IDE Juno ,具体配置如下所示:
需要添加 Junit 4 library、Selenium java driver(Selenium-java-2.25.0.jar)、Selenium server(Selenium-server-2.25.0.jar)、其余 jar 包为 Selenium java driver 的依赖类,位于 Selenium java driver zip 包中的 lib 文件夹中。
至此,Web 应用程序的自动化测试开发环境配置完毕。
Selenium WebDriver 能够模拟日常的浏览器操作,其中最常用的操作如下:
- 访问页面
- 与页面交互
- 填写表单
- 提交页面内容
- 检查页面元素是否在页面上
- 在窗口和 Frame 之间移动
- 弹出对话框
- 页面导航
下面本文将通过一个比较完整的示例分别介绍如上所示常用操作的具体应用。代码片段如下:
1.public void setUp() throws Exception { 2. //driver = new HtmlUnitDriver(); 3. driver = new FirefoxDriver(); 4. baseUrl = "http://www.baidu.com/"; 5. driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 6.} 7. 8.@Test 9.public void testDemo() throws Exception { 10. driver.get(baseUrl + "/"); 11. driver.findElement(By.id("kw")).clear(); 12. driver.findElement(By.id("kw")).sendKeys("百度翻译"); 13. driver.findElement(By.id("su")).click(); 14. 15. WebElement element; 16. element = driver.findElement(By.id( "op_tran_text" )); 17. //element = driver.findElement(By.xpath( "//textarea[@id= ’ op_tran_text ’ ]" )); 18. element.clear(); 19. element.sendKeys("自动化测试"); 20. 21. WebElement select = driver.findElement(By.xpath( "//select" )); 22. List<WebElement> allOptions = select.findElements(By.tagName( "option" )); 23. for (WebElement option : allOptions) { 24. System.out.println(String.format( "Value is: %s" , \ option.getAttribute("value"))); 25. if(option.getText().equals("zh2en")) 26. option.click(); 27. } 28. 29. driver.findElement(By.xpath("//a[@class='op_tran_btn OP_LOG_BTN']")).click(); 30. 31.driver.switchTo().window( "百度在线翻译" ); 32.} |
清单第 2-3 行定义了所使用的 webdriver 类型,本部分以 HtmlFirefoxDriver 为例:
WebDriver driver = new HtmlFirefoxDriver(); |
对于其他类型的 driver,其操作是一样的,不同 driver 的区别在于模拟何种类型的浏览器。
如清单第 10 行所示:
driver.get(baseUrl + "/"); |
完全装载页面后将控制返回给测试脚本。
注意:当页面又很多 Ajax 调用时,该接口无法确认页面是否完全装载,这是需要使用"waits"。
如清单第 11-12、15-19 行所示。
例如:
<input type= "text" name= "passwd" id= "passwd-id" /> WebElement element; element = driver.findElement(By.id( "passwd-id" )); element = driver.findElement(By.name( "passwd" )); element = driver.findElement(By.xpath( "//input[@id= ’ passwd-id ’ ]" )); //XPATH 返回第一个匹配到的元素,如果没有匹配到,抛出 NoSuchElementException element.sendKeys( "some text" ); element.sendKeys( " and some" , Keys.ARROW_DOWN); // 按向下箭头 ; 任何页面元素都可以调用 sendKeys, //例如可以测试一些快捷方式键,键盘的每次输入都是附加在文本串的后面; element.clear(); // 清除文本域内容 |
如清单 21-27 行所示。
- 处理 SELECT 标签
WebElement select = driver.findElement(By.xpath( "//select" )); List<WebElement> allOptions = select.findElements(By.tagName("option" )); for(WebElement option : allOptions) { System.out.println(String.format( "Value is: %s" , option.getValue())); option.setSelected(); }
- 使用 Select 类处理 SELECT 标签
Select select = new Select(driver.findElement(By.xpath( "//select" ))); select.deselectAll(); select.selectByVisibleText("Edam");
如清单第 13、29 行所示。
driver.findElement(By.id( "submit" )).click(); element.submit();// 要求 element 必须在表单中,否则抛出 NoSuchElementException |
检查元素是否在页面上是最常用的操作之一,具体用法如下:
WebElement plain = driver.findElement(By.name( "q" )); RenderedWebElement element = (RenderedWebElement) element;// 例如 HtmlUnit Driver 就无法显示出内容 |
对元素拖拉:
RenderedWebElement element = (RenderedWebElement) driver.findElement(\ By.name( "source" )); RenderedWebElement target = (RenderedWebElement) driver.findElement(\ By.name( "target" )); element.dragAndDropOn(target); |
如清单第 31 行所示
- 在命名的窗口之间移动
driver.switchTo().window( "windowName" ); // 可以通过 js 或者打开窗口的链接获取窗口名称
- 通过窗口句柄切换
for (String handle : driver.getWindowHandles()) { driver.switchTo().window(handle); }
- frame 之间切换或者切换到 iframe
driver.switchTo().frame( "frameName" ); 通过索引访问 subframe: driver.switchTo().frame( "frameName.0.child" );//frameName 的第一个 subframe //的明价 child 的 frame
窗口弹出后,可以使用如下语句访问到弹出窗口:
Alert alert = driver.switchTo().alert(); |
获取到 alert 窗口后,可进行各种操作。
navigate().to() 和 get() 功能完全一样。
driver.navigate().to( "http://www.example.com" ); |
浏览器的前进和后退 :
driver.navigate().forward(); driver.navigate().back(); |
注意这两个方法取决于浏览器的实现,可以会出现某些调用失败。
本部分将结合实际案例来展示自动化测试的构建。
打开 FireFox 浏览器,如上图 3 所示,打开 Selenium IDE 窗口:
下面开始录制第一个基于浏览器的自动化脚本:
- 点击 File 菜单,弹出下拉列表,选择 New Test Case,此时左中部 Test Case 窗口会增加一个 Untitle 2 的测试案例,右键点击'Property',在弹出窗口中重命名为”TestDemo”
- 点击 IDE 的右上部录制按钮(小红点)开始手动录制,在 FireFox 中打开新的 tab 页,输入测试网址 www.baidu.com,在检索框中输入要查询的内容“Selenium”,点击“百度一下”按钮;
- 在结果页,第一条结果就是 Selenium 的官方网站,点击链接进入;
- 待进入 Selenium 官方网站之后,切换到 Selenium IDE 窗口,点击录制按钮(小红点),结束本次手动录制;此时 Selenium IDE 窗口如下图 6 所示;
- 点击 File 菜单,选择“Save Test Case”,填写文件名称“TestDemo”,手动录制的脚本会存为本地 HTML 格式文件,此文件可以在其他 Selenium IDE 中导入使用;
有了以上录制的脚本,可以在 Selenium 中回放,选择 TestDemo 脚本,点击中上部的“Play current test case”按钮(第二个绿色三角按钮),此时,浏览器会按照录制的顺序自动操作执行。由此可见,Selenium IDE 在 Web 应用测试中,可以代替人的大量手工操作。
红色方框所圈定的部分即为 Selenium 的操作记录,此处也可以手动添加、删除、更改命令。
有了手动录制的脚本,可以转换成多种语言的程序脚本:
- 在 selenium IDE 中,选中一个 Test Case,点击 File 菜单,下拉列表中选择“Export Test Case As”-“Java / Junit 4 / WebDriver”;
- 在弹出的保存窗口中,输入类名称 TestDemo,保存;TestDemo.java 文件生成。对于生成的 java 自动化测试脚本,有些可能不能成功执行,需要手动稍微调整。
打开上述所配置的 Eclipse 开发环境,新建一个 Java 工程,将上述转换而成的 TestDemo.java 文件导入到该工程中,去除冗余的“Organize Import(Ctrl + Shift + O) ”。如图 7 所示:
代码第 21 行可见,自动导出的代码默认采用 FireFox 浏览器。执行此代码,Selenium 会自动触发开启 FireFox 浏览器,打开一个新的页面,进入百度首页,在检索框中自动输入“Selenium”关键字,自动点击“百度一下”按钮,进入搜索结果页面,定位到第一条检索结果,然后点击进入 Selenium 官网,自动关闭浏览器,此时 Eclipse 开发环境,JUnit 结果页面显示出来,如图 8 所示:
实现跨浏览器测试,关键在于中选择哪种 WebDriver。
对于 IE 和 Chrome 浏览器
在此以 IE 浏览器为例,更新图 7 所示代码第 21 行为 driver = new InternetExplorerDriver();
运行更新后的自动化脚本,selenium 自动启动 IE 浏览器进行自动化测试。如图 9 所示:
对于模拟浏览器
Selenium 中提供了 Java 实现的虚拟浏览器,选用此驱动,程序会模拟浏览器的行为进行测试,测试过程中并无实际浏览器被调用。
更新 driver = new HtmlUnitDriver(); 运行该脚本,所有浏览器行为在后台模拟运行。
综上所述,本文由浅入深,由 Selenium WebDriver 的基本概念着手,详细阐述其与以往版本的不同之处,并结合实际案例,展示了 Selenium 实现 Web 应用自动化测试的过程。用户按照本文介绍的步骤和方法,即可构件出第一个自动化测试案例。随着学习的深入,相信基于 Selenium WebDriver 的自动化测试应用到实际项目中,一定能够极大提高工作效率。
学习
- Selenium 官方网站:Selenium 的权威站点,提供项目介绍、官方文档、在线资源下载和支持等。
- 利用 Selenium 自动化 web 测试:详细介绍了 Selenium 1 对于 Ajax 页面的相关操作。
- 使用 Selenium RC 测试 web 应用程序:介绍了 Selenium 1 的自动化测试构件过程。
- developerWorks Web development 专区:通过专门关于 Web 技术的文章和教程,扩展您在网站开发方面的技能。
- developerWorks Ajax 资源中心:这是有关 Ajax 编程模型信息的一站式中心,包括很多文档、教程、论坛、blog、wiki 和新闻。任何 Ajax 的新信息都能在这里找到。
- developerWorks Web 2.0 资源中心,这是有关 Web 2.0 相关信息的一站式中心,包括大量 Web 2.0 技术文章、教程、下载和相关技术资源。您还可以通过 Web 2.0 新手入门 栏目,迅速了解 Web 2.0 的相关概念。
- 查看 HTML5 专题,了解更多和 HTML5 相关的知识和动向。
IBM RFT / IBM Rational Functional Tester
IBM Rational Functional Tester(简称RFT)是一款先进的、自动化的功能和回归测试工具,它适用于测试人员和GUI开发人员。使用它,测试新手可以简化复杂的测试任务,很快上手;测试专家能够通过选择工业标准化的脚本语言,实现各种高级定制功能。通过IBM的最新专利技术,例如基于Wizard的智能数据驱动的软件测试技术、提高测试脚本重用的ScriptAssurance技术等等,大大提高了脚本的易用性和可维护能力。同时,它第一次为Java和Web测试人员,提供了和开发人员同样的操作平台(Eclipse),并通过提供与IBM Rational整个测试生命周期软件的完美集成,真正实现了一个平台统一整个软件开发团队的能力。
Rational Functional Tester 的基础是针对于Java、.NET的对象技术和基于 Web 应用程序的录制、回放功能。工具为测试者的活动提供的自动化的帮助,如数据驱动测试。
当您记录脚本时,Rational Functional Tester 会为被测的应用程序自动创建测试对象地图。对象地图中包含了对每个对象的识别属性。当您在对象地图中更新记录信息时,任何使用了该对象地图的脚本会共享更新的信息,减少了维护的成本及整个脚本开发的复杂度。对象地图还为您提供快速的方法向脚本中添加对象。它列出应用程序中涉及到的测试对象,不论它们当前是否可视。您可以通过依据现有地图或按需添加对象来创建新的测试对象地图。
在记录过程中您可以将验证点插入到脚本中以确定在被测应用程序建立过程中对象的状态。验证点获取对象信息(根据验证点的类型,可以是对象属性验证点或五种数据验证点之一 -- 菜单层次、表格、文本、树形层次,或列表)并在基本数据文件中存储。文件中的信息成为随后的建立过程中对象的期望状态。在执行完测试之后,您可以使用验证点比较器(Verification Point Comparator) 进行分析,并且如果对象的行为变化了就更新基线(期望的对象状态)。
Rational Functional Tester 还提供这些强大的功能:
回放更新的应用程序脚本。ScriptAssure 特性是 Rational Functional Tester 的对象识别技术,可以使您成功地回放脚本,甚至在您的被测应用程序已经更新的时候。您可以为测试对象必须通过的、用来作为识别候选的识别记分设置门槛,并且如果 Rational Functional Tester 接受了一个分值高于指定门槛的候选,您还可以向日志文件中写入警告。
更新对象的识别属性。在测试对象地图中,您可以对所选的测试对象更新识别到的属性。Rational Functional Tester 显示了 Update Recognition Properties 页,其显示出更新的测试对象属性、原始的识别属性和对象所有的识别属性。如果必要,您可以修改更新的识别属性。
合并多个测试对象地图。对象地图要么是共享的要么是专用的。专用地图附属于一个脚本并只由具体的脚本进行访问,反之,共享的地图由多个脚本共享。共享地图的优势是,当需要更新对象时,只有对应一个地图的一个更新会确定多个脚本。您可以在 Rational Functional Tester 的项目视图中并且在创建新测试对象地图时,将多个私有的或共享的测试对象地图合并成一个单个的共享测试对象地图。Rational Functional Tester 可以随意地更新您所选择的指向新合并的测试对象地图的脚本。
显示相关的脚本。在测试对象地图中,您可以观察到一列表与地图相关的脚本,且可以使用该列表来选择要添加测试对象的多个脚本。
使用基于模式的对象识别。您可以用正则表达式或一个数值范围来代替允许基于模式的识别。允许对象识别具有更好的灵活性。您可以将属性转变成验证点编辑器(Verification Point Editor) 或测试对象地图中的正则表达式和数值范围。正则表达式计算器(Regular Expression Evaluator) 允许您在编辑表达式时进行测试,这节省下了不得不运行脚本观察模式是否工作的时间。
集成 UCM。Rational Functional Tester 在 ClearCase统一变更管理(Unified Change Management,UCM)的视图中。Rational Functional Tester 中创建的工件是可以进行版本控制的。
Rational Functional Tester 的两个版本共享这些基本特性,且都为已知的被测应用程序生成(一般来说)同样的脚本。重要的是要注意,因为它您在任何已知时间选择任何一个最适合您需要的环境或语言。如果您现在开始使用 Rational Functional Tester 的 Visual Basic .NET 版本,而在六个月后您想转换成 Java 的版本,您不需要学习完全不同的工具。两个版本基本上一致,您可以对一个工具中的任何投资(时间或金钱)都能够沿用到另一个工具中。为了证明这点,本章节将带您在每个环境中进行记录并执行实例脚本,并在最后比较结果脚本。依照任何一个此时适合您需要环境的步骤,并对比另一个环境的步骤以了解这些步骤有多么类似。
wuqiang qq:1332326
fumaoqiang qq:281788398
ligaowei 138-1736-6546
wangdan 139-6714-2900
IOS 自动化测试工具
http://huangqinqin.iteye.com/blog/1770601
1:Monkeytalk
2: Calabash
3:UI Automation tool
http://blog.manbolo.com/2012/04/08/ios-automated-tests-with-uiautomation
4:TestStudio by Telerik
5:Frank
6:SOASTA / 通联金融科技与SOASTA公司签订了长期战略合作协议,提供市场上领先的基于云计算网络和移动应用的测试平台,为用户享用云测试这一创新型云服务提供帮助。
7:Appium
https://github.com/appium/appium
http://appium.io/slate/cn/v1.4.0/#
针对开发者的 20 款移动开发框架
http://www.iteye.com/news/28022
Appium是一款开源自动化测试工具。可对任何语言的iOS应用和Android应用进行测试,测试可使用Java、Objective-C、JavaScript、PHP、Python、Ruby、C#、Clojure、Perl等众多语言编写。目前只针对Mac OS X ,且需要有Node.js来支撑。Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合应用。 所谓的“移动原生应用”是指那些用 iOS 或者 Android SDK 写的应用。所谓的“移动 web 应用”是指使用移动浏览器访问的应用(Appium 支持 iOS 上的 Safari 和 Android 上的 Chrome)。所谓的“混合应用”是指原生代码封装网页视图——原生代码和 web 内容交互。比如,像 Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。 重要的是,Appium 是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了 iOS 和 Android 测试套件间代码的复用性。 想知道 Appium 如何支持平台,版本和自动化形态的详细信息,请参见platform support doc。
第三届ATI自动化荣誉
http://xitong.iteye.com/blog/1822039
ATI自动化荣誉奖,庆祝卓越的软件测试自动化专业。在自动化领域,通过投票的方式来选择你所认
可的获奖者,并于2011年/ATI的测试和测试自动化大会宣布获奖者名单。下面列出了部分获奖者和入围者
。
1、最佳的开源单元自动化测试工具
1、1 C++类
冠军:Google C++ TestingFramework 生产者:Google
亚军:Automated Test Framework 生产者:N/A
入围:Boost TestLibrary 生产者:Dave Abrahams
入围:cfix 生产者:Johannes Passing
1、2 java类
冠军:JUnit 生产者:David Saff,Erich Gamma,Erik G.H. Meade,Kent Beck
亚军:TestNG 生产者:Cedric Beust
入围:UISpec4J 生产者:Regis Medina,Pascal Pratmaryrty
1、3 .net类
冠军:NUnit 生产者:Charlie Poole
入围:MbUnit.net 生产者:Johan Appelgren,Jeff Brown,Joey Calisay
入围:xUnit.net 生产者:Brad Wilson,Jim NewKirK
1、4 总体
冠军:JUnit 生产者:David Saff,Erich Gamma,Erik G.H.Meade,Kent Beck
亚军:NUnit 生产者:Charlie Poole
入围:Google C++ Testing Framework 生产者:Google
入围:TestNG 生产者:Cedric Beust
2、最佳的开源功能自动化测试工具
2、1 WEB网络
冠军:Selenium 生产者:OpenQA
亚军:TestMarker 生产者: PustToTest
入围:Sahi 生产者:Tyto Software
入围:Watir 生产者:Bret Pettichord
2、2 java类
冠军:Selenium 生产者:OpenQA
亚军:SWTBot 生产者: Ketan Pandegaonkar
入围:T-Plan Robot 生产者:T-Plan Ltd.
入围:Jemmy 生产者:Alexandre(Shura)lline
2、3 Flash/Flex类
冠军:Flex Monkey 生产者:Gorilla Logic
入围:Melomel 生产者:Ben Johnson
入围:TestMaker 生产者:PustToTest
2、4 总体
冠军:Selenium 生产者:OpenQA
亚军: FlexMonkey 生产者:Gorilla Logic
入围:TestMaker 生产者:PustToTest
入围:T-Plan Robot 生产者:T-Plan Ltd.
3、最佳的开源性能自动化测试工具
3、1 WEB网络
冠军:JMeter 生产者:Apache Software Foundation
入围:TheGrinder 生产者:Philip Aston
入围:Hammerora 生产者:Steve Shaw
3、2 网络服务/SOA类
冠军:SoapUI 生产者:SmartBear Software
入围:JMeter 生产者:Apache Software Foundation
入围:TheGrinder 生产者:Philip Aston
3、3 总体
冠军:JMeter 生产者:Apache Software Foundation
亚军: SoapUIPro 生产者:SmartBear Software
入围:TheGrinder 生产者:Philip Aston
入围:Hammerora 生产者:Steve Shaw
4、最佳的商业功能自动化测试工具
4、1 WEB网络
冠军:QuickTest Pro(HPFuncional Tester) 生产者:HewlettPackard 所属公司:hp
亚军: TestStudio 生产者:Telerik 所属公司:telerik
入围:SilkTest 生产者:Micro Focus 所属公司:MICRO FOCUS
入围:Pational Functional Tester 生产者:IBM 所属公司:IBM
4、2 java类
冠军:TestComplete 生产者:SmartBear Software 所属公司:SmartBear
亚军: QuickTest Pro(HP Funcional Tester) 生产者:Hewlett 所属公司:hp
入围:TestDrive 生产者:Original Software 所属公司:Original Software
入围:Twist 生产者:ThoughtWorks 所属公司:ThoughtWorks studios
入围:QAWizard 生产者:Seapine Software
4、3 .net类
冠军:Ranorex 生产者:Ranorex GmbH 所属公司:Ranorex
亚军: TestStudio 生产者:Telerik 所属公司:telerik
入围:Certify 生产者:Worksoft 所属公司:WORKSOFT
入围:SilkTest 生产者:Micro Focus 所属公司:MICRO FOCUS
4、4 Flash/Flex类
冠军:Ranorex 生产者:Ranorex GmbH 所属公司:Ranorex
亚军:TestDrive 生产者:Original Software 所属公司:Original Software
入围:RIATest 生产者:Conitek Inc. 所属公司:riatest
入围:eggPlant 生产者:Testplant 所属公司:eggPlant
4、5 网络服务/SOA类
冠军:SilkPerformer forSoapUI Pro SOA 生产者:Micro Focus 所属公司:MICROFOCUS
亚军:SoapUIPro 生产者:SmartBear Software 所属公司:SmartBear Software
入围:TestDrive 生产者:Original Software 所属公司:OriginalSoftware
入围:SOATest 生产者:Parasoft
4、6 SAP类
冠军:Certify 生产者:Worksoft 所属公司:WORKSOFT
入围:QuickTest Pro(HP Funcional Tester) 生产者:Hewlett Packard 所属公司:hp
入围:Pational Functional Tester 生产者:IBM 所属公司:IBM
4、7 总体
冠军:QuickTest Pro(HPFuncional Tester) 生产者:HewlettPackard 所属公司:hp
亚军: TestComplete 生产者:SmartBear Software 所属公司:SmartBear
入围:Pational Functional Tester 生产者:IBM 所属公司:IBM
入围:Ranorex 生产者:Ranorex GmbH 所属公司:Ranorex
入围:SilkTest 生产者:Micro Focus 所属公司:MICRO FOCUS
5、最佳商业性能自动化测试工具
5、1 网络/HTTPS
冠军:loadrunner 生产者:Hewlett Packard GmbH 所属公司:hp
亚军:SilkPerformer 生产者:Micro Focus 所属公司:MICRO FOCUS
入围:Pational Functional Tester 生产者:IBM 所属公司:IBM
入围:AQTime 生产者:SmartBear Software 所属公司:SmartBear
5、2 网络服务/SOA
冠军:loadrunner 生产者:Hewlett Packard GmbH 所属公司:hp
亚军: SOAPUIPro 生产者:SmartBear Software 所属公司:SmartBear
入围:SilkPerformer 生产者:Micro Focus 所属公司:MICRO FOCUS
入围:SOATest 生产者:Parasoft
5、3 总体
冠军:loadrunner 生产者:Hewlett Packard GmbH 所属公司:hp
亚军:SilkPerformer 生产者:Micro Focus 所属公司:MICRO FOCUS
入围:Pational Functional Tester 生产者:IBM 所属公司:IBM
入围:AQTime 生产者:SmartBear Software 所属公司:SmartBear
6、最佳自动化测试书
冠军:Continuous Delivery: Reliable Software Releases throughBuild,Test,and Deplayment Automation 生产者:Jez Humble andDavid Farley 链接:http://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesley/dp/0321601912
入围:Software Testing with Visual Studio 2010(Microsoft.netDevelopment Series) 生产者:JeffLevinson 链接:http://www.amazon.com/Software-Testing-Visual-Microsoft-Development/dp/0321734483
入围:Selenium1.0 Testing Tools:Beginner'sGuide 生产者:DavidBurns 链接:https://www.packtpub.com/selenium-1-0-testing-tools-beginners-guide/book
7、最佳自动化测试介绍
冠军:Making Test Automation Work on AgileProjects 生产者:Lisa Crispin
入围:Exploratory Test Automation inBing 生产者:Harry Robinson
入围:Automated Testing in an iosWord 生产者:Eric Bariaux
8、最佳自动化测试文章
冠军:Development's role in software testAutomation 生产者:Linda Hayes
亚军: Technical vs.Non-Technical Skills In Test Automation 生产者:Dorothy Graham
入围:Continuous Integration andAutomation 生产者:Eric Pugh
入围:Test automation:Businessdisposable test assets 生产者:George Wilson
入围:UI Automation Beneath the PresentationLayer 生产者:BJ Rollison
9、最佳自动化测试博客
冠军:Automated Testing andQA 生产者:Peter Kartashow
入围:Software Functional TestAutomation 生产者:Mahesh Narayanan
入围:Testlabs.com 生产者:Philip Aston
10、最佳自动化测试论坛
冠军:SQAFornums 生产者:BetaSoft Inc. 链接:http://www.qaforums.com/
亚军: One Stop Testing 生产者:Vyom TechnosoftPvt.Ltd 链接:http://www.onestoptesting.com/
入围:AdvancedQTPForum 生产者:SOLMAR Knowledge Networks 链接:http://www.advancedqtp.com/forums/
入围:TekTips 生产者:Tecumseh Group
QTP视频汇总
http://www.51testing.com/?uid-157452-action-spacelist-type-blog-itemtypeid-19427
QTP的概述
在线观看: http://www.boobooke .com/v/bbk3207
2. 小布作品:QTP培训系列 - 2
讲解了QTP的测试规划
在线观看:http://www.boobooke.com/v/bbk3302
2. 小布作品:QTP培训系列 - 3
继续介绍QTP的测试规划
在线观看: http://www.boobooke.com/v/bbk3303
4. 小布作品:QTP培训系列 - 4
QTP 录制 之前的注意要点
在线观看:http://www.boobooke.com/v/bbk3307
5. 小布作品:QTP培训系列 - 5
介绍QTP录制和回放
在线观看: http://www.boobooke.com/v/bbk3308
6. 小布作品:QTP培训系列 - 6
介绍QTP的对象库
在线观看: http://www.boobooke.com/v/bbk3309
7 小布作品:QTP培训系列 - 7
继续介绍QTP的对象库
在线观看: http://www.boobooke.com/v/bbk3310
8. 小布作品:QTP培训系列 - 8
介绍QTP的同步点
在线观看:http://www.boobooke.com/v/bbk3311
9. 小布作品:QTP培训系列 - 9
介绍QTP的检查点
在线观看: http://www.boobooke.com/v/bbk3312
10. 小布作品:QTP培训系列 - 10
继续介绍QTP的检查点
在线观看: http://www.boobooke.com/v/bbk3313
《零基础学习软件测试 》系列视频之 QTP使用指南 (全)
1 qtp目录分析
http://www.boobooke .com/v/bbk1590
2 qtp界面分析
http://www.boobooke.com/v/bbk1594
3 qtp示例程序分析
http://www.boobooke.com/v/bbk1598
4 qtp学习指南
http://www.boobooke.com/v/bbk1515
5 qtp基本操作录制 与回放
http://www.boobooke.com/v/bbk1591
6 qtp的三种录制方式
http://www.boobooke.com/v/bbk1516
7 增强help步骤
http://www.boobooke.com/v/bbk1592
8 checkpoint
http://www.boobooke.com/v/bbk1595
9 参数化
http://www.boobooke.com/v/bbk1599
10 Tools下的工具 介绍
http://www.boobooke.com/v/bbk1589
11 qtp插件分析
http://www.boobooke.com/v/bbk1689
12 qtp测试用例设计考题
http://www.boobooke.com/v/bbk1575
13 vbs
http://www.boobooke.com/v/bbk1621
14 recovery Scenarios
http://www.boobooke.com/v/bbk1692
15 虚拟对象
http://www.boobooke.com/v/bbk1695
16 专家视图测试脚本 开发
http://www.boobooke.com/v/bbk1690
17 qtp描述性编程
http://www.boobooke.com/v/bbk1691
18 qtp测试脚本编写规范
http://www.boobooke.com/v/bbk1693
19 如何建立自动化测试框架
http://www.boobooke.com/v/bbk2097
20 QTP之焦点
http://www.boobooke.com/v/bbk2146
21 手工测试 PK 自动化测试
http://www.boobooke.com/v/bbk2148
22 QTP使用指南第一部分基础知识讲解完结篇
http://www.boobooke.com/v/bbk2147
吴强wuqiang qq:1332326
AU3 / AutoIt / 自动化软件安装工具
http://www.autoitscript.com/files/autoit3/autoit-v3-setup.exe
http://www.autoitscript.com/site/autoit/downloads/
http://baike.baidu.com/view/1539635.htm
http://baike.baidu.com/view/239490.htm
http://www.autoitx.com/
AutoIt 目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作。它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务。而这是其它语言不可能做到或无可靠方法实现的(例如VBScript和SendKeys).
AutoIt v3 is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages (e.g. VBScript and SendKeys). AutoIt is also very small, self-contained and will run on all versions of Windows out-of-the-box with no annoying “runtimes” required!
AutoIt was initially designed for PC “roll out” situations to reliably automate and configure thousands of PCs. Over time it has become a powerful language that supports complex expressions, user functions, loops and everything else that veteran scripters would expect.
spy ++ / Microsoft Visual Studio.NET 2003 工具集
http://baike.baidu.com/view/2258859.htm
Spy++ (SPYXX.EXE) 是一个() 的实用工具,它提供系统的进程、线程、窗口和窗口消息的图形视图。使用 Spy++ 可以执行下列操作: 显示系统对象(包括进程、线程和窗口)之间关系的图形树。 搜索指定的窗口、线程、进程或消息。 查看选定的窗口、线程、进程或消息的属性。 直接从视图中选择窗口、线程、进程或消息。 通过鼠标定位,使用查找程序工具选择窗口。 使用复杂的消息日志选择参数设置消息选项。 提示使用 Spy++ 时,在许多实例中都可以单击鼠标右键显示常用命令的弹出式菜单。命令是否可用取决于指针的位置。例如,如果在指向窗口视图中的某项时单击并且选定的窗口可见,则弹出式“突出显示”菜单项将导致选定窗口的边框闪烁,从而可以轻松地在屏幕上找到该窗口。
Spy++的使用方法及下载
http://blog.csdn.net/whatday/article/details/7985922
主题:Android自动化测试视频教程(robotium应用)
http://www.iteye.com/topic/1143171
http://pan.baidu.com/s/1qXiibEW 密码:4flh
01.相关概念
02.Android测试点
03.android SDK工具1
04.android SDK工具2
05.android SDK工具3
06.android SDK工具4
07.Android SDK工具5
08.Android App的开发1
09.Android App的开发2
10.robotium基础应用1
11.robotium基础应用2
12.robotium基础应用3
13.自动化架构设计1
14.自动化架构设计2
15.自动化架构设计3
16.自动化架构设计4
17.自动化架构设计5
18.自动化架构设计6
19.自动化架构设计7
20.自动化架构设计8
21.自动化架构设计9
22.自动化架构设计总结
23.Robotium云测试应用
24.总结
end