Web自动化测试教程
点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快一、自动化测试基本介绍1、自动化测试概述什么是自动化测试一般说来所有能替代人工测试的方式都属于自动化测试即通过工具和脚本来模拟人执行用例的过程。2、自动化测试的作用减少软件测试时间与成本改进软件质量通过扩大测试覆盖率加强测试工作进行手动测试难以完成的、需要更高的成本、更长的计划、更高的质量的任务迭代更新较少但仍需测试人员维护的通过自动化解放人力3、自动化测试的主要应用冒烟测试主业务流程回归测试性能测试兼容性测试 一套测试脚本多个平台执行完成手动测试无法完成的工作下班后无人值守测试4、web自动化实现的目标一原则编写自动化测试用例库根据用例库里面的用例编写测试用例。提高测试效率降低测试成本重复性较强的用例用自动化实现快速的回归测试提高版本发布的速度和质量功能覆盖率达到要求测试具有移植性和可重复性二实施策略持续集成框架的选择环境搭建case编写提取公共模块、提取公共参数、功能逻辑熟悉log输出报告输出Jenkins持续集成定时集成、发送邮件二、Web自动化工具web自动化工具的选择市场上自动化工具分为开源和和商用付费两种下面提供两种类型主流的selenium和QTP对比最终选择seleniumIDEAjavamaventestngjenkins三、Selenium介绍一selenium 测试原理在自动化测试过程中存在三部分组件客户端脚本浏览器驱动浏览器终端。驱动文件以geckodriver.exe为例这个可执行的驱动文件启动后相当于一个暴露了一系列接口的服务器监听某一端口。客户端的操作访问页面定位元素输入数据点击按钮等都是封装成了接口请求eg/session/xx/yy然后提交到驱动服务器。驱动服务器接收到客户端的请求后再跟终端浏览器交互。终端浏览器做出相应操作操作元素、甚至浏览器本身截屏、窗口、安装插件证书。二selenium 工具套件简单介绍Selenium WebDriver面向对象API。Selenium IDE集成开发环境FireFox插件用于提供图形化界面来录制和回放脚本插件只是用来模拟原型的工具并不希望测试工程师使用此工具用来运行大批量的测试脚本。此插件需要使用第三方的javaScript代码库才能支持循坏和条件判断Selenium-Grid可以在多个测试环境以并发的方式执行测试脚本实现脚本的并发执行缩短大量测试脚本的执行时间。四、Selenium WebDriver常用API一 浏览器操作加载浏览器驱动打开页面driver new FirefoxDriver();String baseUrl http://oa2.midairen.com/index.html;driver.get(baseUrl);关闭浏览器driver.close();//关闭浏览器最大化窗口driver.manage().window().maximize();后退到前一页driver.navigate().back();前进到后一页driver.navigate().forward();刷新页面driver.navigate().refresh();获得title并打印String title driver.getTitle();杀掉Windows的浏览器进程当前浏览器窗口截屏比较截屏操作浏览器的cookie二页面操作获取页面的源代码获取页面的URL地址在输入框中清除原有的文字在输入框中输入指定内容单击按钮双击某个元素操作单选下拉列表操作单选框操作复选框检查元素文本内容是否出现执行JS脚本操作iframe中的页面元素操作富文本三元素定位的方法五、TestNG一TestNG基本介绍TestNG是Java中的一个测试框架是一个目前很流行实用的单元测试框架有完善的用例管理模块配合Maven能够很方便管理依赖第三方插件。使用TestNG可以做功能、接口、单元、集成的自动化测试最常见的是结合selenium做功能自动化测试它使用Java注释去写测试方法。测试人员一般用TestNG来写自动化测试开发人员一般用Junit写单元测试TestNG适合测试人员使用的主要原因TestNG更适合复杂的集成测试。二testNG的特点注解TestNG使用Java和面向对象的功能支持综合类测试例如默认情况下没有必要创建一个新的测试来作为每个测试方法的类的实例独立的编译时间测试代码运行时配置/数据信息灵活的运行时配置支持依赖测试方法并行测试负载测试局部故障灵活的插件API支持多线程测试三注解TestNG常用的测试用例组织结构由test Suite-test-测试class-测试方法。Test suite有一个或者多个test组成test由一个或者多个测试class组成一个测试class有一个或者多个测试方法组成。运用不同层级的测试用例时课通过不同注解实现测试前的初始化工作测试用例执行工作和测试后的清理工作。常用注解如下四依赖测试某些复杂的测试场景需要按照某个特定的顺序执行测试用例一以此保证某个特定顺序执行测试用例此测试场景运行需求称为依赖测试。通过依赖测试不同的测试方法间共享数据和程序状态。使用dependsOnMethods参数 实现。Test(dependsOnMethods {testcase1})五断言在执行自动化测试用例的时候我们需要自动判断用例执行完成后获得的输出值是否与预期值一致这个时候就需要用到断言功能。TestNG中提供了一个Assert类org.testng.AsserTestNG中提供了一个Assert类org.testng.Assert类是作为放置一系列断言的静态方法的容器。Assert.assertTrue(select1.isDisplayed());//断言判断select1元素是否在页面存在常用的断言assertTrue判断是否为true。AssertFALSE判断是否为FALSE。AssertNull判断是否为空AssertNoNull判断是否不为空AssetEquals判断是否相等AssertNoEquals判断是否不相等最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。

