- 博客(72)
- 资源 (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 2531
原创 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 754
原创 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 398
原创 Python+uiautomator2 框架搭建
原本是谷歌的一个自动化java库,后来慢慢发展越来越完善,形成了python-uiautomator2,封装了谷歌的uiautomator测试框架,通过python接口,用它可以很方便的编写python代码来实现app的UI自动化测试。这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示。逍遥模拟器的多开功能比较好用,可以在一个模拟器中设置好环境后,快速复制多个模拟器-模拟器多开;模拟器基本都是免费使用的,大家可以自行去网上下载需要的模拟器;本人常用的就是逍遥和夜神。
2024-01-30 10:03:41 1070
原创 UI自动化Selenium BeautifulReport报告中展示用例描述
BeautifulReport安装并运行后,发现用例描述为空NULL;怎么定义每个Testcase的用例描述并展示在报告中呢?当然也可以通过ddt 方式 在Excel中定义好用例描述后,运行时传入beautifulReport中;这种方式后面再做介绍;只需要在每个测试方法第一行加上'''注释内容''' 即可;
2024-01-19 11:25:47 657
原创 UI自动化Selenium BeautifulReport报告嵌入截图
2、因为上面没有图片时,不返回data对象,所以下面需要判断如果有返回图片地址就print到报告中,没有就不print,这样就不会报错了;这里原作者有个设计不太好的点,add_test_img方法传入的图片名称,如果在业务脚本中没有执行截图,就会报错;其实真实的使用场景应该是,不需要传入图片名称的,应该自动生成图片名称并迁入报告中【此方案后续会研究】后续会研究不需要传入图片名称,遇到报错,就自动截图并print到报告中;2、业务脚本中有if判断,有些地方截图根据业务类型不会执行,有的会执行;
2024-01-18 18:18:43 805
原创 UI自动化Selenium BeautifulReport报告样式错乱解决
首先找到依赖的资源地址,通过分析发现BeautifulReport报告生成都是根据一个模板文件,依赖的资源地址配置在模板文件中;有一天开开心心上班,打开我的自动化测试报告,整个人都不好了,出现了让我意想不到的事情——样式错乱、数据出不来;最后打开报告F12查看,发现是报告依赖的js和css文件网络访问不了了;依赖的资源404,找不到了;不足:如果报告发给别人开,别人本地没有资源文件,报告打开还是样式错乱;不足:依赖网络,如果不稳定或者别人环境不能联网,也会出现样式错乱;优势:本地稳定,不再依赖于网络加载。
2024-01-18 11:11:15 682
原创 UI自动化Selenium 页面窗口window定位切换
Selenium自动化,在操作元素时,一定是基于某个窗口这个前提;我们时常在操作时会出现打开新窗口的情况;如点击新增按钮,打开了新增单据的新页面窗口,接下来要录入单据信息时,必须告诉框架切换到新窗口后,才能操作窗口内的元素;甚至还需要在几个窗口之间来回切换,要做到这点,我们就需要提前获得各个窗口的句柄,从而判断当前在哪个窗口,接下来要去哪个窗口;
2024-01-04 10:28:27 829
原创 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 1382
原创 UI自动化Selenium 显式和隐式等待Wait
都是等待设定的固定时间;不同是,硬等待是只对后一行脚本起作用,隐式等待是全局设置,所有操作都会等待设置的时间后,才操作;举例:如果页面上有 n 个元素的 class 都是’wp’,那么只要有 1 个元素存在,这个方法就返回 True。究其根本原因,就是咱们的应用在运行过程中,因为服务器性能、网络延迟等等原因,导致页面响应或者加载变慢,自动化脚本在操作元素时,元素没有加载完成导致的;因为本身元素可能1s加载完成了,但是设置后,每次都固定等待10s,白白浪费9s时间;智能判断,元素出来了就操作,不出来就等;
2024-01-02 18:00:19 1866
原创 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 735
原创 清除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 752
原创 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 1445
原创 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 864
原创 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 452
原创 每日例会、碰头会如何开?
测试碰头会如何开?1、 对项目组内当前测试情况进行汇报和消息共享;2、 测试Leader对于汇报内容进行审视,并发现问题;(如何审视,详见下面章节)3、 营造和谐的团队氛围;
2023-12-21 16:08:29 664
原创 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 1121
原创 python+request 接口自动化 jwt Token封装实现
Token可以理解为一种特殊的加密密码或者暗号;只有暗号匹配才能通过,否则就是“敌人”;我们在登录XX站点,XX系统都需要输入自己的用户名和密码;但是在接口调用过程中,为了账号加密安全性,不能明文将账号密码放入到请求体或请求头中;所以需要一种加密方式—暗号,这种暗号格式可以自己定义,那么只有“自己人”知道;从而达到加密安全调用和请求对方接口;1、正常输入账号密码的请求过程:1)登录页面登录后,服务端会生成token返回给客户端并缓存;2)后续操作业务页面,会默认带上缓存的token;
2023-12-21 14:40:22 2076
原创 UI自动化Selenium 测试报告BeautifulReport使用及修改
原生报告,因为我使用ddt+unittest数据驱动模式,所以Excel中所有参数都会被拼接出来,导致测试方法里面有太多不需要展示的内容;网上有各种推荐修改方法,大部分是修改BeautifulReport.py文件的,但是我修改后发现最终值显示在用例描述中了,不对;因为在excel中租户号是第二列,ddt中转换为list后,是第二个元素,所以取v数组第二个元素。修改完成后,报告样式如下,测试方法下,我只想展示测试方法及测试了哪个租户字段;想法是,只保留自己需要展示的字段;三、修改后的样式及修改办法。
2023-12-14 10:55:14 674
原创 UI自动化Selenium 鼠标滑动悬停到指定元素
当调用ActionChains的方法时,不会立即执行,只是将要做的动作安装顺序存放在队列中;当调用perform()方法时,队列中的方法会依次执行;他是按照设计好的动作顺序链式执行;ActionChains执行原理。
2023-12-06 10:25:21 710
原创 UI自动化Selenium 数据驱动读取Excel
下面为具体调用实现:结合unittest框架和ddt数据驱动框架使用。selenium 自动化,希望通过Excel进行数据驱动;即代码自动读取并循环所有数据;如下为Excel读取封装的函数。tuple读取后,存储为键值对。
2023-12-06 10:23:41 525
原创 UI自动化Selenium OCR库:ddddocr识别验证码
一、安装ddddocr。UI自动化Selenium OCR库:ddddocr识别验证码
2023-12-01 08:49:46 1152 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 1134
原创 04 powershell读写数据库操作
0、执行Invoke-Sqlcmd之前要先注册,执行如下语句:不同的SQLServer版本后面的命令不同,下面是SQLServer2008R2版本。一、模式1:通过平台update进行数据库操作。二、模式2:PS直接执行SQL。
2023-11-23 16:46:10 225
原创 09 powershell远程发送命令
echo "--------------停止服务 ---------------------------------------------------------"echo "--------------重启服务 ---------------------------------------------------------"#2.查看目录下的子项,其中TrustedHosts会列出本机已添加的可信主机IP。#4.再次获取子项时即可看到已添加的主机IP。PS:将所有主机添加为可信主机的方法。
2023-11-23 16:32:22 220
原创 05 取样器(BeanShell和JSR223 Sampler)
3、JSR223 Sampler:相比于BeanShell 取样器,JSR223取样器+groovy脚本具有可大大提高性能的功能(编译),同时支持更多的脚本语言,其中包括BeanShell脚本,所以在编写脚本时不建议使用BeanShell 取样器;但是这里存在问题,Jmeter中的变量在取样器中不能直接使用,取样器中加工好的数据,Jmeter也不能直接获取到;2)put方法:是将加工处理好的信息,输出Jemter变量中,这样在Jmeter中就可以使用输出的变量值;这样一拉一推,就建立了一个桥梁的作用;
2023-11-22 17:13:22 816
原创 02 请求默认值
一、HTTP请求默认值:是用来管理所有请求共有的协议、网址、端口等信息的;通常情况下,一批量的接口测试,访问的是同一个站点,那么以上信息基本都是相同的,就不需要在每个请求中重复编写;
2023-11-22 17:10:25 189
原创 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 680
原创 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 225
chrome81.0.4044.138和匹配的chromedriver
2023-11-01
jdbc-mysql-connector-j-8.0.31.jar jdbc-sqljdbc41.jar
2023-02-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人