自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BenZ_X的专栏

测试自动化研究与学习分享

  • 博客(69)
  • 资源 (4)
  • 收藏
  • 关注

原创 ddddocr运行 ImportError: DLL load failed while importing onnxruntime_pybind11_state: 找不到指定的模块。

ImportError: DLL load failed while importing onnxruntime_pybind11_state: 找不到指定的模块。安装:pip uninstall onnxruntime==1.11.0。1、onnxruntime安装的版本过高与ddddocr不匹配。ddddocr安装时会自动安装依赖库onnxruntime;卸载:pip uninstall onnxruntime。2、VC++ 2019没安装或需要重新安装。下载VC++2019安装后解决;

2024-04-03 14:08:21 548

原创 loadrunner lr 录制代理设置

e、Traffic Forwarding:Allow forwarding to target server from local port 此处端口设置需要与chrome浏览器的代理端口一致。2)Program to record:选择代理工具的地址,C:\Program Files (x86)\HP\LoadRunner\bin\wplus_init_wsock.exe。a、TargetServer:站点的域名或IP,不需要http或https。1、Chrome中设置代理地址和端口。

2024-03-05 14:38:04 395

原创 loadrunner lr解决参数化一次取多条记录【一对多问题】

我们希望的效果是,这个脚本每次迭代时项目GUID取1次,工作项GUID取3次;因为3个工作项的项目GUID相同,所以项目GUID也可以取3次;如果工作项GUID变量在Action中出现不止3次,比如第一个请求中出现3次,第二个请求中又出现3次,那么这么设置就会导致取了6次,即取了6行记录;但是这种情况,只适用于,工作项GUID只在一个请求中出现3次,那么每次出现就换一个值,才能满足以上的设置;即项目GUID取得还是A项目GUID,但是4~6条项目GUID已经是B项目的GUID了;可以采取变量中转方式;

2024-03-05 14:14:36 267

原创 Python+uiautomator2 框架搭建

原本是谷歌的一个自动化java库,后来慢慢发展越来越完善,形成了python-uiautomator2,封装了谷歌的uiautomator测试框架,通过python接口,用它可以很方便的编写python代码来实现app的UI自动化测试。这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示。逍遥模拟器的多开功能比较好用,可以在一个模拟器中设置好环境后,快速复制多个模拟器-模拟器多开;模拟器基本都是免费使用的,大家可以自行去网上下载需要的模拟器;本人常用的就是逍遥和夜神。

2024-01-30 10:03:41 832

原创 UI自动化Selenium BeautifulReport报告中展示用例描述

BeautifulReport安装并运行后,发现用例描述为空NULL;怎么定义每个Testcase的用例描述并展示在报告中呢?当然也可以通过ddt 方式 在Excel中定义好用例描述后,运行时传入beautifulReport中;这种方式后面再做介绍;只需要在每个测试方法第一行加上'''注释内容''' 即可;

2024-01-19 11:25:47 549

原创 UI自动化Selenium 无头模式运行

2、创建参数,并使用无厘头模式创建driver对象。1、导入浏览器参数设置。

2024-01-19 11:00:48 667

原创 UI自动化Selenium BeautifulReport报告嵌入截图

2、因为上面没有图片时,不返回data对象,所以下面需要判断如果有返回图片地址就print到报告中,没有就不print,这样就不会报错了;这里原作者有个设计不太好的点,add_test_img方法传入的图片名称,如果在业务脚本中没有执行截图,就会报错;其实真实的使用场景应该是,不需要传入图片名称的,应该自动生成图片名称并迁入报告中【此方案后续会研究】后续会研究不需要传入图片名称,遇到报错,就自动截图并print到报告中;2、业务脚本中有if判断,有些地方截图根据业务类型不会执行,有的会执行;

2024-01-18 18:18:43 657

原创 UI自动化Selenium BeautifulReport报告样式错乱解决

首先找到依赖的资源地址,通过分析发现BeautifulReport报告生成都是根据一个模板文件,依赖的资源地址配置在模板文件中;有一天开开心心上班,打开我的自动化测试报告,整个人都不好了,出现了让我意想不到的事情——样式错乱、数据出不来;最后打开报告F12查看,发现是报告依赖的js和css文件网络访问不了了;依赖的资源404,找不到了;不足:如果报告发给别人开,别人本地没有资源文件,报告打开还是样式错乱;不足:依赖网络,如果不稳定或者别人环境不能联网,也会出现样式错乱;优势:本地稳定,不再依赖于网络加载。

2024-01-18 11:11:15 605

原创 UI自动化Selenium 页面窗口window定位切换

