- 博客(61)
- 资源 (2)
- 收藏
- 关注
原创 三、Java-封装playwright UI自动化(一些注解类与工具类的封装,包括定位器,page操作的封装等)
使用Java-playwright封装UI自动化
2025-03-05 22:52:44
142
原创 二、Java-封装playwright UI自动化(根据官网执行步骤,首先封装BrowserFactory枚举类及BrowserManager)
查看,api文档了解到,playwright的基本步骤:1、实例化一个playwright2、启动一个浏览器类型3、打开一个页面所以,在封装时需要有一个浏览器工厂类,定义不同的浏览器类型,在配置文件中指定用例需要使用的浏览器类型,我这里封装的是一个枚举类。
2025-03-05 22:39:15
477
原创 一、Java-封装playwright UI自动化(java properties工具--owner 处理配置信息 )
官网: https://owner.aeonbits.org/github中文翻译: https://github.com/cyfonly/owner-docOWNER API是一个Java库,其目标是在应用程序中最大程度地减少properties文件处理所需代码。在自动化测试中,需要处理Properties属性配置文件,使用owner使得整个开发过程变得更加流畅。
2025-03-03 18:04:08
1139
原创 如何通过图片对比实现自动化断言(Java执行python带传参文件)?
由于实际系统中,UI自动化通过断言元素是否存在不能够满足具体验证要求,需要通过对比预期图片与实际自动化截取图片进行对比,举个栗子以下是我需要通过图片对比进行断言的场景:在地图中显示多个不同的元素,且位置是固定的,如果元素过多每一个进行断言比较麻烦,所以采用这种方式。
2025-03-03 12:48:59
634
转载 maven学习(一)
Maven【[ˈmevən]】这个词可以翻译为"专家",“内行”。作为Apache组织中的一个颇为成功的开源项目,Maven主要服务于基于java平台的项目构建,依赖管理和项目信息管理。 无论是小型的开源类库项目,还是大型的企业级应用;无论是传统的瀑布式开发,还是流行的敏捷开发,Maven都能大显身手。
2023-10-06 19:50:08
185
转载 python从零学习搭建测试平台(三)
自定义一个简单的web框架urls.py文件,路径和要执行的函数的对应关系import viewsurlpatterns = [ # ('/', views.html), # ('/xx.css', views.css), # ('/1.jpg', views.jpg), # ('/xx.js', views.js), # ('/person', views.person), ('/index', views.index),]views.py, 写逻辑def index():
2022-04-17 21:43:19
639
转载 wireshark抓包学习(二)
一、ISO五层模型Frame 125172: 物理层数据帧概况。Ethernet II, Src: 数据链路层以太网帧头部信息。Internet Protocol Version 4, Src: 互联网层IP包头部信息。Transmission Control Protocol, Src Port: 传输层数据段头部信息,此处是TCP协议。Hypertext Transfer Protocol:应用层信息,此处是HTTP协议。二、各层次分析1、物理层的数据帧概况(Frame)Frame 1
2022-04-17 20:40:41
3347
1
转载 python从零学习搭建测试平台(二)
了解CGI、WSGI上一篇已了解WSGI(1)CGI CGI(Common Gateway Interface)通用网关接口,即接口协议,前端向服务器发送一个URL(携带请求类型、参数、cookie等信息)请求,服务器把这个请求的各种参数写进进程的环境变量,比如REQUEST_METHOD,PATH_INFO之类的,然后开启 cgi模块以后,将其发送给CGI程序,CGI程序(可以由各种语言编写,比如C、C ++、VB 和Delphi 等)从环境变量中解析出各种参数,然后向标准输出输出内容(比如co
2022-04-16 21:24:18
599
原创 python从零学习搭建测试平台(一)
web框架与web服务、web应用服务概念概念区分web服务器:负责处理htt请求,响应静态文件,常见的有 Apache, Nginx以及微软的IIs应用服务器:负责处理逻辑的服务器。比如php、 python的代码,是不能直接通过 nginx这种web服务器来处理的,只能通过应用服务器来处理,常见的应用服务器有中uwsgi、tomcat等。web应用框架:一般使用某种语言,封装了常用的web功能的框架就是web应用框架,flask、Django以及Java中的ssH( Structs2+ S
2022-04-16 18:43:53
3867
原创 python队列Queue的详解
Process之间有时需要通信,操作系统提供了很多机制来实现进程间的通信。1. Queue的使用可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示一下Queue的工作原理:#coding=utf-8from multiprocessing import Queueq=Queue(3) #初始化一个Queue对象,最多可接收三条put消息q.put("消息1") q.put("消息2")print(q.ful
2022-04-11 17:47:44
1398
转载 python 进程池pool使用详解
和选用线程池来关系多线程类似,当程序中设置到多进程编程时,Python 提供了更好的管理多个进程的方式,就是使用进程池。在利用 Python 进行系统管理的时候,特别是同时操作多个文件目录,或者远程控制多台主机,并行操作可以节约大量的时间。当被操作对象数目不大时,可以直接利用 multiprocessing 中的 Process 动态生成多个进程,十几个还好,但如果是上百个,上千个目标,手动的去限制进程数量却又太过繁琐,此时可以发挥进程池的功效。Pool可以提供指定数量的进程供用户调用,当有新的请求提
2022-04-11 15:14:05
12094
2
转载 python process模块的使用简介
process模块process模块是一个创建进程的模块,借助这个模块,就可以完成进程的创建。参数介绍:Process(group=None, target=None, name=None, args=(), kwargs={})'''1 group——参数未使用,值始终为None2 target——表示调用对象,即子进程要执行的任务3 args——表示调用对象的位置参数元组,args=(1,2,'egon',)4 kwargs——表示调用对象的字典,kwargs={'name':'egon
2022-04-11 14:08:56
2884
转载 深刻理解Python中的元类(metaclass)
一、理解类也是对象在理解元类之前,你需要先掌握Python中的类。Python中类的概念借鉴于Smalltalk,这显得有些奇特。在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段。在Python中这一点仍然成立:class ObjectCreator(object): passmy_object = ObjectCreator()print my_object#输出:<__main__.ObjectCreator object at 0x8974f2c>但是
2022-04-10 17:51:08
251
转载 HttpRunner3.x 详细学习笔记(二)
第 3 章 辅助函数(debugtalk.py)3.1 参数关联(extract)如何将上个登录接口的返回token,传给下个接口当做请求参数?参数关联场景:1.登录返回token -> 2.下个接口头部传tokenextract 提取变量$token 引用变量一般在提取变量后,需在 config 中 export 导出变量 导出变量的目的是,使他变成全局变量,方便后面步骤调用 (在一个 yml 用例 引用另外一个 yml 用例的时候用得到)3.2 环境变量 .env在自动化测
2021-11-25 18:45:07
841
原创 selenium 复用已有浏览器
Windows:右键谷歌浏览器,找到属性中的查到Chrome浏览器的地址,将其配置到环境变量中配置完成后,在DOS窗口输入start chrome打开Chrome浏览器正常即配置成功chrome --remote-debugging-port=9222Mac:关闭所有的Chrome浏览器窗口,直接执行以下命令即可,成功后,打开localhost:9222即可/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --re
2021-09-03 15:42:32
671
5
转载 linux上安装mysql5.7
在linux上安装mysql5.7一、安装1、更新yum本地缓存yum clean cacheyum makecache2、查看系统中是否已安装mysqlyum list installed | grep mysql3、卸载系统自带的mysql及其依赖(防止冲突)yum -y remove mysql-libs.x86_644、下载wget命令yum install wget -y5、给centos添加rpm源,并且选择比较新的源wget dev.mysql.com/get/
2021-09-02 09:40:36
1192
原创 selenium三种等待方式
为什么需要设置元素等待?因为,目前大多数Web应用程序都是使用Ajax和Javascript开发的;每次加载一个网页,就会加载各种HTML标签、JS文件但是,加载肯定有加载顺序,大型网站很难说一秒内就把所有东西加载出来,不仅如此,加载速度也受网络波动影响因此,当我们要在网页中做元素定位的时候,有可能我们打开了网页但元素未加载出来,这个时候就定位不到元素,就会报错所以,我们需要设置元素等待,意思就是:等待指定元素已被加载出来之后,我们才去定位该元素,就不会出现定位失败的现象了强制等待sleep()
2021-08-24 16:39:49
316
原创 git 重置用户名和密码
git config --global credential.helper osxkeychain然后再次输入用户名和密码再git clone 一下或者push就可以重新登录用户名和密码啦,或者授权
2021-08-24 10:18:49
1088
原创 chromedriver for mac环境变量
chromedriver for mac环境变量首先下载 chromedriver网址如下:1.chrome历史浏览器下载地址:https://www.chromedownloads.net/2.chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html进入环境变量的目录cd /usr/local/binls2to3 pip3 python3-config2to3-3.9 pip3.9 pyth
2021-08-23 22:24:38
1173
1
转载 python反射机制学习
反射机制1.什么是反射机制?反射就是通过字符串的形式,导入模块;通过字符串的形式,去模块寻找指定函数,并执行。利用字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员,一种基于字符串的事件驱动!2.举例介绍引入一个简单例子def f1(): print("f1是这个函数的名字!") s = "f1"print("%s是个字符串" % s)在上面的代码中,我们必须区分两个概念,f1和“f1"。前者是函数f1的函数名,后者只是一个叫”f1“的字符串,两者是不同的事物。我们可以用
2021-08-18 11:33:45
188
转载 windows安装npm教程--nodejs
1、在使用之前,先类掌握3个东西,明白它们是用来干什么的:npm: nodejs 下的包管理器。webpack: 它主要用途是通过CommonJS 的语法把所有浏览器端需要发布的静态资源作相应的准备,比如资源的合并和打包。vue-cli: 用户生成Vue工程模板。(帮你快速开始一个vue的项目,也就是给你一套vue的结构,包含基础的依赖库,只需要npm install 就可以安装。2、nodejs下载网址:https://nodejs.org/en/ 【如果嫌下载的慢,可以下载其他网站上的
2021-05-23 20:29:05
191
转载 appium Capabilities的各个标签
标签概述值automationName使用引擎默认为Appium,其中Appium、UiAutomator2、Selendroid、Espresso用于Android,XCUITest用于iOSplatformName操作系统如iOS、Android、FirefoxOSplatformVersion操作系统版本如7.1,4.4deviceName设备名如iPhone Simulator, iPad Simulator, iPhone Retina 4-...
2021-05-23 20:17:34
184
原创 Windows server 2012 R2 安装PostgreSQL
1、准备工作在Windows下安装部署用C开发的程序( postgresql是C语言开发的),都需要安装Microsoft Visual C++ 2015-2019 Redistributable安装Microsoft Visual C++ 2015-2019 参考:https://docs.microsoft.com/zh-cn/visualstudio/releases/2019/system-requirements首先,查看当前系统的更新历史,有更新。如果没有就需要安装Windows2
2021-03-28 18:29:53
4034
1
转载 在Spring中使用DButils
学习历程2020年的焦虑新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入2020年的焦虑从事测试7年,一直处在一个舒适区,2020年所在行业的衰败,被公司裁员,行业中所谓“年龄危机”,让我陷入一种焦虑中,发现不能再这样下
2021-02-13 22:18:05
279
转载 Windows10&windows server 2012r2作为slave 用jenkins部署微信小程序自动化打包
背景微信小程序的测试发布在没有 CI/CD 等相关工具的情况下,存在着如下的问题:小程序开发助手中,同一个开发者只能显示一个开发版本测试同事、产品经理、UI设计师找开发要二维码,或者本地拉取代码后使用开发者工具打开,不方便且效率较低本地生成的二维码会出现携带本地代码、未及时拉取分支其他改动等问题为了避免如上问题的发生,采用微信小程序集成 Jenkins 的方案。想达到一个效果,开发人员只管往前写代码,提交代码,修改bug。而测试人员就通过jenkins自动打包和部署进行测试开发人员所做的功能和回归
2021-01-18 17:00:20
1095
原创 jmeter分布式压测环境配置
一、准备环境1、一台本地mac (master)2、一台云服务器(slave)3、master及slave的JDK环境均为:1.8版本4、master及slave的jmeter版本均为5.2.1二、(Linux)在线安装jdk以slave压力机的配置举例:执行下面的命令会将安装包下载到当前目录下wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"
2020-12-12 16:20:30
608
转载 数据结构--链表(单链表、双向单链表、单向循环链表)
单向链表单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域 value)和一个链接域(或者称为指针域next)。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。单向链表图示表元素域elem用来存放具体的数据。链接域next用来存放下一个节点的位置(python中的标识)变量p指向链表的头节点(首节点)的位置,从p出发能找到表中的任意节点。链表的基本元素有:节点:每个节点有两个部分,左边部分称为值域,用来存放用户数据;右边部分称为指针
2020-12-05 16:53:58
1266
转载 python中yield的用法详解
首先,如果你还没有对yield有个初步分认识,那么你先把yield看做“return”,这个是直观的,它首先是个return,普通的return是什么意思,就是在程序中返回某个值,返回之后程序就不再往下运行了。看做return之后再把它看做一个是生成器(generator)的一部分(带yield的函数才是真正的迭代器),如果一个函数有yield就不是一个函数了,使用函数名XXX()就不会调用这个函数,而是有一个返回一个对象。好了,如果你对这些不明白的话,那先把yield看做return,然后直接看下面的程序
2020-11-30 20:43:53
133
原创 安装docker
支持以下系统,参考https://docs.docker.com/engine/install/以CentOS上安装Docker-ce(社区版),Docker’s repositories方式安装为例(安装过程很多方法,但大同小异)PS:在新主机首次安装 Docker Engine-Community之前,需要设置Docker仓库,之后可以从仓库安装和更新 Docker。设置仓库,需要安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper
2020-11-02 13:34:37
197
原创 Appium日志分析
打开terminal进入一个路径(将日志文件存放的路径)appium -g 日志文件名称.log | 具体文件夹eg:appium -g appium2.log | logs运行测试脚本eg:ide的报错信息打开appium 搜集的日志文件第1行: 告诉了我们appium 的版本号第3行:该日志文件第4行:开通了一个本地的4723端口,用来监听客户端(我用的是python-appium-client)发来的请求在脚本中我用的是本地的服务,如果appium服务在其他服务器上,
2020-10-10 14:34:06
882
从0开始搭建测试平台-NO.1(远程服务器配置及本地环境搭建) 需要提前创建nacos数据库,执行执行本脚本即可
2025-02-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人