草庐IT

08.29web自动化测试

qq_57411925 2023-04-08 原文

1.什么是自动化测试

概念:

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

1.2自动化测试的好处: 

(1)缩短测试周期

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

(2)避免认为出错

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

(3)测试信息储存

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

(4)轻易获取覆盖率

        自动化测试能够解放测试人员,使测试人员能够有更多的经历做那些非重复性的工作

(5)其它

        自动化测试可以是实现自动或者定时执行

自动化测试的方向是对的,而且趋势也是如此,但是有些自动化实现不了的还是会手动测一把

1.3自动化测试的分类

1.整体分类:

(1)自动化功能测试

(2)自动化性能测试

2.自动化功能测试的分类:

(1)单元测试

        程序员搞定

(2)功能测试

(3)接口测试

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

3.性能测试主要是使用测试工具

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

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

1.4web自动化条件和使用范围

1.使用自动化的前提条件

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

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

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

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

        (5)可重复利用

2.使用自动化测试的场景

        (1)频繁地回归测试

        (2)冒烟测试

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

        (4)性能测试

1.5web自动化常用的工具

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

        (1)QTR(收费)

                QTR是mercury公司的 quick test professi的简称.是一种自动测试工具

        (2)selenium

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

        (3)RFT(收费)

                ibm rational Test Professional的简称,是一款先进的自动化的功能和回归测试工具,使用与测试人员和gui开发人员,基础是针对java net对象计数和基于web应用程序的录制,回放功能

2.元素的定位

2.0为什么要学习元素定位?

        (1)计算机没有只能到人的程度

        (2)计算机不能像手动测试人员一样通过眼看,手操作鼠标点击,操作键盘输入

        (3)计算机通过一系列计数手段找到元素(按钮,输入框,模拟键盘等)

2.元素定位的工具或手段有哪些?

        (1)css选择器

        (2)xpath

2.1环境及工具

材料:

 firefox35

firebug插件

firepath插件

2.2xpath

1.什么是xpath

xpath即为xml路径语言,它是一种用来(标准通用标记语言的子集)在html/xml的文档中查找信息的语言

2.什么是xml?

xml指可扩展标记语言

xml 是以后只能怪标记语言,类似html

xml的设计宗旨是传输数据,而非显示数据

3.节点的概念

每个xml/html的标签我们都称之为节点

 

 4.xpath使用路径表达式来选去xml文档中的节点或者节点集.这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似. 

 查找某个特定的节点或者包含某个指定的值的节点

 选择未知节点

 选取若干路径

 

 

2.3xml与html

 

2.4css选择器

1.什么是css选择器?

        css中,选择器是一种模式,用于选择需要添加样式的元素.计算机能够通过css选择器定位到相应元素,我们在编写自动化测试脚本的时候是在不断地找到css选择器.

2.css选择器的语法

        (1)通过伪类名,.id  标签名定位

         2)通过元素之前嵌套关系

 

        3)通过属性

 

         4)通过父子关系

  ( ̄▽ ̄)~*------ ٩(๑❛ᴗ❛๑)۶谢谢阅读!!!!!!!!!!!!!

 

有关08.29web自动化测试的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  3. ruby - Ruby 的 Hash 在比较键时使用哪种相等性测试? - 2

    我有一个围绕一些对象的包装类,我想将这些对象用作散列中的键。包装对象和解包装对象应映射到相同的键。一个简单的例子是这样的:classAattr_reader:xdefinitialize(inner)@inner=innerenddefx;@inner.x;enddef==(other)@inner.x==other.xendenda=A.new(o)#oisjustanyobjectthatallowso.xb=A.new(o)h={a=>5}ph[a]#5ph[b]#nil,shouldbe5ph[o]#nil,shouldbe5我试过==、===、eq?并散列所有无济于事。

  4. ruby - RSpec - 使用测试替身作为 block 参数 - 2

    我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere

  5. ruby - Sinatra:运行 rspec 测试时记录噪音 - 2

    Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/

  6. ruby-on-rails - 迷你测试错误 : "NameError: uninitialized constant" - 2

    我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test

  7. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  8. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

  9. ruby-on-rails - 如何使辅助方法在 Rails 集成测试中可用? - 2

    我在app/helpers/sessions_helper.rb中有一个帮助程序文件,其中包含一个方法my_preference,它返回当前登录用户的首选项。我想在集成测试中访问该方法。例如,这样我就可以在测试中使用getuser_path(my_preference)。在其他帖子中,我读到这可以通过在测试文件中包含requiresessions_helper来实现,但我仍然收到错误NameError:undefinedlocalvariableormethod'my_preference'.我做错了什么?require'test_helper'require'sessions_hel

  10. ruby-on-rails - Cucumber 是否只是 rspec 的包装器以帮助将测试组织成功能? - 2

    只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您

随机推荐