Selenium自动化,在操作元素时,一定是基于某个窗口这个前提;我们时常在操作时会出现打开新窗口的情况;如点击新增按钮,打开了新增单据的新页面窗口,接下来要录入单据信息时,必须告诉框架切换到新窗口后,才能操作窗口内的元素;甚至还需要在几个窗口之间来回切换,要做到这点,我们就需要提前获得各个窗口的句柄,从而判断当前在哪个窗口,接下来要去哪个窗口;

2024-01-04 10:28:27 685

原创 UI自动化Selenium iframe切换多层嵌套

先进入IframeBig,再进入Iframe2,操作A,退出Iframe2,进入Iframe3,操作元素B,退出Iframe2,操作元素C。标签,作用是文档中的文档,或者浮动的框架(FRAME)。Selenium自动化对iframe的操作无非就是:进入iframe和退出iframe;要操作每一个元素,必须先进iframe;综上所述,iframe多层嵌套时,一定要注意当前位于什么位置,否则就会迷失;简单来说,就像房子内的一个个房间一样;先进入IframeBig,再进入Iframe2,然后操作元素A。

2024-01-04 10:05:40 1035

原创 UI自动化Selenium 显式和隐式等待Wait

都是等待设定的固定时间;不同是,硬等待是只对后一行脚本起作用,隐式等待是全局设置,所有操作都会等待设置的时间后,才操作;举例:如果页面上有 n 个元素的 class 都是’wp’,那么只要有 1 个元素存在,这个方法就返回 True。究其根本原因,就是咱们的应用在运行过程中,因为服务器性能、网络延迟等等原因,导致页面响应或者加载变慢,自动化脚本在操作元素时,元素没有加载完成导致的;因为本身元素可能1s加载完成了,但是设置后,每次都固定等待10s,白白浪费9s时间;智能判断,元素出来了就操作,不出来就等;

2024-01-02 18:00:19 1725

原创 jenkins +jmeter 报告乱码解决

问题:生产报告会乱码的问题,一般是有编码格式引起的。我遇到的问题是,jmeter需要读取csv的数据作为参数。但是我们并不知道csv保存是什么编码格式,有可能不是utf-8的编码格式,所以会导致中文乱码的问题。5.在Windows的环境变量中添加:JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF8,配置好后,重启。4.设置CSV Data Set Config的编码格式(UTF-8)1.选择csv,打开方式为txt文档。3.选择编码格式,保存。

2024-01-02 16:52:34 663

原创 清除Redis缓存和修改redis密码

若指定了内网地址,即输入redis-cli -p 6379 -h 10.5.10.113 -a starship2022!2、打开redis.windows-service.conf文件,搜索requirepass关键字,后面的就是密码;1、redis-cli -p 7901(指定进入端口号为7901的redis数据库)2、清空当前redis数据库缓存FLUSHDB。3、清空整个redis缓存FLUSHALL。1、进入redis服务的安装目录;查看redis服务的密码。

2024-01-02 16:51:19 525

原创 UI自动化Selenium ActionChains鼠标动作-点击、拖动、按压、移动(动作链)

move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置。drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开。send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素。click_and_hold(on_element=None) ——点击鼠标左键,不松开。

2024-01-02 15:16:50 1055

原创 UI自动化Selenium 安装问题定位urllib3 v2.0 only supports OpenSSL 1.1.1+, currently “ ImportError: urllib3 v2.0

出现"urllib3 v2.0 only supports OpenSSL 1.1.1+, currently " ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.1.0h 27 Mar 2018'. 这个错误提示表明,你的代码中使用的urllib3版本与系统中的OpenSSL版本不兼容。

2024-01-02 10:33:10 553

原创 增加mysql用户账号的脚本

dotnet_erp60:为数据库名。autotest:为要添加的账号。

2023-12-22 09:05:11 78

原创 mysql常用命令

启动 service mysqld start 停止 service mysqld stop 重启 service mysqld restart 另外一种方式 mysqld --user=mysql。查看整体资源使用 top 专门查看内存 free -h。8、查询资源使用情况CPU、内存。9、查询某些进程情况。

2023-12-22 09:04:15 419

原创 Mysql 删除重复的数据

- 删除FunctionGUID重复的记录。

2023-12-22 09:03:13 75

原创 Mysql 统计所有表的数据

SELECTFROMWHERE。

2023-12-22 09:02:21 55

原创 每日例会、碰头会如何开?

测试碰头会如何开?1、 对项目组内当前测试情况进行汇报和消息共享;2、 测试Leader对于汇报内容进行审视,并发现问题;(如何审视,详见下面章节)3、 营造和谐的团队氛围;

