首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
Playwright可以操作应用
2024-11-02
微软出品自动化神器Playwright(Playwright+Java)系列(四) 之 浏览器操作
写在前面 今天是国庆节的最后一天,明天又要上班了,真的是感觉好像才开始放假一样,还是因为失恋没缓过来吗? 我的国庆七天 第1天,当了近半天的司机,陪家人去各大超市去购物,下午在家躺····· 第2-5天,重感冒,鼻涕不止,浑身酸痛乏力,两卷卫生纸下去,鼻子已经废了,真的是躺平了······ 第6天,打嗝不止,干咳.嗓子发炎肿了.鼻子烧了.嗓子基本说不出话了······ 综上,真的这个假期过的好累,算是大病一场吗? 该做点什么 早上6点20醒了,刷了一集<请君>,觉得状态还不错,还是写点东西吧,
微软出品自动化神器【Playwright+Java】系列(五) 之 常见点击事件操作
写在前面 明天就是周五了,这周有那么一两天心情特别不好,真的是做什么都没兴致,所以导致整个人都很丧,什么都不想做. 本打算周一就更新这篇文章的,但由于公司一直加班,每天到家很晚,都是挤时间去学,理解后再输出到博客写出来,所以导致进度就滞后了,真的不是我偷懒,还请一直关注我的小伙伴能够理解. 常见点击事件操作 这部分主要演示的常见点击操作,例如:文本输入.复选框.单选按钮.选择选项.鼠标点击事件等等. 1.输入操作 语法: Locator.fill(value) 使用场景: 文本框.日期/时间.日
playwright自动化项目搭建
这是关于playwright系列介绍的最后一篇.搭建基于 playwright 的自动化项目. GitHub地址: https://github.com/defnngj/playwright-pro 具备功能 关键技术: pylaywright测试库 pytest单元测试框架 pytest-playwright插件 非关键技术: pytest-html插件 pytest-rerunfailures插件 seldom 测试框架 实现功能: 元素定位与操作分离 失败自动截图并保存到HTML报告 失败
探索微软开源Python自动化神器Playwright
相信玩过爬虫的朋友都知道selenium,一个自动化测试的神器工具.写个Python自动化脚本解放双手基本上是常规的操作了,爬虫爬不了的,就用自动化测试凑一凑. 虽然selenium有完备的文档,但也需要一定的学习成本,对于一个纯小白来讲还是有些门槛的. 同时最近被自动化折磨得非常痛苦,为了实现e2e测试,我们花大量的时间来编写e2e代码,同时此类代码也非常不稳定,经常挂掉,这一点来说是非常的不友好的.作为一个"懒人",我肯定不愿意花大量的时间在编写测试上,所以就在互联网上找寻一些可以
【web自动化测试】Playwright快速入门,5分钟上手
我喜欢Playwright! 这是微软开源的一款非常强大的自动化工具,再过几年,他很有可能取代Selenium在浏览器自动化的通知地位.使用过一段时间,我没有找到很好的中文资料可以参考,导致很多问题无法得到及时解决,因此我决定自己记录一下使用的笔记,算是给社区回馈. 开始 这次我想整理一下如何快速搭建Playwright的执行环境,其中有一些坑,我也会记录,以后重新搭环境的时候照着操作就可以了. Playwright 目前支持的编程语言有 JavaScript.Python.Java..NET,
playwright录制脚本
我喜欢Playwright! 这是微软开源的一款非常强大的自动化工具,再过几年,他很有可能取代Selenium在浏览器自动化的通知地位.使用过一段时间,我没有找到很好的中文资料可以参考,导致很多问题无法得到及时解决,因此我决定自己记录一下使用的笔记,算是给社区回馈. 在编写 web 自动化测试用例时,代码编写的速度是否快,会影响框架的使用体验.现在很多的框架都会提供一些辅助功能,帮助我们更快的去编写自动化测试代码,而录制功能是几乎所有的web自动化工具都会带的功能. 在实际操作过程中,有 2 个
微软出品自动化神器Playwright,不用写一行代码(Playwright+Java)系列(一) 之 环境搭建及脚本录制
一.前言 半年前,偶然在视频号刷到某机构正在直播讲解Playwright框架的使用,就看了一会,感觉还不错,便被种草,就想着自己有时间也可以自己学一下,这一想着就半年多过去了. 读到这,你可能就去百度这东西到底是干啥用的? 细心的同学,可能会发现,关于Playwright基于Python语言的博文真的是一搜一大把,相对而言Java却少得可怜. 这不最近又看到某号主,一直在更新关于Playwright基于Python语言的文章,这又再次勾起了我的学习欲望. 要做就做和比人不一样的,那我就写个关于J
关于DOM的操作以及性能优化问题-重绘重排
写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScript)各自想象为一个岛屿,它们之间用收费桥梁连接,ECMAScript每次访问DOM,都要途径这座桥,并交纳"过桥费",访问DOM的次数越多,费用也就越高.因此,推荐的做法是尽量减少过桥的次数,努力待在ECMAScript岛上.我们不可能不用DOM的接口,那么,怎样才能提高程序的效率? 既
Sql Server系列:分区表操作
1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设定的标准划分成区域存储在不同的文件组中,使用分区可以快速而有效管理和访问数据子集. 1.1> 适合做分区表的情况 ◊ 数据库中某个表的数据很多,在查询数据时会明显感觉到速度很慢,这个时候需要考虑分区表: ◊ 数据是分段的,如以年份为分隔的数据,对于当年的数据经常进行增删改查操作,而对于往年的数据几乎
C# ini文件操作【源码下载】
介绍C#如何对ini文件进行读写操作,C#可以通过调用[kernel32.dll]文件中的 WritePrivateProfileString()和GetPrivateProfileString()函数分别对ini文件进行读和写操作.包括:读取key的值.保存key的值.读取所有section.读取所有key.移除section.移除key等操作. 目录 1. ini文件介绍 2. 读取操作:包括读取key的值.读取所有section.读取所有key等操作. 3. 写入操作: 包括保存key的值
js学习笔记:操作iframe
iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求.制作富文本编辑器.历史记录管理.长连接.无刷新文件上传等方面,可参考一下知乎的这个回答:Iframe 有什么好处,有什么坏处?国内还有哪些知名网站仍用Iframe,为什么?有哪些原来用的现在抛弃了?又是为什么?. 今天就总结一下操作iframe的方法,以及平时的一些使用. 知识点汇总 有些事情平时不
jquery和Js的区别和基础操作
jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以,一般用带有min的,是压缩版的,如果还要引用其他js文件的话,一定要juery包在上面,其他的引用放在他下面 先来看看如果使用Juery的话,怎么来引用Juery包 这样来引用,然后就可以用Juery方法了 和js的语法一样,都是写在<script type = "text/javascrip
ASP.NET Aries 入门开发教程7:DataGrid的行操作(主键操作区)
前言: 抓紧勤奋,再接再励,预计共10篇来结束这个系列. 上一篇介绍:ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑 本篇介绍主键操作区相关内容. 1:什么时候有默认的编辑与删除? 只有开启行编辑(且有相应的权限时),才有默认的操作区,并出现编辑和删除图标. var dg = new AR.DataGrid("Article", "Article", "grid"); dg.isEditor = true; ...
如何在高并发环境下设计出无锁的数据库操作(Java版本)
一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Java的Disruptor就是一个很好的例子.如果用java的concurrentCollection类去做,原理就是启动一个线程,跑一个Queue,并发的时候,任务压入Queue,线程轮训读取这个Queue,然后一个个顺序执行. 在这个设计模式下,任何并发都会变成了单线程操作,而且速度非常快.现在的n
【翻译】MongoDB指南/CRUD操作(四)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选择最有效的查询方案.然后每次执行查询时,查询系统使用此查询方案. 查询优化程序仅缓存可能有多种切实可行的方案的查询计划. 对于每一个查询,查询规划者在查询方案高速缓存中搜索适合查询形式的查询方案.如果没有匹配的查询方案,查询规划者生成几个备选方案并在一个实验周期内做出评估.查询规划者选择获胜的方案,
【翻译】MongoDB指南/CRUD操作(三)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近性,分布式查询(Distributed Queries),分布式写操作,模拟两阶段任务提交,在副本集中执行配额读取 1 原子性和事务(Atomicity and Transactions) 在MongoDB中,写操作在单文档级别具有原子性,即使修改一个文档中的多个嵌入式文档也是如此. 当一个写操作修
【翻译】MongoDB指南/CRUD操作(二)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关注),写确认(写关注) 1 更新文档 1.1 更新 MongoDB提供下列方法用于更新一个集合 db.collection.updateOne() 更新使用指定过滤器匹配到的文档,即使过滤器匹配到多个文档,也只会更新一个文档. 3.2版本新增特性. db.collection.updateMany(
【翻译】MongoDB指南/CRUD操作(一)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删除文档. 创建操作 执行创建或者插入操作可向集合中添加文档.如果集合不存在,插入操作会创建此集合. MongoDB提供下列方法向集合中插入文档: db.collection.insert() db.collection.insertOne() 3.2版本新增 db.collection.inser
C# 条形码操作【源码下载】
本篇介绍通过C#生成和读取一维码.二维码的操作. 目录 1. 介绍:介绍条形码.条形码的分类以及ZXing.Net类库. 2. 一维码操作:包含对一维码的生成.读取操作. 3. 二维码操作:包含对二维码的生成.读取操作,以及生成带Logo的二维码. 4. 源码下载:展示运行图及源码下载. 1. 介绍 1.1 条形码 条形码(barcode):是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符. 1.2 条形码分类 可分为一维条形码和二维条形码: 一维条形码:只是在
HTML 事件(四) 模拟事件操作
本篇主要介绍HTML DOM中事件的模拟操作. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流与事件委托 4. HTML 事件(四) 模拟事件操作 目录 1. 模拟事件介绍 1.1 特点 1.2 创建方式 2. 老版本 2.1 创建步骤 2.2 支持的事件类型 2.3 模拟鼠标点击 2.4 自定义事件 3. 新版本 3.1 创建步骤 3.2 支持的事件类型 3.3 模拟鼠标点击 3.4 自定义事件 4. Ex
热门专题
python判断正态分布
nebula-graph单机版部署教程
linux 权限不够
sql server查询一个表是否存在指定的几个字段
vnc如何打开同一个桌面
r语言data.table数据长宽格式的转换
APPLY join 区别
spring boot jpa 更新部分字段
hbase与关系型数据库 优势
linux内核 tcp与tcp校验和计算
wpf datagrid实现复合标题
http.sys remote远程代码执行漏洞
django中多租户
热敏电阻 STM32
sas中retain用法
jmeter爬虫 去除空值
ielfdumparm怎么用
攻防世界 使用stegslove
Unity mask对canvas无效
untiy canvas自适应手机