Web自动化测试理解

2023-09-20 13:56:14

 最近几天,由于工作需要接触Web自动化测试,所以我从网上找的资料,学习了解,然后自己总结汇总的随笔,如文章中有不足的地方,请大家多多指教;或者文章内容与他人相似,望见谅。

手工测试跟自动化测试区别:
      手工测试:就是由人去一个一个输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤。

      自动化测试:自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

       适用场合:配置和兼容性测试、执行压力测试,软件维护时回归测试。

       自动化可以测试:崩溃、挂起、错误返回值、返回码、 异常和内存使用。

      优点:

可以运行更多更繁琐的测试。自动化的一个明显的好处是可以在较少的时间内运行更多的测试。
对程序的回归测试更方便。  详情说明 :回归测试的动作和用例时完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行,可以极大提高测试效率,缩短回归测试时间。
可以执行一些手工测试困难或不可能进行的测试。详情说明:自动化测试模拟同时有许多用户,从而达到测试的目的
更好地利用资源。
测试具有一致性和可重复性。详情说明:由于测试是自动执行,每次测试的结果和执行的内容一致性是可以得到保障的,从而达到测试的可重复的效果。
测试的复用性。详情说明:由于自动测试通常采用脚本技术,领测认为这样就有可能只需要做少量的甚至不做修改,实现在不同的测试过程中使用相同的用例。
增加软件信任度。详情说明:由于测试是自用执行的,所以不存在执行过程中的疏忽和错误,完全取决测试的设计质量。一旦软件通过强有的自动测试后,软件的信任度自然增加。
       缺点:

不能取代手工测试,有很多需要人脑判断结果的测试用例无法用自动工具实现,或者代价太大。
手工测试比自动测试发现的缺陷更多。
对测试质量的依赖性极大。
测试自动化提高有效性。
测试自动化可能会制约软件开发。由于自动测试比手动测试更脆弱,所以维护会受到限制,从而制约软件的开发。
自动化测试工具     
web自动化测试工具:Selenium/Selenium Webdriver、watir

        详细说明:    Selenium:是一个开源的自动化工具,目前是市场上最受欢迎和广泛应用的工具。同时也是Web应用程序编写的一个验收测试工具,UI功能测试框架;它可以跨越多个操作系统像Windows,Mac和Linux以及浏览器,如Firefox,Chrome,IE。Selenium测试脚本可以用Java,C#,Python,Ruby,PHP,Prel和JavaScript等编程语言编写。

 Selenium IDE是一个用于Selenium脚本的集成开发环境,它以Firefox扩展形式实现,允许您记录,编辑和调试测试,它支持录制和播放,有记录和回放功能。

 Selenium IDE:测试的录制;Selenium Remote Control:编写及运行;Selenum Grid:测试并行处理;Selenum WebDriver:提供了各种语言环境的API来支持更多控制权和编写符合标准软件开发实践的应用程序。

 版本:3个版本,一个叫Selenium—core,Selenium—rc;Selenium—core是使用HTNL的方式编写测试脚本,Selenium—rc是Selenium Remote Control简称,是具体语言来编写测试类的;Selenium RC是Selenium1.0,Selenuim2.0以WebDriver为主,Selenium3.0去掉了Selenium RC,Selenium3.0支持Java 8以上。

        个人理解:Selenium IDE作为Firefox上的插件,提供录制功能;Selenium Remote Control 是一个客户端/服务器,可以在本地或在其他电脑上控制Web浏览器,使用几乎任何编程语言和测试框架,换言之是使用具体语言来编写测试类;Selenium Grid可以远程的控制到并在多个服务器上同时运行测试;Selenium WebDriver可以在本地或远程计算机上驱动浏览器

                                       

性能自动化测试工具:loadrunner、QTP、Jmeter

Selenium 环境配置
Selenium官网:http://www.seleniumhq.org/download/

Selenium自动化测试
Selenium C#学习网址:http://toolsqa.com/selenium-c-sharp/

Selenium自动化测试学习网址:https://testingbot.com/support/getting-started/csharp.html

Watir自动测试

Watir:是一个使用Ruby实现的开源Web自动化测试框架,同时脚本也是Ruby的脚本,所以需要在本机安装Ruby。  

Watir学习网址:https://rubygems.org/gems/watir

 下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

更多推荐

云原生之深入解析K8S集群内的服务通信

