- 博客(576)
- 收藏
- 关注
原创 po是什么?自动化测试po分层如何实现?-带po详细源代码
PO模式(Page Object Model,简称POM)是一种自动化测试设计模式,核心思想是通过分层实现松耦合,提高脚本的复用性和易维护性。PO模式主要分为三层:基础层(BasePage)封装Selenium原生API,PO层负责元素定位和页面操作,测试用例层处理业务逻辑和数据驱动。与非PO模式相比,PO模式将页面元素定位与业务逻辑分离,使得UI元素变更时只需修改PO层,而无需改动业务代码,显著提升了代码的可读性、复用性和维护性。自动化测试框架结合PO模式,通过封装日志处理、配置文件、数据库连接等功能,进
2025-05-19 19:23:27
485
原创 python+pytest接口自动化-请求参数格式的确定
在进行接口测试时,了解请求参数的编码格式至关重要。HTTP请求中,请求主体的编码方式由Content-Type字段指定,常见的编码方式包括application/x-www-form-urlencoded、multipart/form-data、application/json和text/xml。对于GET请求,参数通常以querystringparams格式直接附加在URL后,而在POST请求中,参数则根据Content-Type的不同,以相应的格式放置在请求主体中。在Python中,使用requests
2025-05-19 14:06:01
532
原创 postman接口测试
Postman是一款功能强大的API调试和HTTP请求工具,支持发送各种类型的HTTP请求(如GET、POST、PUT等),并能携带参数和headers。它主要用于测试API接口,这些接口是软件系统不同部分之间的约定,用于数据交互。Postman支持多种返回格式,如JSON、XML和HTML,其中JSON最为常用。使用Postman时,可以创建用例集(Collection)来管理和分类测试请求,便于维护和回归测试。接口测试中,Postman允许用户设置请求参数、headers、body等,并提供断言功能来验
2025-05-18 20:00:00
835
原创 Postman接口测试项目实战
接口测试是验证软件服务接口功能与文档描述是否一致的过程,主要针对前后端分离开发模式中的接口交互。接口测试基于HTTP/HTTPS等协议,模拟客户端向服务端发送请求。B/S架构和C/S架构是两种常见的软件架构模式,各有优缺点。HTTP协议是超文本传输协议,规定了信息传输的格式和方式,常见的请求方法包括GET、POST等。HTTP请求和响应消息结构包括请求行、请求头、请求体和响应行、响应头、响应正文。环境变量用于在不同测试环境间切换,预处理脚本和断言用于测试前后的处理。集合测试可以一次性测试多个接口,提高测试效
2025-05-17 15:57:41
791
原创 自动化测试-ddt数据驱动yaml文件实战(详细)
本文介绍了如何使用ddt库通过YAML文件实现数据驱动测试。ddt.file_data装饰器用于装饰测试方法,参数为文件名,支持JSON和YAML格式。YAML文件的基础格式要求包括大小写敏感、使用空格缩进表示层级关系、#表示注释等。YAML支持的数据类型包括对象、数组和纯量。文章还展示了如何读取和解析YAML文件,并将其转换为Python中的列表或字典。通过实例代码,演示了如何在测试中使用YAML文件中的数据,包括处理列表和字典结构的数据。最后,文章提供了学习资源,帮助读者更好地掌握软件测试技术。
2025-05-16 19:16:54
670
原创 接口测试及常用接口测试工具
接口是程序内部或系统对外交互的桥梁,分为程序内部接口和系统对外接口。程序内部接口用于模块间的交互,如登录与发帖模块的调用;系统对外接口则用于不同系统间的数据共享,如通过API获取外部数据。常见的接口类型包括WebService和HTTP API,分别通过SOAP和HTTP协议传输数据。接口测试是确保系统间交互正确性的关键,涉及数据交换、传递和控制管理。测试工具如Postman和JMeter支持接口测试,通过验证请求和响应参数来确保接口的功能性和安全性。接口测试的重要性在于发现页面操作无法检测的bug,确保系
2025-05-16 14:08:19
933
原创 15:00开始面试,15:06就出来了,问的问题有点变态。。。
文章讲述了作者从一家小公司跳槽到另一家公司后,因公司政策变动导致薪资大幅下降,随后通过朋友内推参加互联网公司面试,却因未能回答关于HTTP转HTTPS测试方案的问题而失败的经历。作者反思后,通过大数据总结出软件测试岗位面试常考的知识点,包括测试理论、Linux、MySQL、Web测试、API测试、App测试、管理工具、Python基础、Selenium、性能测试、计算机网络、组成原理、数据结构与算法、逻辑题及人力资源等16个技术栈。文章最后提到,虽然无法展示全部内容,但希望这些总结能帮助读者在面试前进行有效
2025-05-15 21:53:19
3812
1
原创 Python自动化测试之cookie绕过登录(保持登录状态)
在接口自动化测试或网络爬虫中,绕过用户名/密码或验证码登录是常见需求,尤其是当验证码复杂或频繁登录效率低下时。通过使用cookie机制,可以在首次登录后获取cookie,并在后续请求中携带该cookie以保持登录状态,从而绕过重复登录。cookie的工作原理是服务器在响应头中设置Set-Cookie字段,客户端保存并在后续请求中携带该cookie,服务器通过校验cookie来识别用户身份。本文以博客园为例,展示了如何通过Fiddler抓包获取登录后的cookie,并编写Python脚本利用该cookie请求
2025-05-15 19:29:46
698
原创 实操自动生成接口自动化测试用例
本期内容主要介绍了如何在Eolinker中自动生成接口自动化测试用例,并将API文档的变更同步到测试用例中。首先,用户需要登录Eolinker,在流程测试用例详情页添加测试步骤,并选择从API文档新建API测试,系统会自动关联相应的API文档。对于手动添加的测试用例,用户可以在测试管理界面选择并绑定相应的API。当API文档发生变化时,用户可以在测试步骤的编辑页面点击同步按钮更新测试步骤,或通过批量操作更新多个测试步骤。文章还解释了为什么Eolinker不自动将API文档的变更同步到测试步骤中,主要是为了避
2025-05-15 15:16:48
214
原创 超实用的Web兼容性测试经验总结,建议Mark
兼容性测试是确保Web项目在不同操作系统、浏览器、分辨率及网络环境下正常运行的关键步骤。主要测试类型包括操作系统兼容性(如Windows、Unix、Macintosh、Linux)、浏览器兼容性(如IE、Firefox、Chrome)和分辨率兼容性(如1024×768、800×600)。此外,还需进行网速测试、打印机兼容性测试及组合测试,以全面验证Web应用在各种条件下的表现。虽然兼容性测试不能确保完全无缺陷,但它是项目开发中不可或缺的一环,有助于提高用户体验和系统稳定性。
2025-05-14 19:21:49
874
原创 通过pycharm使用git和github的步骤(图文详解)
在PyCharm中配置和集成Git与GitHub的过程包括设置Git路径、输入GitHub凭据、推送和克隆项目等步骤。通过PyCharm的VCS菜单,可以轻松地将项目分享到GitHub或从GitHub克隆项目。文件状态通过颜色标识:红色表示工作区,绿色表示暂存区,蓝色表示有修改的文件,无色表示已提交到本地或远程仓库。此外,文章还介绍了如何添加、修改和删除Git仓库中的文件,以及如何创建和管理分支,确保代码质量和协作效率。最后,作者分享了软件测试的学习资源,以帮助读者在学习过程中少走弯路。
2025-05-14 14:26:33
448
原创 11:00开始面试,11:08就出来了,问的问题有点变态。。。
文章讲述了作者从一家小公司离职后,进入另一家公司却遭遇薪资大幅下降的经历。随后,作者通过朋友内推参加了一家互联网公司的面试,但在回答关于HTTP改为HTTPS的测试方案问题时表现不佳,意识到自己在软件测试知识上的不足。文章进一步总结了软件测试岗位面试中常见的知识点,包括测试理论、Linux、MySQL、Web测试、API测试、App测试、管理工具、Python基础、Selenium、性能测试、计算机网络、组成原理、数据结构与算法、逻辑题以及人力资源等方面。作者通过这次经历,强调了准备面试时全面复习的重要性,
2025-05-13 20:11:12
863
原创 【软件测试】测试大纲法——测试用例编写
软件测试是确保软件质量的关键环节,而测试大纲法是一种适用于多窗口、多动作场景的测试用例编写方法。本文以手机壳定制功能为例,详细介绍了测试大纲法的步骤:首先列出所有窗口及其动作,然后通过关联图分析窗口间的联系,并据此编写测试用例。通过这种方法,可以避免用例遗漏或冗余,确保测试的全面性和逻辑性。虽然这种方法较为繁琐,但对于严谨的系统来说,严格的分析是必要的。最后,作者分享了一些软件测试的学习资源,希望能帮助读者在软件测试的学习和实践中少走弯路。
2025-05-13 19:13:12
324
原创 接口自动化测试框架搭建
本文介绍了一个基于Maven和TestNG的接口测试框架的实现过程。框架通过XML文件管理测试参数,使用HttpClient封装了HttpUtils工具类进行HTTP请求,并通过TestNG进行测试用例管理和参数化测试。测试报告生成使用了第三方库ReportNG。框架的核心包括XMLUtil工具类读取XML参数、CookieUtil工具类管理Cookie、HttpUtils工具类处理HTTP请求,以及ResponseUtil工具类处理响应数据。测试用例通过XML文件配置,支持多线程执行,并通过Maven进行
2025-05-13 14:56:30
581
原创 如何才能做好单元测试优化?
淘宝用户运营平台团队在单元测试实践中,通过JUnit、JaCoCo和Maven Surefire插件等工具,实现了自动化单测流程和发布卡点校验。在初期,团队通过限制并发解决了因并发导致的测试失败问题,但随着测试用例的积累,单测运行时间过长影响了研发效率。团队深入研究了Surefire插件的配置,通过调整并发参数,在保证测试成功率的同时,显著缩短了单测时间。最终,团队找到了适合的配置组合,实现了单测运行时间与成功率的平衡。此外,团队还提出了通过提高单测代码质量和适当放宽通过率标准来进一步提升效率的思路。这一实
2025-05-12 19:22:20
847
原创 从零到设计 Python+Selenium 自动化测试框架应该如何开始?
本文详细介绍了如何从零开始设计一个完整的Python+Selenium自动化测试框架。首先,确保Python环境和Selenium库已安装。接着,创建项目结构,包括测试用例、页面对象模型、工具类和测试报告目录。然后,编写页面对象模型,封装页面属性和方法。随后,使用unittest模块编写测试用例,并通过命令行执行。最后,使用pytest-html生成HTML格式的测试报告。通过以上步骤,读者可以快速上手Python+Selenium自动化测试框架的设计和实现,并获取相关学习资源以提升技能。
2025-05-12 14:20:58
471
原创 微服务测试如何测试?
本文探讨了微服务测试的重要性、挑战及最佳实践。微服务架构通过将大型应用分解为独立的小服务,提高了系统的灵活性和可扩展性。然而,这种架构也带来了测试的复杂性,如集成测试、网络问题和数据管理等挑战。为确保微服务系统的可靠性和效率,文章提出了一系列最佳实践,包括单独测试每个微服务、使用模拟和存根、自动化测试、混沌工程、容器化、服务集成测试和故障测试。这些实践有助于早期发现问题,减少生产中的故障风险,提高系统的弹性和健壮性。
2025-05-11 20:00:00
802
原创 selenium可以编写自动化测试脚本吗?
Selenium是一种强大的工具,用于编写自动化测试脚本,能够模拟用户与浏览器的交互。使用Selenium的基本步骤包括:1) 安装Selenium库和浏览器驱动程序;2) 使用编程语言如Python或Java编写测试脚本;3) 定位页面元素,如文本框和按钮;4) 执行操作,如点击和输入文本;5) 验证测试结果,确保页面元素和属性符合预期。通过这些步骤,可以创建高效和可靠的自动化测试脚本,以验证网站的功能和交互。此外,不断实践和积累经验对于编写高质量的测试脚本至关重要。
2025-05-10 19:18:58
382
原创 微服务测试是什么?
微服务测试是确保基于微服务的应用程序可靠性和可扩展性的关键步骤。由于微服务架构由多个独立的服务组成,测试过程比传统应用程序更复杂。测试步骤包括确定系统架构、编写测试用例、模拟依赖项、进行自动化测试以及监控和日志记录。微服务测试的挑战包括集成测试、网络问题、数据管理和依赖管理。最佳实践包括单独测试每个微服务、使用模拟和存根、自动化测试、混沌工程、测试数据管理、容器化、测试服务集成和失败测试。通过遵循这些最佳实践,可以提高微服务架构的可靠性、弹性和健壮性。微服务测试对于确保应用程序的持续集成和交付、提高敏捷性和
2025-05-10 14:23:48
455
原创 jmeter+ant+jenkins接口自动化测试框架
本文介绍了如何在Windows系统下,通过整合Jmeter、Ant和Jenkins搭建一套Web HTTP接口测试的持续构建环境。首先,详细说明了Jmeter的安装与配置,包括环境变量的设置和接口调试。接着,介绍了JDK和Ant的安装步骤及环境配置,并详细描述了如何通过Ant调用Jmeter执行接口测试并生成报告。此外,文章还提供了优化测试报告的方法,包括下载优化模板和调整报告输出内容。最后,讲解了Jenkins的安装与配置,以及如何通过Jenkins实现持续集成和自动化测试。整个过程旨在帮助读者构建一个高
2025-05-09 19:20:19
789
原创 使用postman做接口测试
接口测试是验证软件接口功能与描述文档一致性的过程,涉及接口的输入输出及相互逻辑测试。测试流程包括获取接口信息、设计测试用例、发送请求和验证返回结果。以某网站为例,测试鉴权、登录和注销接口时,需通过POST请求获取token,并在后续请求中设置token值。常用断言方法包括验证状态码、响应体包含特定字符串或JSON值。测试过程中,可使用Postman等工具编写断言脚本,并通过console.log()调试输出。此外,分享的软件测试学习资源旨在帮助初学者避免常见学习障碍,提供全面的学习资料支持。
2025-05-09 14:29:24
461
原创 玩转这三款抓包工具,网友说:你是高手
网页的bug调试,其出名的背后有着更“神奇”的功能,有很多网友都知道“Fiddler学的好,牢饭吃的饱”。二、科来(Colasoft Capsa),全名是科来网络分析系统,是国产抓包软件的经典之作,当年靠它搞定了很多的网络故障问题,其人性化的交互界面,适合国人习惯的数据包结构展示,图表分析,节点,协议等,特别是报表功能,可以呈现一份全过程的数据资源,不但可以协助分析,存档,最主要的是向客户演示和解说,通过PPT对比,让客户更能直观去理解。该工具的优秀和强大就不用说了,谁用谁知道!有想法可以评论交流!
2025-05-08 15:21:14
304
原创 10:00开始面试,10:08就出来了,问的问题有点变态。。。
整份文档一共有将近 200 页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!
2025-05-07 20:15:27
952
原创 软件测试之接口文档
在项目期间,前后端是分离开发的,为了前后有连贯性,就必须由前后开发工程师共同定义接口、写接口文档再根据接口文档去开发,一直到项目结束。没有接口文档,想做接口测试的话,自己实践过以下2种方式:1。通过抓包的方式,根据业务流获取到对应的接口,然后整理成相关文档,如果有不清楚的字段,将问题汇总后找开发咨询,然后在进行接口测试。(抓包工具charles)2。可以通过 jmeter 的代理录制功能,将接口逐一录制下来形成接口文档,然后再逐一进行接口测试。
2025-05-06 19:25:59
725
原创 Python测试框架: 封装pytest测试用例
上述代码定义一个登录的前置条件,然后在所有需要登录的测试用例中都调用这个前置条件,就不用在每个测试用例中都编写登录的代码。总之,封装pytest测试用例可以提高测试代码的质量,降低测试过程的复杂度,使自动化测试用例易于维护,从而提高测试效率。框架编写测试用例的过程中,封装测试用例是一个非常重要的技术,本文将介绍如何封装pytest测试用例。不同的测试用例需要复用相同的代码,就需要在每个测试用例中都编写相同的代码,会导致代码冗余。若测试用例需要修改,就需要在多个文件中进行修改,这会增加修改的难度和成本。
2025-05-06 14:34:29
649
原创 用Python的pandas读取excel文件中的数据
hello呀!各位铁子们大家好呀,今天呢来和大家聊一聊用Python的pandas读取excel文件中的数据。
2025-05-05 20:00:00
964
原创 自动化测试之如何搭环境
待测程序的驱动工具(selenium + firefoxdriver) + 测试执行器(unittest) + 编程语言的编译器/解释器(python3.6) + 开发工具IDE(pycharm) + 辅助工具(firebug,firepath)。待测程序的驱动工具(selenium + firefoxdriver) + 测试执行器(testNG) + 编程语言的编译器/解释器(JDK1.8) + 开发工具IDE(Idea) + 辅助工具(firebug,firepath)。Linux下,默认即是命令行。
2025-05-03 20:00:00
1194
原创 Python自动化测试如何自动生成测试用例?
2.配置完测试用例,python请求接口获取测试用例配置的入参(in字段),出参(out字段),in里边的字段是入参,url是点击行为所在的页面,xpath是点击的位置,out里边的字段是出参,url是预期要跳转的页面,xpath是预期页面的标记位置,带text是预期的文案,带class是预期的样式,把用户行为尽量拆分成入参,出参能够表达的行为。以上只是生成测试用例的基础方式,实际操作中你可能需要考虑更多因素,比如复杂的测试场景,测试数据的管理,错误处理等。对于大量的测试用例,你可以使用测试生成器来生成。
2025-04-30 19:26:11
587
原创 软件测试 | 显示等待机制
案例使用的是 “雪球” App。打开雪球App,点击App页面上的搜索框输入框,先在输入框输入 “alibaba”,然后在搜索输入框“联想” 出来的列表里点击“阿里巴巴”项,选择股票分类,获取股票类型为“09988”的股票价格,最后验证价格大于170,核心代码如下(Python版和Java版)。显示等待比隐式等待更灵活,因为显示等待可以等待动态加载的AJAX “ 支持 ” 的元素(AJAX是一种无需重新加载整个网页的情况下,能够通过更新部分网页内容的技术),所以显示等待比隐式等待定位元素更加灵活。
2025-04-30 15:23:49
651
原创 17:00开始面试,17:08就出来了,问的问题有点变态。。。
整份文档一共有将近 200 页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!
2025-04-29 20:14:52
593
原创 构建自动化测试环境:使用Docker和Selenium!
Docker 提供了隔离性和可移植性,可以确保测试环境的一致性,同时提供了方便的部署和扩展能力。2、编写 Dockerfile:在项目根目录下创建一个名为 Dockerfile 的文件,该文件用于定义 Docker 镜像的构建规则和依赖关系。一、Docker 简介 Docker 是一个开源的容器化平台,它可以将应用程序及其依赖打包到一个可移植的容器中,并可以在任意环境中运行。使用 Docker 和 Selenium 构建自动化测试环境,能够有效地改善测试流程,加快软件交付速度,并提高开发团队的整体效率。
2025-04-29 19:15:00
840
原创 【基础】性能测试,从0到实战(手把手教,非常实用)
基于协议来模拟用户发送的请求(业务模拟),对服务器形成一定负载。时间性能空间性能与界面无关工业化的性能测试工具,能支持大量用户,提供详细的报表来提供测试分析的数量支持的协议多使用C语言来编写的优点1.支持用户量大(以万为单位)2.提供精确的报表3.支持ip欺骗缺点1.收费2.体积大3.无法定制存放可执行文件和配置文件jmeter.bat:windows的启动文件jmeter.log:日志文件jmeter.sh:linux的启动文件。
2025-04-29 15:13:30
811
原创 Java单元测试浅析(JUnit+Mockito)
单元测试(1)单元测试环节:测试过程按照阶段划分分为:单元测试、集成测试、系统测试、验收测试等。相关含义如下:1) 单元测试: 针对计算机程序模块进行输出正确性检验工作。2) 集成测试: 在单元测试基础上,整合各个模块组成子系统,进行集成测试。3)系统测试: 将整个交付所涉及的协作内容都纳入其中考虑,包含计算机硬件、软件、接口、操作等等一系列作为一个整体,检验是否满足软件或需求说明。4) 验收测试: 在交付或者发布之前对所做的工作进行测试检验。
2025-04-28 14:32:54
626
原创 Jmeter、postman、python 三大主流技术如何操作数据库?
只要是做测试工作的,必然会接触到数据库,数据库在工作中的主要应用场景包括但不限于以下:功能测试中,涉及数据展示功能,需查库校验数据正确及完整性;例如商品搜索功能自动化测试或性能测试中,某些接口要跑通,需要关联到数据库操作;例如注册接口中短信验证码获取自动化测试中断言处理,除了响应结果的断言,还包括到数据库断言自动化测试或性能测试中,某些场景需批量造数据,可能需要用到数据库造数据测试中,发现bug,需定位bug,可能需要查询到数据库进行定位。
2025-04-27 19:44:34
888
原创 性能压测工具:wrk
简单易懂。green:一般指响应时间95线:P95。平均100%的请求中95%已经响应的时间99线:P99。平均100%的请求中99%已经响应的时间平均响应时间:所有请求的平均响应时间最大响应时间:所有请求中最大的响应时间。
2025-04-27 14:10:35
662
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人