前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >web自动化测试入门篇01——框架选择

web自动化测试入门篇01——框架选择

作者头像
Austin_zhai
修改于 2023-03-05 02:41:01
修改于 2023-03-05 02:41:01
9740
举报
文章被收录于专栏:测试人的日常测试人的日常

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。 📡主页地址:【Austin_zhai】 🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。 💎声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或职场问题欢迎大家私信,有空必回。

阅读目录

1. 目的

  web自动化测试作为软件自动化测试领域中绕不过去的一个“香饽饽”,通常都会作为广大测试从业者的首选学习对象,相较于C/S架构的自动化来说,B/S有着其无法忽视的诸多优势,从行业发展趋、研发模式特点、测试工具支持,其整体的完整生态已经远远超过了C/S架构方面的测试价值。那么接下来我们就来具体说说web自动化测试的前世今生吧。

2. 说明

  此篇中所用的技术栈为Selenium+Python,因其本身编程难度不高,总体思想都是基于面向对象的编程理念,故只要大家的编码语言基础不弱,就完全可以做到平替。

3. 手工测试与自动化测试的区别

  在正式介绍web自动化测试之前,我们先来聊聊手工与自动化之前的一些区别与认知。很多科班或者刚踏上测试行业的同学都会有这么一个认知,自动化测试相较于手工来说技术含量更高,所属岗位的薪资更好,岗位的可替代性也更小。对于这种看法博主只能说一半一半,对于没有什么实际工作经验与实际项目经验的同学来说,即使自动化的技术含量更高,也尽量推荐大家从手工测试开始。大道理就不多说了,对大家来说最实际的就是你的核心竞争力,那对于测试来说测试的核心竞争力是什么呢?业务!一定是业务,但为什么会是业务呢?

  大家设想一下,如果你的技术能力较强,但业务能力一般,即使能写出很高效的代码,但无法贴近产品或者项目的业务,纵使这样,写出来的脚本或者框架也会是无用之物。必须让其他懂业务的同事来帮你审核或者修改,但反过来如果业务理解力强并且对于产品的功能与设计拿捏的比较到位,那无论是测试用例设计或是经验测试都将无往不利,常常可以发现其他人无法察觉的一些产品问题、缺陷甚至于是设计场景上的漏洞。编码是一个硬技能,可以通过大量的练习来磨炼,而业务却不单单是需要理解,更多的情况下是需要去延伸与创新。为什么说测试应该是整个公司内对了解产品与项目的人呢,就是因为他们比任何人都了解其功能的使用,业务场景的匹配,需求的痛点所在,这个甚至需要超过产品经理的理解。所以在一家公司内决定一个测试能在他的道路上走多远的永远不会是技术,而是业务。

  那两者的区别呢,基于上面所说的观点,要做好手工测试,必须满足这四点:1. 业务的理解能力 2. 思维逻辑能力 3. 沟通能力 4. 测试基础能力 , 做不好这四点我敢说你的手工测试能力一定不行。而要做好自动化,除了要做到这上面的四点之外,还需要对自己的代码能力、思维转变、框架设计等一些列的能力进行提升。由此可见,自动化与手工的区别不仅仅在于实现与执行的方式有所不同,两者更是一个循序递进的过程。所以博主还是建议大家如果要做自动化还是最好可以从手工业务测试进行切入。