2023-12-21 16:08:29 296

原创 UI自动化Selenium 元素定位之Xpath

所以我们做ui自动化,必须搞懂xpath,采用相对路径方式;3、通过元素其他属性定位,如class、type、text文本。xpath 博大精深,有各种巧妙的实现方式,关键是要找到dom结构的规律和逻辑,通过更加合理的方式去找到复合自己需要的元素;xpath是通过给定的xpath路径,扫描整个页面dom结构,从而匹配到复合条件的元素,并进行操作;3、公司的data-level=0,也有区域公司的data-level=0,末级公司=1;三步实现,先找到li的父级,再找到旗下所有li,最后取最后一个li即可。

2023-12-21 15:59:13 913

原创 python+request 接口自动化 jwt Token封装实现

Token可以理解为一种特殊的加密密码或者暗号;只有暗号匹配才能通过,否则就是“敌人”;我们在登录XX站点,XX系统都需要输入自己的用户名和密码;但是在接口调用过程中,为了账号加密安全性,不能明文将账号密码放入到请求体或请求头中;所以需要一种加密方式—暗号,这种暗号格式可以自己定义,那么只有“自己人”知道;从而达到加密安全调用和请求对方接口;1、正常输入账号密码的请求过程:1)登录页面登录后,服务端会生成token返回给客户端并缓存;2)后续操作业务页面,会默认带上缓存的token;

2023-12-21 14:40:22 1882

原创 UI自动化Selenium 测试报告BeautifulReport使用及修改

原生报告,因为我使用ddt+unittest数据驱动模式,所以Excel中所有参数都会被拼接出来,导致测试方法里面有太多不需要展示的内容;网上有各种推荐修改方法,大部分是修改BeautifulReport.py文件的,但是我修改后发现最终值显示在用例描述中了,不对;因为在excel中租户号是第二列,ddt中转换为list后,是第二个元素,所以取v数组第二个元素。修改完成后,报告样式如下,测试方法下,我只想展示测试方法及测试了哪个租户字段;想法是,只保留自己需要展示的字段;三、修改后的样式及修改办法。

2023-12-14 10:55:14 510

原创 python+request 接口自动化

一、安装request类库。

2023-12-14 10:50:32 133

原创 UI自动化Selenium 鼠标滑动悬停到指定元素

当调用ActionChains的方法时,不会立即执行,只是将要做的动作安装顺序存放在队列中;当调用perform()方法时,队列中的方法会依次执行;他是按照设计好的动作顺序链式执行;ActionChains执行原理。

2023-12-06 10:25:21 547

原创 UI自动化Selenium 数据驱动读取Excel

下面为具体调用实现:结合unittest框架和ddt数据驱动框架使用。selenium 自动化,希望通过Excel进行数据驱动;即代码自动读取并循环所有数据;如下为Excel读取封装的函数。tuple读取后,存储为键值对。

2023-12-06 10:23:41 385

原创 UI自动化Selenium OCR库:ddddocr识别验证码

一、安装ddddocr。UI自动化Selenium OCR库:ddddocr识别验证码

2023-12-01 08:49:46 838 2

原创 UI自动化Selenium find_elements和find_element的区别

1.返回值类型不同:find_element返回一个WebElement对象,而find_elements返回一个包含多个WebElement对象的列表。# 如果获取的element是list,那么需要用find_elements方法;# 2.查找方式不同:find_element只返回第一个匹配的元素,而find_elements返回所有匹配的元素。# 4.用法不同:find_element用于查找单个元素,而find_elements用于查找多个元素。

2023-12-01 08:38:14 741

原创 04 powershell读写数据库操作

0、执行Invoke-Sqlcmd之前要先注册,执行如下语句:不同的SQLServer版本后面的命令不同,下面是SQLServer2008R2版本。一、模式1:通过平台update进行数据库操作。二、模式2:PS直接执行SQL。

2023-11-23 16:46:10 143

原创 05 Powershell发送http请求

一:发送http请求。

2023-11-23 16:36:37 220

原创 09 powershell远程发送命令

echo "--------------停止服务 ---------------------------------------------------------"echo "--------------重启服务 ---------------------------------------------------------"#2.查看目录下的子项,其中TrustedHosts会列出本机已添加的可信主机IP。#4.再次获取子项时即可看到已添加的主机IP。PS:将所有主机添加为可信主机的方法。

2023-11-23 16:32:22 122

原创 10 Powershell读写xml文件

【代码】10 Powershell读写xml文件。

