web自动化测试需要学习哪些技术?

写给想学习自动化测试的新人
最近通过各种渠道发现大家对一些工具的基本情况不太清楚,经常会问类似于watir与watir
webdriver的区别,我有1个项目,是用watir还是用
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
  和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那么立竿见影。
  总是脚本语言殊途同归,修行还是要看个人。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。比特客户端
您的位置:
详解大数据
详解大数据
详解大数据
详解大数据
Web自动化测试原理
关键字:Web
  目前市面上有很多Web UI测试框架,比如WatiN, Selinimu,WebDriver,还有VS2010中的Coded UI等等. 这些框架操作Web中的控件,模拟用户输入,点击等操作,实现Web自动化测试。其实这些工具的原理都一样,都是通过调用IE COM接口和HTML DOM 对IE以及WEB测试对象的操作。
  本文介绍脱离这些自动化测试框架。 直接使用.NET提供的shdocvm.dll库来操作IE浏览器,使用mshtml.dll库来操作IE中的 HTML对象。
  阅读目录
  添加引用
  操作IE
  使用IE Develop Toolbar 查看HTML DOM
  操作IE中的HTML元素
  源代码下载
  通过直接操作IE COM来实现Web自动化,能让你在几分钟之内快速建立一个轻量型的自动化测试程序。 大大的提高了测试效率。 也有助于你理解WatiN这些自动化测试框架的运行原理.
  添加引用
  shdocvm.dll和mshtml.dll这两个库的COM组件名字和他们的dll名字不一样。所以比较难找。
  shdocvm.dll 的COM 组件名字叫" Internet Controls". 添加引用如下Add References-&Com Tab-& Microsoft Internet Controls
  mshtml.dll的COM组件名字叫"Microsoft.mshtml", 添加引用如下Add References-& .NET Tab-&Microsoft.mshtml
  添加完引用后,就可以引用命名空间了
  usingSHDocVw;
  操作IE
  通过shdocvm.dll中的InternetExplorer对象的属性和方法, 比如Height,Width。我们能够操作IE,以便模拟一些用户的操作,比如调整浏览器的大小,刷新页面等。
  staticvoidMain(string[] args) { InternetExplorer IE = newInternetExplorer(); IE.Visible = objectnil = newobject(); stringCnblogUrl = ""; //打开IE并且打开博客园主页 IE.Navigate(CnblogUrl, refnil, refnil, refnil, refnil); Thread.Sleep(3000); //设置IE左上角的位置 IE.Top = 10; IE.Left = 10; //设置IE的高度和宽度 IE.Height = 800; IE.Width = 1000; //导航到主页  Thread.Sleep(3000); stringBaiduUrl = ""; IE.Navigate(BaiduUrl, refnil, refnil, refnil, refnil); //点击后退按钮 Thread.Sleep(3000); IE.GoBack(); //刷新IE Thread.Sleep(3000); IE.Refresh(); //关闭IE Thread.Sleep(3000); IE.Quit();  }
  使用IE develop toolbar 查看HTML DOM
  下节中我们要操作HTML中的元素, 我们先需要知道这些控件的id, 使用IE Develop Toolbar或者firebug可以方便查看控件的id.
  按F12启动IE Develop Toolbar, 或者点击IE工具栏中的Tools-&Develop Tools
  从图中可以看到博客园中的搜索textbox的id是"q"
  操作IE中的HTML元素
  模拟一个在博客园首页进行搜索的场景。 模拟在文本框中输入数据, 然后点击"找找看按钮"。
  我们通过mshtml.dll库里的getElementById()方法获得你要操作的HTML元素的引用。 然后你可以操作这个对象,比如输入值和点击它
  staticvoidMain(string[] args)
  InternetExplorer IE = newInternetExplorer();
  IE.Visible =
  objectnil = newobject();
  stringCnblogUrl = "";
  //打开IE并且打开博客园主页
  IE.Navigate(CnblogUrl, refnil, refnil, refnil, refnil);
  Thread.Sleep(3000);
  //获取DOM对象
  HTMLDocument doc = (HTMLDocument)IE.D
  //博客园主页上的搜索Textbox的id是 "q"
  HTMLInputElement SearchTextBox = (HTMLInputElement)doc.getElementById("q");
  SearchTextBox.value = "小坦克";
  //博客园主页上的"找找看"按钮的id是"btnBloggerSearch"
  HTMLInputElement SearchButton = (HTMLInputElement)doc.getElementById("btnBloggerSearch");
  SearchButton.click();
  运行效果如下:
  源代码下载
  点击这里,请用VS2008以上打开
[ 责任编辑:jj ]
去年,手机江湖里的竞争格局还是…
甲骨文的云战略已经完成第一阶段…
软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。
微信扫一扫
关注Chinabyte自动化测试学习思路建议;一.什么是自动化测试;1)自动化测试(Automationtest)是;测试用例并通过评审之后,由测试人员根据测试用例中;果的比较;2)自动化测试的本质;自动化测试的本质是:用程序测试程序;很多人问:优优老师我学自动化测试,应该去学什么自;语言,以后再去学自动化测试工具自动化测试是一定要;水平的高低,有了扎实的编程技术,干什么都可以;
自动化测试学习思路建议
一.什么是自动化测试
1)自动化测试(Automation test)是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了
测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结
果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
2)自动化测试的本质
自动化测试的本质是:用程序测试程序。 也就是说学习“编程语言”是学习自动化测试的基础。
很多人问:优优老师我学自动化测试,应该去学什么自动化工具。 我的回答是,第一步:应该先学习编程
语言,以后再去学自动化测试工具自动化测试是一定要写代码的, 编程语言水平的高低决定了自动化测试
水平的高低, 有了扎实的编程技术,干什么都可以。学习编程语言时, 要把自己当做开发人员, 系统地学
习各种编程知识。
3)自动化测试分类
自动化测试也有非常多的种类,
对Web UI 的自动化测试程序
对Windows 窗体UI的自动化测试程序
API测试, 比如(测试WCF service, Web API 等)
数据库测试, 比如测试存储过程
接口测试 (这种只能用自动化测)
性能测试, 性能测试都需要用到自动化
二.软件自动化测试的学习步骤:
首先,告诉你自动化测试的基础是
1)编程技巧,包括高级语言和脚本语言,脚本语言是初期的掌握,可以有,tcl、phython、ruby等而高级
语言,要好好学好一门,例如,我是对java为重点。还有,如果你是对web自动化测试的话,那么jsp、php
、HTML、CSS等web语言是必须掌握的。
2)操作系统技巧;因为软件自动化测试是构建在操作系统上的,其技巧需要能善于利用到操作系统的各种
技巧,例如:注册表、环境变量、句柄等。
3)数据库知识,要善于利用数据库知识去存储管理。
4)业务知识,这也是重点。你所在软件行业的软件业务,要知道你的软件的工作方式。
5)质量与流程管理理念。
然后,你的学习步骤
1)可以从工具入手,根据具体的项目去学习;例如:java软件界面测试(RFT、QTP的java插件等)、web界
面测试(QTP、selenium等)、性能测试(RPT、loadrunner等)。但记住,学习其工具,重点不是简单的使
用,而是如何利用工具去扩展。
2)然后,重点学习以上的基础,以编程为重点,其余的结合学习,顺便说一句,其实自动化测试的理念与
软件设计模式理念很像,你可以从中有所领悟。
3)之后,再学习去拓建自己的自动化测试框架,何谓框架,一下说不清楚,我给你推荐一下
注意:如果没有自动化测试方面的实践项目的话,最好先从基础学起,因为基础学好了,自动化测试入门会
4)至于性能测试,也是一样,可以先从工具入手,但不要局限于工具,性能测试最重要的是环境的构建方
法以及对测试结果的分析方法,所以性能测试重点在于分析和实现过程,而不是工具使用过程。
三、再根据你的情况
1)你已经做了1年多的软件测试,那么我不知道你是做的黑盒还是白盒测试,但是既然想到学习自动化测试
,你就首先必须了解它是什么,它能用于什么,不然会很盲目,这点,你可以跟我来探讨
2)自动化测试其实说白了是技术与测试的结合体,最终还是回归到测试和流程的结合管理。所以你已经有
了测试的经验,那么现在你要以技术入手,先以编程入手,去好好的学习一门高级语言和一门脚本语言,高
级语言看你喜好,我是一直在学java(因为其库的丰富性以及资料的完全性),然后脚本学了tcl与python
,我建议你可以弄python,也很强大,先好好的将一门语言学懂,学到自己能写一些程序,能做出一些东西
,那么你再去深入自动化测试将很简单
3)学好一门编程语言,当然你在学习编程语言的过程中会涉及到XML、HTML、数据库、操作系统各种东西,
千万不能因为为了学语言而学语言,学习如何去使用它最重要,可以的话,你可以学学tcp协议
4)OK,大概半年左右你能初步掌握好一门语言了,那么你就可以深入自动化测试工具了,我刚开始是以自
动化测试工具入门的,但是现在发现当你有了编程语言的基础后,入门这个很简单,重点是去学习这些工具
的思想,即这些工具为什么这么做。
5)之后,你就能自己去构建一些自动化测试框架了。
6).......再之后,还有很长一段路,但是现在你能做到以上就是一个很好的阶段了,万事开头难,先学好
编程,你才能走得下去。
四.自动化测试学习的误区
很多新手一开始,就学习复杂的自动化测试工具, 我觉得这样是本末倒置了。
如果不先理解HTTP协议, 就不会理解Jemeter, LoadRunner, Fiddler, SoapUI这些工具的。
如果不先理解HTML,DOM, 就不会理解Firebug 这种工具的
如果不先理解Win32 API,
就不会理解Windows 窗体自动化测试的原理的。
如果自己没有开发过网站, 就不会理解网站的各个方面,测试起来难免有遗漏。
总之学习自动化测试,需要循序渐进, 把基础打好。
五.自动化测试的知识点
应该像开发人员一样的心态去学习技术, 自动化测试需要掌握以下的知识:
了解Javascript, CSS的知识。
熟练掌握DOM和HTML知识, (用来解析Web界面)
熟练掌握XML技术,(需要用XML保存测试数据,用XML展现测试报告)
熟练使用C# P/inoke技术调用Windows API (可以用来操作Winform 窗口)
熟练掌握窗体&句柄&的概念
熟练使用C# 操作Windows 注册表
熟练使用C# 中的Process 类
熟练掌握数据库的基本操作语句 (测试数据库肯定要用到)
熟练掌握HTTP协议的知识 (请参考我的 HTTP系列博客 [HTTP协议详解])
熟练掌握C# 中的HttpWebRequest 类的用法 (用于模拟HTTP请求)
熟练掌握正则表达式
三亿文库包含各类专业文献、外语学习资料、文学作品欣赏、幼儿教育、小学教育、行业资料、应用写作文书、生活休闲娱乐、38自动化测试学习思路建议等内容。 
 12 5 实施管理建议 ......21 第1页 1 前言 1.1 文档目的功能自动化测试方案是为 XXX 系统功能测试...中定位元素的方法, 而 HTML 可以被看作是 XML 的...  意见反馈 | 下载客户端 | 百度首页 | 登录注册新闻...自动化测试推广 自动化思路重要,但是做自动化本身...了一部分自动化,说是效 果甚佳,去学习才发现,他们...  自动化测试方案_IT/计算机_专业资料。自动化测试方案 前言随着软件测试技术的发展,人们已经从最初的纯粹的手工测试转变为 手工与自动化测试技术相结合的测试方法。...  小组都是在回归测试环节开始采用测试自动化的方法。 ...针对改进软件测试过程,我的最后一个建议是改进被测试...测试人 员需要学习如何诊断自动化测试执行失败的情况...  意见反馈 | 下载客户端 | 百度首页 | 登录注册新闻...自动化测试课程设计_工学_高等教育_教育专区。自动化...功能测试的基本思路和方法,学会使用自动化 测试工具 ...  自动化测试方案_计算机软件及应用_IT/计算机_专业资料...备注:ORACLE 实现方法可选:外部表或 sqlLoad 方式...以下有几点优化建议 根据测试 job 的特点,选择合适...  (1)出勤和学习态度:10 分; (2)课设检查:20 分...评审意见(1)测试内容 (2)设计分析 (3)测试开发 ...功能测试的基本思路和方法,学会使用自动化 测试工具 ...  在理论 部分主要讲授:自动化测试的产生、自动化测试的定义和引入、自动化测试工具 的作用及优势、自动化测试脚本、自动化测试生存周期方法学、软件自动化测试 工具...  界面测试的方法要点 2页 2财富值喜欢此文档的还喜欢 自动化测试的7个步骤 17...如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处...“大不可量,深不可测“这是出自《韩非子·主道》的一段话。关于自动化测试也是如此,web系统开发完成,测试人员对页面进行测试,寻找bug。这个过程,需要摸索着前进。