4. 框架选择

  说到web的自动化测试框架,市面上已经有了很多成熟的测试框架了,比如QTP、selenium、AutoRunner、Robot Framework、watir、RFT等等等等。

  QTP属于比较老牌的自动化测试框架了,在2012年之前使用的团队与公司还是比较多的,脚本也是比较简单易懂的,但另一面的限制也比较大,语言只能支持VBS且费用较高,框架的对象支持灵活度也不够好。

  selenium目前仍为最主流的web自动化测试框架之一,免费开源、支持跨平台,关键是测试执行可以在浏览器中直接运行,模拟用户的真实操作。

  AutoRunner可以支持丰富的技术框架并且使用Java作为脚本语言,支持生态比较完善,采用关键字提醒、关键字高亮、关键字驱动。支持同步点、校验点、参数化,同时支持数据驱动的参数化。比较适合用它来功能测试、回归测试系统测试、构建测试等。

  Robot Framework支持python,支持关键字驱动和数据驱动、自定义关键字,框架内的测试用例可以使用多种格式进行编写,且可以自动生成测试报告,无须像其他软件需要第三方库的支持。

  watir使用ruby作为脚本语言,现在也可以支持跨平台的多个浏览器了,同样作为开源框架,watir相较于selenium就有比较多的限制与短板了,比如无法录制脚本、对js的弹框支持不太友好等。

  RFT是由IBM推出,这是一款不仅仅用来做web自动化测试的框架,他也可以测试 HTML、Java、Windows、.NET、Visual Basic、Silverlight、Eclipse、Siebel、Flex、Ajax、Dojo、GEF 和 PowerBuilder 应用程序。但不是开源的,需要收费,并且支持的对象库也不多,如果是用来学习一下的话还是不错的。

  那么在这些五花八门的框架中如何选择适合自己的测试框架呢?我们可以从两个点进行切入,首先评估自己的能力,擅长什么样的编码语言,甚至是是否有代码基础。针对上述框架的特性,比如没有代码能力的可以优先选择带有脚本录制功能的框架;又比如擅长java的就可以选择对java支持比较好的框架。另一个,就是评估自己的被测对象(产品或项目),被测对象是用什么样的技术栈实现的,页面的变更或迭代的频率与规模等。如果我们的选择标准基于以上的两个方面去进行评估的话,大概率是可以选择到适合自己适合项目或产品的自动化测试框架的。

