• 0
  • 0
分享
  • Web自动化测试简介及web自动化测试实战交教程——软件测试圈
  • 恬恬圈 2023-07-13 15:19:01 字数 1832 阅读 934 收藏 0

  一、认识web自动化测试

  1.什么是自动化测试?

  自动化测试的概念:软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。

  2.为什么进行自动化测试?

  自动化测试的好处:

  1)缩短测试周期

  计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度。

  2)避免人为出错测试人员不可能持续高度集中,并且人类易受外界影响(头疼脑热,精神不振),可能会造成人为错误。

  3)测试信息存储自动化测试将测试信息和数据储存在文件中,思路清晰明确,交接方便。

  4)轻易获取覆盖率自动化测试能够解放测试人员,使测试人员能够有更多的精力做那些非重复性的工作。

  5)其他自动化测试可以是实现自动或者定时执行。

  3.自动化测试的分类

  ·整体分类:

  1)自动化功能测试

  2)自动化性能测试

  · 自动化功能测试的分类:

  1)单元测试:程序员搞定

  2)接口测试

  3)功能测试

  · 性能测试主要是使用测试工具

  Loadrunner、Jmeter等,对软件进行压力测试、负载测试等等,因为这些无法用手工进行代替,所以必须自动化。

  为了测试一个web站点的服务能力,需要模拟上千上万的请求(比如打开浏览器访问站点),人的速度是远远达不到这样的操作的。

  大中型项目或长期项目可以采用自动化测试

  4.web自动化条件和使用范围

  · 使用自动化的前提条件

  1)手动测试已经完成,后期再不影响进度的前提下逐渐实现自动化

  2)项目周期长,重复性的工作都交给机器去实现

  3)需求稳定,项目变动不大

  4)自动化测试脚本复杂度比较低

  5)可重复利用

  · 使用自动化测试的场景

  1)频繁的回归测试

  2)冒烟测试

  3)传统行业需求变化不大,应用频繁

  4)性能测试

  5.web自动化常用的工具

  · 常见的自动化web测试工具:

  1)QTP(收费)

  QTP是Mercury公司的QuickTestProfessional的简称,是一种自动测试工具。

  2)Selenium(开源)

  ThroughtWorks一个强大的基于浏览器的开源自动化测试工具,通常用来编写web应用的自动化测试。

  3)RFT(收费)

  IBMRationalTestProfessional的简称,是一款先进的自动化的功能和回归测试工具,使用与测试人员和GUI开发人员,基础是针对Java,.NET的对象计数和基于web应用程序的录制,回放功能。

  二、Xpath定位元素

  1.xpath简介

  Xpath是一种表达式语言(在XML文档中查找信息的语言),它是基于XML的树状结构,可以在整个树中来寻找指定节点,它的返回值可能是节点或者节点集合,由于HTML文档本身就是一个标准的XML页面,因此,我们可以使用Xpath的语法来定位页面元素,Xpath特使爬虫利器。

  2.为什么要学xpath?

  对于web自动化来说,就是模拟操作页面上的各种元素;在操作元素之前需要先找到元素,也就是定位元素;通常情况下,元素定位使用id、name、class、text等可以满足日常大部分定位需求。但是随着自动化的深入,和前端不同框架的要求,会发现上面的定位方式无法解决一些元素定位。尤其是对于这样的一些元素:

  1)没有id、name、class等属性;

  2)id或者是class是动态的;

  3)标签的属性或者文本信息特征没有或者不明显;

  4)标签嵌套复杂,层次太多等。

  3.XML与HTML

1-1.png

  4.节点的概念

  每个XML/HTML的标签我们都称之为节点。

1-2.png

  5.元素定位

1-3.png

  6.xpath的路径表达式

  绝对路径:/html/body/div/div[7]/div[3]/div[1]/div[2]/form/url/li[2]容易受页面改动影响,一般不使用。

  相对路径://*[@id="Header1_HeaderTitle"]推荐使用,表达方式灵活多样。

1-4.png

1-5.png

1-6.png


作者:测试八戒    