什么是web自动化测试?
就是网页自动化测试。通过软件对web对象进行输入数据,单击等操作,比较预结果和实际结果,包括测试报告。
Web自动化测试原理&&&&&&&&&&&&&&&&&&&&
通过调用IE COM接口和HTML DOM ,用自动化测试工具对IE浏览器以及WEB测试对象的操作。自动化测试框架可以操作Web中的控件,模拟用户输入,点击等操作,实现Web自动化测试。
关于前端自动化测试可以在几个方向进行尝试:
l& 界面回归测试
前端测试最基础的环节,测试界面是否正常;
l& 功能测试&
由于涉及交互,这部分测试比界面测试会更复杂,测试功能操作是否正常,;
l& 性能测试&
页面性能越来越受到关注,并且性能需要在开发过程中持续关注,否则很容易随着业务迭代而下降;
l& 页面特征检测&
有些动态区域无法通过界面对比进行测试、也没有功能上的异常,但可能不符合需求。
Web自动化测试工具
l& Selenium可以说是测试WEB最全面的开源自动化工具,用&Java,C#,PHP,Python等编程语言进行构建。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
l& TestWrite是进行功能性、回归性以及兼容性测试,所支持c#和java语言。不仅可以测试web还可以进行手机端测试。
l& Webdriver是GOOGLE 正在用的自动化测试软件,基于Selenium的一个自动化测试类库。旨在改进Selenium中出现的诸多问题,并且提供了非常易用、可读性很强的API。
QUnit自动化单元测试,包含了qunit.js 作为运行器和测试框架,和qunit.css 文件,座位测试套件页面显示测试结果的样式。
阅读(...) 评论()2627282930311210111215162223262930123456
随笔 - 3936
文章 - 404
评论 - 179
留言簿(52)
阅读排行榜
评论排行榜}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信