相关新闻

【电赛】电赛报告注意事项

【电赛】电赛报告注意事项

设计报告

2026/7/3 15:41:44 阅读更多 →
【Linux】—— FTP服务搭建与使用(Ubuntu实操版,适配办公内网)

【Linux】—— FTP服务搭建与使用(Ubuntu实操版,适配办公内网)

【Linux】—— FTP服务搭建与使用(Ubuntu实操版,适配办公内网) 在办公场景中,经常需要实现Windows与Linux(Ubuntu)之间的文件传输,FTP服务因其稳定性、兼容性,成为内网文件共享的首…

2026/7/3 15:41:43 阅读更多 →
艾体宝方案 | 身份与访问管理(IAM)如何强化企业合规性

艾体宝方案 | 身份与访问管理(IAM)如何强化企业合规性

简介本文基于 IBM《2024 年数据泄露成本报告》揭示的全球数据安全现状,系统阐述了身份与访问管理(IAM)在企业合规管理中的核心价值。文章首先剖析了合规与 IAM 的紧密关联,指出 IAM 是实现高水准责任追溯、应对动态合规需求的关键…

2026/7/3 15:41:44 阅读更多 →

最新新闻

基于SpringBoot与PostGIS的云南边境线WebGIS开发实战

基于SpringBoot与PostGIS的云南边境线WebGIS开发实战

1. 项目概述云南边境线WebGIS可视化项目是一个结合地理信息系统技术与现代Web开发框架的实战案例。作为一名长期从事GIS系统开发的工程师,我最近完成了一个基于SpringBoot和PostGIS的云南边境线可视化系统,特别聚焦于中缅边境区域。这个项目不仅具有技术…

2026/7/4 0:54:48 阅读更多 →
拯救者笔记本性能优化终极手册:Lenovo Legion Toolkit完全指南

拯救者笔记本性能优化终极手册:Lenovo Legion Toolkit完全指南

拯救者笔记本性能优化终极手册:Lenovo Legion Toolkit完全指南 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit 你…

2026/7/4 0:52:47 阅读更多 →
化学机器学习实战:分子表征、反应预测与量子化学加速

化学机器学习实战:分子表征、反应预测与量子化学加速

1. 这不是“AI写论文”的噱头,而是化学家手边正在变快的实验加速器“Machine Learning in Chemistry”——这个标题听起来像学术会议上的一个分论坛名称,但如果你最近翻过《Nature Chemistry》《Journal of Chemical Information and Modeling》或者ACS旗…

2026/7/4 0:52:47 阅读更多 →
单调栈题解:栈里存的不是元素,是还没等到答案的位置

单调栈题解:栈里存的不是元素,是还没等到答案的位置

单调栈题解:栈里存的不是元素,是还没等到答案的位置 单调栈是高频题,但很多人背模板背得很痛苦。其实单调栈的核心很简单:栈里存的不是普通元素,而是“还没等到答案的位置”。每来一个新元素,就看看它能不能…

2026/7/4 0:50:47 阅读更多 →
MinIO Windows部署与Java集成实战:从安装避坑到SDK源码级调优

MinIO Windows部署与Java集成实战:从安装避坑到SDK源码级调优

1. 这不是又一个“Hello World”式对象存储教程——MinIO 真正该被理解的起点MinIO 不是另一个需要你花三天配环境、两天调依赖、最后只跑通一个上传接口的玩具项目。它是一套在生产环境里扛住每秒数万次 PUT/GET 请求、支撑 PB 级非结构化数据冷热分层、被全球数千家银行、保险…

2026/7/4 0:50:47 阅读更多 →
如何快速上手智能缠论分析:ChanlunX股票技术分析终极指南

如何快速上手智能缠论分析:ChanlunX股票技术分析终极指南

如何快速上手智能缠论分析:ChanlunX股票技术分析终极指南 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX ChanlunX缠论可视化插件是一款专为通达信用户设计的智能股票分析工具,能够…

2026/7/4 0:46:46 阅读更多 →

日新闻

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 发布:关键安全修复版本,多项问题得到解决

Memcached 1.6.43 正式发布,这是一个关键的安全修复版本,修复了多个方面的问题,还对部分功能进行了优化。 安全修复亮点 此次发布在安全修复上表现突出。binprot 避免了项目引用计数溢出,mcmc 因安全问题提升了上游版本号&#xf…

2026/7/4 0:04:29 阅读更多 →
终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案

终极指南:使用HMCL启动器跨平台畅玩Minecraft的完整解决方案 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL HMCL(Hello Minecraft! Lau…

2026/7/4 0:06:29 阅读更多 →
KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

KMX63与PIC18F66K40在嵌入式HMI中的硬件协同与低功耗设计

1. KMX63与PIC18F66K40的硬件协同架构解析KMX63作为一款三轴加速度计和磁力计组合传感器,与PIC18F66K40微控制器的搭配堪称嵌入式HMI开发的黄金组合。这套硬件组合的核心优势在于KMX63提供的高精度运动感知能力与PIC18F66K40强大的信号处理能力形成了完美互补。KMX6…

2026/7/4 0:06:29 阅读更多 →

周新闻

月新闻