写给想学习自动化测试的新人

简介:
最近通过各种渠道发现大家对一些 测试工具的基本情况不太清楚,经常会问类似于watir与watir webdriver的区别,我有1个项目,是用watir还是用 selenium webdriver呢,之类的问题,在这里笔者不才略微总结一下,希望能给大家一个较为清晰的认识。

  Waitr与Watir-WebDriver有什么区别?

  Watir是非常优秀的一款自动化测试工具。其使用ruby作为脚本语言进行开发,能够在ie上实现元素定位、操作等自动化任务;

  Watir WebDriver是Selenium WebDriver的一个封装。简单来说如果selenium webdriver是手机上 的安卓系统,那么watir webdriver就是MIUI。watir webdirver就是将selenium webdriver包装了一下,使得selenium webdriver的api更加的友好。当然watir webdriver也不是毫无根据的对selenium webdriver进行封装,watir webdriver使用了watir的api组织形式对selenium webdriver进行封装,这样watir的代码跟watir webdriver的代码看上去就很”相似”了。这也是大家无法分辨watir与watir webdriver区别的原因。

  另外watir webdriver相比较watir有如下的一些优点:

  watir webdriver支持多浏览器, 而watir只支持ie

  watir webdriver支持html5, 而在这方面watir不太明确

  watir webdriver对弹出框(js alert confirm)的处理更加友好

  watir webdriver支持移动设备,如iPhone和androrid

  QTP和watir的区别是什么?

  首先最明显的区别是:QTP是商业工具,其不是免费的;而watir是开源的测试工具,使用免费。

  QTP支持脚本的录制,而watir不可以;

  QTP的脚本语言是vbscript,而watir使用ruby进行脚本的开发;

  QTP上手很容易,一般测试人员哪怕不会脚本语言都可以通过QPT录制回放脚本来进行用例的开发;相对来说,watir则需要一定的代码基础;

  QTP对IE和Firefox都有支持,但是watir只支持IE(尽管firewaitr支持firefox,但是工具目前更新速度不快,可以忽略);

  QTP是有软件界面的,而watir只是一个代码库;

  那么我应该选择QTP还是watir?

  如果预算允许且自动化测试对浏览器的兼容性要求不高的话是可以选择QTP的;

  如果预算有限,但是项目只要求支持IE的话建议选择watir,学好watir测试人员日后的发展有一定的好处;

  如果预算有限,项目又要求支持多浏览器,那么推荐使用watir webdriver;