一、传统的服务到服务通信Kubernetes支持服务间通信的3个原生k8s对象分别为:ClusterIPService、DNS和Kube-Proxy:在进入Kubernetes生态系统之前,快速了解一下传统的服务到服务通信:通信是通过IP地址进行的,因此为了让服务A调用服务B,一种方法是为服务B分配一个静态IP地址。现

Qt应用开发(基础篇)——菜单 QMenu

一、前言QMenu类继承于QWidget,它提供了一个菜单样式的小部件,用于菜单栏、上下文菜单和一些弹出式菜单。QMenu菜单的选项是可选的,它可以是一个下拉的菜单,也可以是独立的上下文菜单。下拉菜单通常作用于当用户单击相应的项目或按下指定的快捷键时,使用QMenuBar::addMenu()将菜单插入到菜单栏中,菜单

复杂问题问答

复杂问题问答写在最前面复杂问题问答问答系统分类知识图谱现存问题论文1分类写在最前面希望通过了解,找到目标应用场景的方法具体属于哪一个分支,并初步实现通过阅读文献,找到了另一个研究方向,所以这个就先这样吧hh参考[1]冯钧,李艳,杭婷婷.问答系统中复杂问题分解方法研究综述[J].计算机工程与应用,2022,58(17):

设计模式-中介者模式

每次乘坐高铁出行时,我都会像这样一个问题:这么多列车都可能通过这条轨道,会不会存在冲突的可能呢?同样的,飞机的起飞和降落时对于道路的选择也会有冲突的可能。这些情况都会造成可怕的后果,而阻止这种情况发生的就是机场调度中心。飞机在起飞和降落前都会请求机场调度中心,由机场调度中心来负责协调飞机、地面道路、摆渡车辆等。因此,机

剑指offer(C++)-JZ67:把字符串转换成整数atoi(算法-模拟)

作者:翟天保Steven版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处题目描述:写一个函数StrToInt,实现把字符串转换成整数这个功能。不能使用atoi或者其他类似的库函数。传入的字符串可能有以下部分组成:1.若干空格2.(可选)一个符号字符('+'或'-')3.数字,字母,符号,空格

线性代数的本质(十)——矩阵分解

文章目录矩阵分解LU分解QR分解特征值分解奇异值分解奇异值分解矩阵的基本子空间奇异值分解的性质矩阵的外积展开式矩阵分解矩阵的因式分解是把矩阵表示为多个矩阵的乘积,这种结构更便于理解和计算。LU分解设AAA是m×nm\timesnm×n矩阵,若AAA可以写成乘积A=LUA=LUA=LU其中,LLL为mmm阶下三角方阵,主

CodeArts Check代码检查服务用户声音反馈集锦(4)

作者:gentle_zhou原文链接:CodeArtsCheck代码检查服务用户声音反馈集锦(4)-云社区-华为云CodeArtsCheck(原CodeCheck),是自主研发的代码检查服务。建立在华为30年自动化源代码静态检查技术积累与企业级应用经验的沉淀之上,为用户提供代码风格、通用质量与网络安全风险等丰富的检查能

【智慧工地源码】智慧工地助力数字建造、智慧建造、安全建造、绿色建造

智慧工地围绕建设过程管理,建设项目与智能生产、科学管理建设项目信息生态系统集成在一起,该数据在虚拟现实环境中,将物联网收集的工程信息用于数据挖掘和分析,提供过程趋势预测和专家计划,实现工程建设的智能化管理,提高工程管理信息水平,逐步实现绿色建设和生态建设。一、施工现场智能化管理物联网智慧工地通过手机/PAD自动感应或采

Python爬虫

一、保存数据到Excelfrombs4importBeautifulSoup#网页解析,获取数据importre#正则表达式,进行文字匹配importurllib.request,urllib.error#制定URL,获取网页数据importxlwt#进行excel操作importsqlite3#进行SQLite数据库

【案例+源码】数据可视化之统计绘图-Seaborn全套教程

数据可视化-Seaborn简易入门Matplotlib试着让简单的事情更加简单,困难的事情变得可能,而Seaborn就是让困难的东西更加简单。seaborn是针对统计绘图的,一般来说,seaborn能满足数据分析90%的绘图需求。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更

前端JavaScript中requestAnimationFrame:优化动画和渲染的利器

🎬岸边的风:个人主页🔥个人专栏:《VUE》《javaScript》⛺️生活的理想,就是为了理想的生活!目录引言1.requestAnimationFrame简介2.requestAnimationFrame的属性3.requestAnimationFrame的应用场景3.1动画效果3.2游戏开发3.3数据可视化3.

热文推荐