5. Selenium的工作原理

  在具体的描述Selenium的工作原理之前,我们这里先看一张简单的工作原理图:

  图中的client其实就是我们使用python写的源代码,因为selenium是没有图形界面的,所以将客户端就看成我们用源代码实现的Selenium业务功能即可。

  driver就是我们的webdriver,大家要知道,我们的源代码是无法直接指挥浏览器进行相应的操作的。我们的代码必须通过提供的API来建立起与浏览器之间的通信会话,有了这个会话之后脚本就可以驱动浏览器执行你测试所需的特定业务操作了。

  browser作为浏览器,则是我们最后呈现出业务操作的界面对象,selenium的特点就是可以直接在浏览器中进行操作实现,模拟用户的真实业务动作。而浏览器在接收到代码所模拟的http请求之后会进行解析,将业务所需的特定操作(action)实现在浏览器界面中并对所发出的请求进行响应,告知到请求放操作是否成功。

  概括的来说,整体的流程就是我们所写的代码脚本去调用selenium,再由selenium来调用特定的API对浏览器进行业务操作,浏览器将业务操作的结果告知到脚本或者IDE

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
biztalk 2010 dev版安装小记
曾经以为TFS是微软产品中比较难安装的产品了,当我接触biztalk之后,我承认:我错了! 安装准备: 一、网络环境 要能联网,且速度不能太慢(安装过程中会根据本机情况联机下载一些必备组件) 二、硬件环境 至少双核CPU,C盘空间搞大点(建议不低于60G,我是预留了80G),内存4G以上(最低不少于2G,不然安装的时候等得不耐烦想撞墙时,别说我没提醒你) 三、软件环境 1、安装windows 2008 R2(最好准备一个干净的系统) 2、安装IIS (注:iis安装完以后的默认站点,千万别删除,配置BAM时
菩提树下的杨过
2018/01/22
8910
biztalk 2010 dev版安装小记
VS2008连接CodePlex的源代码管理服务
为了更有效的分享部门的.NET代码,我们决定把一些通用的组件源代码通过CodePlex来托管。CodePlex是MS提供的一个第三方源代码托管服务和开源项目管理网站,只要注册了CodePlex用户或者
用户1177503
2018/02/27
9980
Windows Server 2008 R2 网络负载平衡 (NLB)资料汇总
Windows Server 2008 R2 中的网络负载平衡 (NLB) 功能可以增强 Internet 服务器应用程序 [如在 Web、FTP、防火墙、代理、虚拟专用网络 (VPN) 以及其他执行关键任务的服务器上使用的应用程序] 的可用性和可伸缩性。运行 Windows Server 2008 R2 的单个计算机提供有限的服务器可靠性和可伸缩性能。但是,通过将运行 Windows Server 2008 R2 的其中一个产品的两台或多台计算机的资源组合到单个虚拟群集中,NLB 便可以提供 Web 服务
张善友
2018/01/19
1.1K0
OpenXML 成为 ECMA标准 376
开放式的OpenXML文件格式一直广为关注,昨天一份最终版的格式定义文档在Ecma-International's上出现,这是一个里程碑式的文档,标志着Office的文档格式定型,这里提供资料链接,开发员朋友们请关注.微软于去年向位于日内瓦的业内组织欧洲计算机制造商协会(Ecma International)提出申请,请求批准Open XML为国际通用标准。昨天,欧洲计算机制造商协会宣布,正式批准Open XML为国际通用标准。具体参看Ecma International approves Office O
张善友
2018/01/22
9330
WPF E 文章汇总
MSDN "WPF/E" (codename) Dev Center : http://msdn2.microsoft.com/en-us/asp.net/bb187358.aspx 对网上的WPF/E 文章汇总,前一部分来自思归的WPF/E技术文章,每天整理一些资源. 1。WPF/E 起步 -- Getting Started with "WPF/E" (Code Name) http://msdn2.microsoft.com/en-us/library/bb190632.aspx 讨论了WPF
张善友
2018/01/26
8320
Windows 7 远程服务器管理工具
通过 Windows 7 远程服务器管理工具,IT 管理员可以从运行 Windows 7 的远程计算机上管理安装在运行 Windows Server 2008 R2 的远程计算机上的角色和功能(以及运行 Windows Server 2008 或 Windows Server 2003 的远程计算机上的某些角色和功能)。它支持对运行 Windows Server 2008 R2(使用服务器核心安装或完全安装选项所安装)的计算机进行远程管理,还支持 Windows Server 2008 上的某些角色和功能。
张善友
2018/01/31
7.5K0
Silverlight 3.0 RTM资源
2009年7月11日消息,微软正式发布Silverlight 3,其中在6大方面功能做了改善。 1、平滑视频流技术,也就是H.264编解码器:微软表示其新视频流功能提高了浏览器上的视频质量,已经可以和电视视频相比。 2、数字版权管理:Silverlight 3在数字内容保护上做了提高。内容生产商从发布内容之始就可以跟踪并保护其发布的内容。 3、现场感:Silverlight 3支持更强大的3D显示功能,GPU的硬件支持,新增加的一些功能可以用于图片的深度缩放,现场感更强。 4、可在浏览器之外运行:在2007
张善友
2018/01/29
5180
Visual Studio 2008英文正式版已经发布在MSDN
今天登陆MSDN发现Visual Studio 2008英文正式版已经发布,MSDN订阅者已经可以下载.这次公布的Visual Studio 2008包括所有Team版本,方便开发人员为Windows
张善友
2018/01/31
9620
Visual Studio 2008英文正式版已经发布在MSDN
微软大力支持开放数据协议(OData)
InfoQ有篇文章OData是应用程序协作的通用语言吗?,文章中提到了什么是OData:开放数据协议(OData)是一个查询和更新数据的Web协议。OData应用了web技术如HTTP、Atom发布协议(AtomPub)和JSON等来提供对不同应用程序,服务和存储的信息访问。 文章还提到了微软在开放数据协议OData上的应用,也提到了google采用的Google的数据交换协议:GData (Google Data APIs Protocol),微软在Azure平台上引入了开发代号名为“Dallas”的服务
张善友
2018/01/31
1.3K0
SharePoint Foundation 2010
下图是一张SharePoint 2010基本架构图,它简要的描述出了SharePoint 2010的基本结构。SharePoint Foundation在之前的版本中,被称为Windows Share
张善友
2018/01/22
1K0
SharePoint Foundation 2010
IP-guard V3 安装指南
1.数据库的安装 [版本要求] 数据库使用SQL Server 2000 SP4或SQL Server 2005 SP1或以上版本,如果没有SQL Server可以安装微软提供的免费的MSDE S
py3study
2020/01/08
1.9K0
Windows Server AppFabric安装与步署[通俗易懂]
Windows Server AppFabric正式版已经发布。今天测试一下,把域环境中安装遇到的问题告诉大家,只针对缓存服务这一块,希望大家少走一些弯路。
全栈程序员站长
2022/11/07
1.3K0
AppFabric 版本区分
1, WindowsServerAppFabricSetup_x64_6.1.exe, 2010/12/3 发布的, 不推荐使用,Win10安装后IIS启动失败,
全栈程序员站长
2022/11/03
8990
Silverlight 2 开发环境
第一步安装 Visual Studio 2008 with SP1,这是主要的Silverlight 2 开发环境,可以选择Visual Web Developer 2008 Express Edition with Service Pack 1,它是一个免费的开发工具。 第二步安装SQL Server 2005/2008 Express,这是一个用来开发用的数据库环境,同样也是免费的。 第三步下载安装Microsoft® Silverlight™ Tools for Visual Studio 2008
张善友
2018/01/30
5370
配置SQL Server 2005 Express的Windows和SQL Server身份验证
如何安装SQL Server 2005 Express、SQL Server Management Studio Express,以及配置SQL Server 2005 Express的身份验证方式,启用sa登录名。
阳光岛主
2019/02/19
1.9K0
Microsoft .NET Framework 3.5中文组件包
.NET Framework 3.0 中增加了不少新功能,例如 Windows Workflow Foundation (WF)、Windows Communication Foundation (WCF)、Windows Presentation Foundation (WPF) 和 Windows CardSpace,.NET Framework 3.5 在这些新增功能的基础上增量构建而成。此外,.NET Framework 3.5 还包含若干技术领域中的大量新功能,它们以新程序集的形式添加,以避免重大
张善友
2018/01/31
1.2K0
VI3之vCenterServer配置的
        在Vmware Infrastruacture 3中,vCenter Server起到非常重要的角色。在VMware给出的一些解决方案中,常见的是针对Esx主机高用性的VMware HA等的解决方案,但好像并没有提到如何备份和恢复vCenter Server配置的解决方案。
py3study
2020/01/08
8170
微软推出SQL Server 2005 Report Packs
微软推出八个SQL Server 2005 报表类型,包括了: SQL Server 2005 Report Pack for SQL Server Integration Services Download this set of five predefined reports and a sample database to easily visualize, filter, analyze, and organize Log and Error row data generated by SQL S
张善友
2018/01/29
6290
Silverlight 2 Beta 1学习资源
Silverlight 2 Beta 1发布了,大家都介绍了怎么去下载安装了,晚上整理了一些资料放上来和大家共享: 1、Silverlight 2 Beta 1 控件代码以及单元测试,这是学习设计一个
张善友
2018/01/30
1.2K0
转帖--Windows Phone 7开发环境搭建
下文转自WPmind:Windows Phone 7开发环境搭建     在6月22日我们WPMind组织的Windows Phone 7开发技术线上活动结束后,不少朋友纷纷问道如何搭建Windows Phone 7的开发环境。其实Windows Phone 7的开发环境相比Windows Mobile 6.x的系列来说要简单许多了。     1. 如果您是一个开发人员,您希望使用Silverlight for Windows Phone开发Windows Phone 7上的应用软件,或者是使用XNA Ga
ShiJiong
2018/01/10
7440
相关推荐
biztalk 2010 dev版安装小记
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文