我应该选择watir webdriver还是selenium webdriver?

  从本质上说selenium webdriver 和 watir webdriver是没有任何区别的,就跟中国男足输1个和输10个是没有任何分别一样。

  从笔者的经验上来说,watir webdriver的api更加的丰富和友好,如果你可以使用ruby作为开发语言的话,强烈推荐watir webdriver。

  如果你的项目要求你使用java javascript之类的语言,那么你只能选择selenium webdriver了。

  我是新手,这么多测试工具我该选择哪一个作为入门的学习工具呢?

  如果你有决心有时间的话,那么推荐watir作为web测试的入门工具,原因是你可以通过watir学习到ruby,js,html,dom等 一系列的知识;然后再转watir webdriver 甚至是selenium webdriver,学习曲线是相对平滑的;

  如果你有决心但没时间却又急于求职的话,那么用熟QTP也是一个捷径。

  selenium和webdriver的关系是什么?

  webdriver是selenium2的一部分;

  webdriver提供了多浏览器间统一的api,并将会持续更新,而selenium1将不再维护;

  selenium2等于webdriver加selenium1

  webdriver比selenium强在哪儿?

  wd的api比se更加的面向对象,更加友好;

  wd解决了se的软肋同源问题;

  wd多浏览器间的行为更加一致;

  wd支持iphone和安卓;

  se1不再更新,而webdriver社区非常活跃。

  作为新人,我想学习脚本语言,我该从哪一门开始呢?

  如果你想做web方面的自动化而又想选择一门脚本语言开始的话,笔者推荐javascript。因为js配合html能做出多种效果,能够给让新人很快的获得成就感。另外前端人员目前相对紧缺,学好js无疑能够让你的身价有一定的增加。

  如果你只是想学一门脚本语言,那么建议学习python,python的理念是做1件事件从来只有一种方法,尽管没有选择,但是至少也不会混乱和迷惑。另外python社区非常活跃,氛围很好。

  如果你想学习watir和waitr webdriver,那么就从ruby开始。ruby入门容易精通难,而且经济价值没有py和js那么立竿见影。

  总是脚本语言殊途同归,修行还是要看个人。








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
27天前
|
SQL 安全 测试技术
软件测试的艺术:从错误中学习,提升产品质量
本文将探讨软件测试的重要性和如何通过测试来提高产品质量。我们将从软件测试的基本概念入手,逐步深入到不同的测试方法、工具和技术。同时,我们还将讨论如何建立有效的测试策略以及如何处理测试过程中发现的问题。
|
3天前
|
测试技术 开发者
vertx的学习总结6之动态代理类和测试
本文是Vert.x学习系列的第六部分,介绍了如何使用动态代理在事件总线上公开服务,以及如何进行Vert.x组件的异步测试,包括动态代理的创建和使用,以及JUnit 5和Vert.x测试工具的结合使用。
10 3
vertx的学习总结6之动态代理类和测试
|
2天前
|
测试技术
软件质量保护与测试(第2版)学习总结第十三章 集成测试
本文是《软件质量保护与测试》(第2版)第十三章的学习总结,介绍了集成测试的概念、主要任务、测试层次与原则,以及集成测试的不同策略,包括非渐增式集成和渐增式集成(自顶向下和自底向上),并通过图示详细解释了集成测试的过程。
13 1
软件质量保护与测试(第2版)学习总结第十三章 集成测试
|
2天前
|
测试技术
软件质量保护与测试(第2版)学习总结第十章 黑盒测试
本文是《软件质量保护与测试》(第2版)第十章的学习总结,介绍了黑盒测试的基本概念和方法,包括等价类划分、边界值分析和因果图法,并通过具体例子展示了如何设计测试用例来验证软件的功能性需求。
18 1
软件质量保护与测试(第2版)学习总结第十章 黑盒测试
|
2天前
|
人工智能 人机交互 数据库
软件质量保护与测试(第2版)学习总结第一章
本文是《软件质量保护与测试》(第2版)第一章的学习总结,概述了软件的特征、分类、软件工程的层次化技术、现代软件开发的变化,以及软件质量的概念和评价体系,包括黑盒、白盒和灰盒测试方法。
11 1
软件质量保护与测试(第2版)学习总结第一章
|
2天前
|
测试技术
软件质量保护与测试(第2版)学习总结第十一章 白盒测试
本文是《软件质量保护与测试》(第2版)第十一章的学习总结,详细讲解了白盒测试中的控制流测试技术,包括语句覆盖、判断覆盖、条件覆盖、判定-条件覆盖和路径覆盖等方法,并通过具体代码示例展示了如何设计测试用例来验证程序中的不同执行路径。
9 2
|
17天前
|
测试技术 数据安全/隐私保护 UED
软件测试的艺术:从错误中学习,提升用户体验
在数字化时代,软件已成为我们生活不可或缺的一部分。然而,软件的错误或缺陷往往会导致用户体验的下降,甚至引发严重的后果。因此,软件测试的重要性不言而喻。本文将探讨软件测试的核心价值,如何通过有效的测试策略和工具,从错误中学习,持续优化产品质量,提升用户体验。
30 2
|
1月前
|
Android开发
Android学习 —— 测试init.rc中的条件触发的处理顺序
Android学习 —— 测试init.rc中的条件触发的处理顺序
|
4月前
|
安全 测试技术
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
72 1
|
4月前
|
JSON 前端开发 测试技术
从零开始:学习使用 Postman 进行接口测试
在当前,API(应用程序接口)的使用变得越来越普遍。其中,HTTP/HTTPS API 是最常见的一种。无论是开发前端还是后端,测试 API 都是一个关键环节。Postman 是一种流行且强大的 API 测试工具,能够帮助开发人员轻松地进行接口测试和调试。