来源:http://www.51testing.com/html/51/n-7792451.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 读者提问:面试时被问,你印象中最深刻的 BUG ,举个例子说明一下。该如何回答比较好呢?阿常回答:建议剖析如下类型的 BUG:1、找一些复杂因素导致的棘手问题。2、找一些外因,或者底层逻辑,导致的 BUG。3、找一些,团队一群人,搞了几天才发现的 BUG。4、找一些,对业务影响程度、范围较大的 BUG。「举例」1、某BUG,在测试环境问题,在线上环境也没问题,就固定某几个用户有问题;通过排除法,排除了版本兼容、客户端硬件机型兼容、网络问题 等,最后发现,居然是用户做了某操作导致了连锁问题,复现场景,极其苛刻 。2、某BUG,测试环境没问题,在线上环境,你们测试也没问题,多数客户也没问题,就某用...
            0 0 12210
            分享
          • 1、引言小鱼:小屌丝,你在干啥呢?出去溜达啊。小屌丝:好的,给我10分钟时间,我排查个问题。小鱼:好的, 不着急。小鱼:走啊,再不走 就赶不上2路公共汽车了。小屌丝:鱼哥, 再给我几分钟时间,问题还没定位到呢。小鱼:啥问题啊,这么难定位。小屌丝:就是 有一个慢SQL,但是… 但是 …小鱼:不会不知道 如何定位慢SQL??小屌丝:额… 确实 … 所以…小鱼:我来。2、定位慢SQL关于慢查询, 我想做性能测试的同学最有感触,也最有发言权。一个接口查询20条数据, 命名可以1一秒以内命中, 偏偏搞了30多秒的时间。这有没有一种想翩翩起舞的 冲动。但是,时刻要谨记, 冲动是魔鬼, 所以,切勿冲动。切勿...
            1 0 1361
            分享
          • 一、什么情况下开展接口测试?1、项目处于开发阶段,前后端联调接口是否请求的通;2、有接口需求文档,开发已完成联调(可以转测),功能测试展开之前;3、版本上线前,进行整体回归测试,查看接口是否有异常(如404等)。对准备上线的版本进行抓包,查看服务器地址是都正确;4、版本功能稳定后,接口自动化;5、还可以应用在安全测试,性能测试领域等。二、如何进行接口测试发送http请求来进行测试,首先我们要看请求的方法是什么get、post或者其他请求、之后输入URL地址,比如get请求请求百度。post请求请求登录,post请求一般需要传递参数,所以我们要在body添加登录名和密码返回结果:参数名称,类型,...
            2 1 1553
            分享
          •   前言  性能测试大致分以下几个步骤:  1.需求分析  2.脚本准备  3.测试执行  4.结果整理  5.问题分析  今天要说的是最后一个步骤——“问题分析”。  需求描述  有一个服务,启动时会加载一个1G的词表文件到内存,请求来了之后,会把请求词去词表里做模糊匹配,如果匹配到了就向一个后端服务发送一条http请求,拿回数据之后,返回给客户端的同时,向mysql记录请求的唯一标识和一个请求次数的标记;   其中有几个关键函数 :  ·模糊匹配(fuzzyMatching)   · 后端请求函数(sendingRequest)   · 拼...
            0 0 645
            分享
          •   在谈到软件测试工程师时,许多人还是会想到那些重复使用软件并试图在频繁的操作中发现 BUG的人,也就是人们常说的按照测试规范和测试案例来测试软件,检查软件是否有错误,判断软件是否稳定。但这是一个很老派和错误的观点。  由于以上观念,导致软测试工程师在最初的十年中基本上处于较低的地位,认为测试工程师从事的是技术含量不高、随时可以取代的重复工作。  据调查,国内的软件测试,在互联网刚刚兴起的十多年间被冷眼对待,特别是那些没有配备软件测试人员的中小型软件企业,测试工作往往由开发岗位兼任,通常只进行简单的白盒测试,这种做法在一定程度上等于让用户也充当了测试的角色,造成的后果往往是用户发现一堆问题后进...
            0 0 1275
            分享
      • 51testing软件测试圈微信