![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自动化测试
文章平均质量分 72
测试开发Kevin
05年开始从事测试工作,擅长性能测试、安全渗透测试、UI自动化测试,接口测试,白盒测试,测开后端,熟悉Java和Python。
展开
-
分享如何通过定时任务调用lighthouse前端测试脚本+在持续集成测试中调用lighthouse前端测试脚本
最近写了个小工具来优化lighthouse在实际工作中的使用,具体实现了:通过定时任务调用前端测试脚本+在持续集成测试中调用前端测试脚本。由于在公司中已经应用,所以就不能提供源码了,这里简单说一下实现思路,希望可以帮助大家!大家也可以通过我提供的实现思路,自己上手写个小工具来提升一下自己的代码能力!原创 2024-05-15 08:59:07 · 855 阅读 · 0 评论 -
详解lighthouse通过命令行方式运行并生成html测试报告的方法
lighthouse可以通过命令行的方式运行并生成html报告,我们可以通过lighthouse --help 命令查看命令行的详细用法,在这里我仅列出最常用的命令行使用方法!原创 2024-05-15 08:53:27 · 597 阅读 · 0 评论 -
详解xlswriter 操作Excel的高级应用conditional_format
在实际工作中我们经常会遇到下面的需求,cell满足某某条件时,进行对应的格式化处理。这时候我们可以使用conditional_format的函数,他允许我们根据特定条件将格式应用于单元格或单元格区域。进而避免通过开发人员使用大量的条件语句来实现Excel中的条件过滤功能。原创 2024-05-14 09:43:38 · 1258 阅读 · 0 评论 -
详解xlsxwriter 操作Excel的常用API
我们知道可以通过pandas 对excel 中的数据进行处理分析,但是pandas本身对格式化数据方面提供了很少的支持,如果我们想对pandas进行数据分析后的数据进行格式化相关操作,我们可以使用xlsxwriter,本文就对xlsxwriter的常见excel格式化方法进行介绍!这里需要强调一下xlsxwriter只支持excel的新建写入操作!(会对原有的同名excel文件进行覆盖)原创 2024-05-14 09:38:59 · 789 阅读 · 0 评论 -
一文教您理解Playwright是如何实现动态等待的
使用过Playwright的同学都会有这样的感受,Playwright对UI页面中元素的识别非常稳定,这离不开其强大的动态等待机制!简单的解释就是,Playwright在对UI页面中的任何元素操作之前,都需要做出一些列的校验工作来确保能够稳定、准确地操控该元素,如果所需的检查未在给定的超时内通过,则操作失败并抛出TimeoutError。原创 2024-04-18 10:46:03 · 490 阅读 · 0 评论 -
一文带您搞定Playwright的trace功能
Playwright提供了一个Playwright Trace Viewer工具来追踪测试执行,这是一个GUI工具,我们可以通过它探索记录的 Playwright 测试跟踪,我们可以看到每个操作使用了哪个定位器,以及每个操作运行所需的时间,也可以在测试的每个操作中前后移动,并直观地查看每个操作期间发生的情况。原创 2024-04-18 10:44:10 · 1405 阅读 · 0 评论 -
详解使用Palywright对网页中状态是disabled元素进行点击的正确姿势
我们使用palywright可以对网页中状态是disabled的元素进行点击,具体方法如下原创 2024-04-17 11:21:06 · 375 阅读 · 0 评论 -
详解playwright各种click操作!包括 单击,双击、右键点击、组件键单击、悬浮、按坐标单击
playwright关于click还提供了很多用法,包括对元素进行单击,双击、右键点击、组件键单击、悬浮、按坐标单击。接下来我们就对这些用法的使用进行逐一讲解。原创 2024-04-17 11:20:06 · 1415 阅读 · 0 评论 -
详解playwright 官方Javascript demo(适合小白)
看到这里很多初涉playwright and 只是简单了解js语法的小伙伴,可能会感到很不爽,因为完全不懂这段js代码的含义,本文我就带大家详细梳理上述js语法的使用细节!!原创 2024-04-16 11:05:15 · 509 阅读 · 0 评论 -
一文读懂Javascript中var、let和const的区别,包括提升hoisting(文章非常简短易懂,适合小白)
在JavaScript中,提到“提升”(hoisting)通常是指变量声明和函数声明的“提升”行为。简单的理解就是无论变量或函数在代码中的位置如何,都会在作用域的顶部被创建。原创 2024-04-15 09:35:45 · 602 阅读 · 0 评论 -
献给想提升编码能力的测试人员,一步步教大家上手Java自动化测试架构设计
文章中每一个重要的知识点都有更为详细的链接文章进行深度解读。文章有点长,建议大家收藏慢慢消化,相信认真阅读过文章的同学一定会有非常大的收获!再次强调,测试同学会编码是刚需,自动化测试是tester入门编码的最佳实践,没有之一!再次强调,测试同学会编码是刚需,自动化测试是tester入门编码的最佳实践,没有之一!再次强调,测试同学会编码是刚需,自动化测试是tester入门编码的最佳实践,没有之一!原创 2023-12-29 16:08:49 · 1272 阅读 · 0 评论 -
友情提示!使用JDK11,如果 maven包含 <scope>test</scope>标签,构建时会出现严重错误
友情提示!使用JDK11,如果 maven包含 <scope>test</scope>标签,构建时会出现严重错误原创 2023-12-29 11:06:11 · 1060 阅读 · 0 评论 -
持续部署中测试非常非常重要,但引入自动化测试往往只需要一行代码(Java系:maven+Junit4实现)
持续部署是一种软件开发策略,方法是将应用的代码变更自动发布到生产环境中。 这种自动化由一系列预定义的测试驱动。 一旦新更新通过这些测试,系统会将更新直接推送到软件的用户。很显然这一过程中测试环节是非常关键的,因为全程无人工干预,只有测试环节通过,才能进入下一环节。这里的测试环节是通过测试脚本来实现的(包括:单元测试脚本+接口测试脚本+UI测试脚本),由于持续部署整个流程太过复杂,往往需要专门的团队负责运维,本文只针对测试这一环节进行讲解,注重流程梳理,忽略具体实现细节。原创 2023-12-28 14:41:56 · 989 阅读 · 0 评论 -
解决selenium升级到版本 4.16后出现的问题: org/openqa/selenium/WebDriver 编译环境是55.0(jdk11),而运行环境为52.0( jdk8 )
最近升级了selenium到版本 4.16.1, 持续集成测试,执行mvn test时遇到问题如下java.lang.UnsupportedClassVersionError: org/openqa/selenium/WebDriver has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recogn原创 2023-12-28 11:10:42 · 3244 阅读 · 2 评论 -
Eclipse 转IDEA的小伙伴看过来,告诉大家在IDEA中如何快速配置和运行Maven!
很多新从Eclipse 转入IDEA的小伙伴在执行Maven项目时,可能在IDEA中找不到maven配置和运行相关的入口,本文就带大家快速了解相关用法。原创 2023-12-27 11:02:16 · 472 阅读 · 0 评论 -
解决:File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!提示说明,没有使用UTF-8的格式原创 2023-12-27 10:52:59 · 662 阅读 · 0 评论 -
告诉您自动化测试架构的设计思路以及必须掌握的两点内容
不同的框架会有不同的实现表达形式,也会提供不同的额外功能来满足不同的测试需求,但是灵魂的东西都是一样的,总结起来就是以下四点:约定测试用例的编写规则;校验用例通过与否的方法(断言);批量运行用例通过测试报告查看测试结果;原创 2023-12-25 17:32:58 · 1234 阅读 · 0 评论 -
自动化测试架构设计必会知识点——对核心业务进行封装复用(附Java源码)
随着UI自动化测试工具可选性越来越多,工具也越来越稳定,前几年关于自动化测试架构设计的概念逐渐淡化,但是做自动化测试最重要的两点—— PO设计模式和核心业务的封装复用大家还是必须掌握的原创 2023-12-23 14:58:11 · 1014 阅读 · 0 评论 -
福音!Selenium使用WebDriverManager以后,再也不用被浏览器driver与浏览器版本不匹配的问题折磨了!
相信做selenium自动化测试开发的同学会经常遇到类似的问题:警告: The chromedriver version (114.0.5735.90) detected in PATH at D:\webdriver\chromedriver.exe might not be compatible with the detected chrome version (120.0.6099.110); currently, chromedriver 120.0.6099.109 is recommende原创 2023-12-22 14:29:26 · 2543 阅读 · 0 评论 -
敲黑板!使用Java编写Selenium脚本的同学请注意,Selenium宣布2023年9月30日停止支持Java 8!
由于我目前都是使用playwright实现ui自动化测试的相关工作,好久没有关注Selenium了,最近看到这样的消息:Selenium宣布2023年9月30日停止支持Java 8原创 2023-12-22 09:35:48 · 2062 阅读 · 0 评论 -
如果你始终不理解Java动态代理的设计目的,建议您来看看!
动态代理类的源码是在程序运行期间由JVM根据反射等机制动态的生成,所以不存在代理类的字节码文件。代理类和委托类的关系是在程序运行时确定原创 2023-12-21 16:20:29 · 1087 阅读 · 0 评论 -
一文读懂Java中的设计模式——代理模式,以翻译场景举例,特别通俗易懂!
在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。目的:为其他对象提供一种代理以控制对这个对象的访问。原创 2023-12-21 11:20:22 · 654 阅读 · 0 评论 -
一文告诉您playwright截屏的高级用法,包括具体元素截屏和截长屏
您知道playwright截屏的一些高级用法吗?比如说如何对页面中的某个元素进行截屏以及如何截取长屏,今天就带大家了解相关知识点,相信在自动化测试中一定会帮助到大家!原创 2023-12-20 09:41:36 · 1985 阅读 · 2 评论 -
告诉你playwright 不使用with sync_playwright() as编写脚本的新方法
with sync_playwright() as 是python中的重要知识点上下文管理器(context manager)。上下文管理器用于规定某个对象的使用范围。一旦进入或者离开该使用范围,会有特殊操作被调用,它的语法形式就是with...as...原创 2023-12-20 09:04:32 · 1014 阅读 · 3 评论 -
playwright进阶问题,with sync_playwright() as p中的p是什么类型您知道吗?
到这里真像大白!我们得知with sync_playwright() as p 中的这个p 是类Playwright的实例。原创 2023-12-19 16:02:48 · 1204 阅读 · 0 评论 -
Python3.5 中->,即横杠和箭头,用来表示函数的返回值类型
最近在看playwright的源码,在看sync_playwright()方法的源码时发现一个特殊的语法-> 即横杠箭头,跟据如下源码猜测它应该是一个说明函数返回值类型的标识原创 2023-12-19 15:26:25 · 609 阅读 · 0 评论 -
绝对干货!自动化测试PO设计模式的进阶实现(附源码),适合想提升编码能力的测试同学
本文阅读的前提:同学们知道如何进行Selenium自动化测试并了解什么是PO设计模式!对于代码基础较弱的测试同学希望多读几次文章并上手操作,这篇文章看懂后,大家的编码能力就会进步了!代码哪里不懂欢迎留言!原创 2023-12-18 14:51:20 · 420 阅读 · 0 评论 -
一文读懂Java中的设计模式——适配器模式,对于兼容不同系统特别适用!
适配器(变压器)模式:这种模式的核心是当你想实现一个接口但又不想实现所有接口方法,只想去实现一部分方法时,就用默认的适配器模式,他的方法是在接口和具体实现类中添加一个抽象类,而用抽象类去空实现目标接口的所有方法。而具体的实现类只需要覆盖其需要完成的方法即可。原创 2023-12-15 11:11:58 · 387 阅读 · 0 评论 -
一文读懂Java中的设计模式——单例模式!默认情况下,Spring的Bean就是单例的
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式只应在有真正的“单一实例”的需求时才可使用。原创 2023-12-15 10:56:18 · 920 阅读 · 0 评论 -
一文读懂Java中的设计模式——模板方法,给大家的代码添点料!
模板设计模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。原创 2023-12-14 11:13:34 · 926 阅读 · 0 评论 -
一文读懂Java中应用最广泛的策略模式
策略模式是应用最为广泛也是最基础的设计模式。策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个类或者抽象类(可有可无,属于辅助类),提供辅助函数。原创 2023-12-14 10:57:27 · 879 阅读 · 0 评论 -
无论您用selenium、appium还是playwright都必须使用PO设计模式
随着UI自动化测试工具越来越稳定,前几年关于自动化测试架构设计的概念逐渐淡化,但是架构中最有用的PO设计模式思想依然需要刚入门自动化测试领域的小白深刻掌握,本文就带大家理解什么是PO设置模式以及对其优化的具体方案。原创 2023-12-13 17:00:27 · 644 阅读 · 0 评论 -
详解如何使用VSCode搭建TypeScript环境(适合小白)
因为TypeScript不能直接在浏览器上运行。它需要编译器来编译并生成JavaScript文件。所以需要首先安装好javascript环境,可以参考文章原创 2023-11-27 16:02:51 · 5291 阅读 · 0 评论 -
Typescript和Javascript的区别是什么?一文带您了解Typescript排名飙升的原因!
看见了github上2023年编程语言的排行榜,Java竟然被typescript挤出了前三!Javascript的登顶得益于node.js的出现,使js实现了在前后端的技术栈统一。那typescript为何又能在三足鼎立中占据一席之地呢?本文就对typescript进行一下概要介绍,本文并未涉及typescript的具体语法,注重分析Javascript和typescript的区别于联系,更适合小白了解到底什么是Typescript,我们为何选Typescript。原创 2023-11-27 15:37:36 · 493 阅读 · 0 评论 -
详解使用asyncio实现playwright并发操作(复制源码即可运行)
我们可以使用asyncio来解决palywright中并发的问题,asyncio即Asynchronous I/O是python一个用来处理并发(concurrent)事件的包,是很多python异步架构的基础,多用于处理高并发网络请求方面的问题。原创 2023-11-20 11:22:11 · 634 阅读 · 0 评论 -
详解Python中单引号双引号三引号的用法(适合小白)
python 中单引号和双引号都是用来表示字符串,在一般情况下两者没有任何差别,在编码时统一规则即可原创 2023-11-13 10:55:47 · 540 阅读 · 0 评论 -
遇到了别感到奇怪!这其实是python的三目运算!
而在Python中的三目运算并无 ?和:的表达式这种形式。Python的三目运算符也被称为三元运算符,是一种简洁的条件表达式,即我们熟知的if else,用于在满足条件时返回两个不同的值之一。原创 2023-11-13 10:00:34 · 190 阅读 · 0 评论 -
干货!分享Nginx搭建web测试报告服务器的落地方案
有这样一个需求:把自动化测试过程中生成的html测试报告能够通过浏览器直接访问查看!实现思路很简单,就是部署一个web服务器,然后把测试报告部署到web服务器的指定目录即可,然后通过http://ip:port/path/报告名称.html 的形式进行访问。我们通过nginx可以轻松实现这个需求!原创 2023-10-26 13:42:59 · 170 阅读 · 0 评论 -
Python高频面试题——如何在字符串中删除指定字符,掌握strip()、replace()和re.sub ()正确使用方法!
关于python删除字符串是面试python测试开发工程师的一个经典问题。问题很简单,但是一下子就能测试出来被面试者是否能够熟练的进行python相关编码工作!原创 2023-10-20 14:48:02 · 1407 阅读 · 1 评论 -
Python高频面试题——如何实现列表去重
在招聘Python自动化测试岗位面试时,最常问的一个编码实战问题就是:一个包含多个值的列表,但存在重复值,如何实现去重?当然大家也可以结合实际业务情况进行提问,例如:统计今天有多少个不同的用户使用了系统等等,这样更能看出被面试的同学是不是在背题目原创 2023-07-13 14:05:38 · 433 阅读 · 0 评论