2023-11-23 16:30:48 171

原创 05 取样器(BeanShell和JSR223 Sampler)

3、JSR223 Sampler:相比于BeanShell 取样器,JSR223取样器+groovy脚本具有可大大提高性能的功能(编译),同时支持更多的脚本语言,其中包括BeanShell脚本,所以在编写脚本时不建议使用BeanShell 取样器;但是这里存在问题,Jmeter中的变量在取样器中不能直接使用,取样器中加工好的数据,Jmeter也不能直接获取到;2)put方法:是将加工处理好的信息,输出Jemter变量中,这样在Jmeter中就可以使用输出的变量值;这样一拉一推,就建立了一个桥梁的作用;

2023-11-22 17:13:22 588

原创 02 请求默认值

一、HTTP请求默认值:是用来管理所有请求共有的协议、网址、端口等信息的;通常情况下,一批量的接口测试,访问的是同一个站点,那么以上信息基本都是相同的,就不需要在每个请求中重复编写;

2023-11-22 17:10:25 144

原创 Jquery 通过class名称属性,匹配元素

("span:contains('定价管理')").parents(".ms-side-mod").hasClass("ms-side-selected")3、希望能通过是否存在【ms-side-selected】class来判断模块是否展开;我们先分析,模块开展和未展开时,dom结构的区别;2、未展开的模块class。

2023-11-17 11:13:31 551

原创 postman查询数据库-Xmysql

如下表示连接成功了postman查询数据库-Xmysql

2023-11-17 11:00:37 549

原创 08 robotframework 修改乱码问题

修改的地方一样,也是将DEFAULT_OUTPUT_ENCODING = 'cp437'修改为 DEFAULT_OUTPUT_ENCODING = 'cp936'将DEFAULT_OUTPUT_ENCODING = 'cp437'修改为 DEFAULT_OUTPUT_ENCODING = 'cp936'目录]\Lib\site-packages\robotide\lib\robot\utils中的encodingsniffer.py。

2023-11-16 09:50:48 133

原创 07 robotframework JS和RFS值传递

/'value' in inputs 判断inputs对象是否存在有value属性,存在返回true,否则False;$("iframe"):获得页面上所有Iframe元素;3、判断对象是否有某属性、判断字符串中是否包含某字符、判断元素的值是否为空。$(this).attr("id"):获得每个数组对象元素ID;a.push():将获得的ID插入到数组中;alert('多项目');return "多项目";alert('单项目');alert('无项目');return "无项目";

2023-11-16 09:40:25 194

原创 06 robotFrameWork+selenium2Library KiLL清理进程

注意:路径中不能有空格和括号,否则bat执行会失败;导致的现象就是进程杀不掉;3、新建的关键字中,调用kill.bat。1、新建bat文件:kill.bat。4、在Setup中调用此关键字。

2023-11-15 17:34:26 204

原创 05 robotFrameWork+selenium2library 一维数组的使用

框架只会认${OneRange},执行结果就将${OneRange} 和 [${Local_I}] 分别赋值了,变成[u'项目1',u'项目2'][0]${Range} Evaluate u'${OneRange}'.split('|') #按分隔符分割为数组。LIST_OneRange = [u'项目1',u'项目2']说明:红色的转换是非常关键一环;OneRange=u'项目1|项目2'

2023-11-15 17:31:17 586

echarts.min.js

echarts.min

2024-01-18

chosen.jquery.js

chosen.jquery

2024-01-18

chrome81.0.4044.138和匹配的chromedriver

selenium web自动化需要的chrome浏览器和对应匹配的chromedriver; 均为81版本,稳定

2023-11-01

jdbc-mysql-connector-j-8.0.31.jar jdbc-sqljdbc41.jar

Jmeter接口自动化,mysql和sqlserver的jdbc驱动,下载后解压,放入jmeter的lib目录即可;

2023-02-08

RFS自动化一键安装包 robot FrameWork Selenium2Library

robot FrameWork Selenium2一键安装包

2014-04-18

双启动菜单恢复工具双启动菜单恢复工具

安装windows Xp后,再安装win7,发现xp启动不了,这时只要用此工具就可以恢复Xp和win7的双引导菜单

2010-12-08

恢复双系统引导菜单工具

一键恢复双系统引导菜单工具 安装windows Xp后,再安装win7,发现xp启动不了,这时只要用此工具就可以恢复Xp和win7的双引导菜单

2010-03-25

FSCaptureSetup52

超好的截图软件,方便截图编辑,边框编辑,图片说明等,欢迎大家下载

2009-11-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除