桥边野树

桥边野树

生活、技术、新知

非小米笔记本电脑安装小米妙享中心(win10/win11)
软硬数码

非小米笔记本电脑安装小米妙享中心(win10/win11)

致谢 本文综合了B站和CSDN两位作者的攻略,提前感谢! https://www.bilibili.com/read/cv26951475/ https://blog.csdn.net/weixin_46079657/article/details/133974373 概述 小米妙享算是MIUI+Beta 的升级版,小米多屏协同互动软件,比MIUI+Beta 功能和体验好 因为小米限制的问题,只允许小米/红米的电脑安装妙享中心,因此非小米的电脑需要操作一下,这里记载一下操作过程 破解包下载链接:https://pan.baidu.com/s/1O9-qtAQvoiUkWvJ3v3tYzA?pwd=samk 提取码:samk 修改注册表(win11不需要) win10系统需要先更改注册表(win11不需要): windows图标键+R键 输入regedit 打开注册表
3 min read
包饺子--自顶向下方法
生活

包饺子--自顶向下方法

很多同学独立生活之后不能独自完成包饺子、煮饺子的工作,这里以3~4人份的猪肉白菜虾仁水饺为例,拆解成详细步骤,希望能帮助到大家。 饺子皮做法: 1. 水:面 = 1: 2 ,也就是600g面配300g水,这是一个大概的比例,如果面粉劲性强(蛋白质含量高)吃水会吃的更多。(以中筋面粉为例,做饺子皮用中、高筋都可),在此基础上揉面,如果缺水可以少量多次一点点加,最多不超过380g 2. 揉面至表面光滑,盖上保鲜膜静置20-30分钟使面团松弛。(室温20度左右这个时间是够的,冬季寒冷应适当延长松弛的时间)面团应该是比较松弛柔软的状态。 3. 将面团揉成长条状,切剂子(剂子力求大小均匀,切好后撒点面粉在表面防止粘连) 4. 擀皮 饺子馅做法: 馅:面粉 = 5:3。 肉:菜 = 1: 1(白菜的话指杀水拧干之后的重量),所以500g肉-->1000g馅儿-->600g面粉 (以上是大致的比例,
2 min read
Jmeter中使用javaScript截取所需字符串并直接引用在变量中
Jmeter

Jmeter中使用javaScript截取所需字符串并直接引用在变量中

1.说明 我的使用场景是,使用正则表达式获取了一串字符串(自定义变量名为session) 拿到的session如下: SESSION=c9d7e012-dd99-40da-88a2-c9d62ef3d987 但实际使用中只需要SESSION的值 c9d7e012-dd99-40da-88a2-c9d62ef3d987 所以需要截取,截取的方法很多,这里给出使用javaScript的方案,也是相对省事儿的方案(Jmeter以及基于Jmeter的自动化测试平台比如metersphere都直接支持JavaScript,可以直接填在变量里) 2.实现 方法 __javaScript:javaScript函数执行一段JavaScript代码并返回其值 __substring:取字符串中的字串 举个例子: //截取从位置为8开始到最后的字符串(注意字符串起点位置是0,不是1 !!!) ${__javaScript("${session}".substring(8),)} //截取从位置为0开始,不包含8的字符串 ${__javaScr
1 min read
WebKitFormBoundary导致Jmeter Post表单后端收不到数据,原因分析
Jmeter

WebKitFormBoundary导致Jmeter Post表单后端收不到数据,原因分析

现象 使用Jmeter模拟浏览器构造Post请求时,在header中有如下字段 content-type: multipart/form-data; boundary=----WebKitFormBoundary6UAvXfMl62j1mySR 如果照着浏览器的header复制粘贴进jmeter的http请求头管理器中,会导致后端接受不到请求数据。 解决 解决很简单,去掉这行content-type这一行即可 原因 原因要追溯到 RFC1867协议 HTTP file upload这一部分。 1. 在1995年,ietf 发布了 rfc1867,也就是《RFC 1867 -Form-based File Upload in HTML》,用以支持文件上传。Content-Type 的类型扩充了multipart/form-data 用以支持向服务器发送二进制或者非ASCALL(no-ascll)数据。 2. multipart/form-data重要规范特征: * 必须post方式发送数据; * Content-Type格式为multip
2 min read
走进AI绘画的大门stable-diffusion-webui AMD显卡踩坑记录1——安装篇
Stable-Diffusion

走进AI绘画的大门stable-diffusion-webui AMD显卡踩坑记录1——安装篇

参考资料: 官方文档:Install-and-Run-on-AMD-GPUs 知乎:Windows下Stable Diffusion WebUI使用AMD显卡指北 本文编写于2023年4月3日,我的操作系统是windows,显卡是AMD RX5700 8G,SD版本1.5。技术迭代更新很快,一切以官方文档为准,本文仅供参考! 安装 前置要求 SD安装前,首先要有git和Python3.10(应该在3.10.6以上)。Python安装过程中记得选中“Add Python to PATH”,如果忘了选也问题不大,将Python安装路径和Scripts添加到环境变量即可。 注意,git是必须装的,从GitHub上把压缩包下载下来是不够的。安装过程中还会拉取在线repo。 其次,Adrenalin显卡驱动必须装好。 git下载repo 使用cd命令导航到一个空目录,或者用mkdir命令创建个新的 如果是使用CUDA,也就是Nvidia显卡的话,(要先安装上CUDA工具哦)用这句: git clone https://ghproxy.
4 min read
软硬数码

解决win11更新22H2版本后运行卡顿缓慢的问题

现象 笔记本电脑在更新到win11-22H2版本后,突然出现运行卡顿的问题,现象是主频被限制在0.7GHz左右,浏览器、任务管理器等等一切程序应用都很卡顿缓慢。 解决 1. 在控制面板-电源选项中,将电池计划由【性能】修改为【平衡(推荐)】 2. 在win11新版设置中,将性能模式调整为平衡或最佳性能 猜测可能的bug原因 有趣的现象:在控制面板-电源选项中,将电池计划由【性能】修改为【平衡(推荐)】后,我发现无法重新选择电池计划,原有的【性能】计划消失不见了! 由此我怀疑他们系统更新把之前控制面板中除了默认的【平衡】之外的电源计划都错误地删除了,导致找不到电源计划的操作系统就默认全节能运行
1 min read
走进AI绘画的大门stable-diffusion-webui 汉化——通过扩展安装or直接安装语言包文件
Stable-Diffusion

走进AI绘画的大门stable-diffusion-webui 汉化——通过扩展安装or直接安装语言包文件

适用于stable-diffusion-webui 1.5版本 方法1(推荐,扩展有作者维护可获得持续更新):通过扩展安装语言包 1. 先点击切换到【扩展页面 Extensions】,再点击【可用 Available】,再点击【Load from: 加载自:】 2. 在 【隐藏勾选类型的扩展 Hide extensions with tags】中,取消勾选“localization” 3. 找到 zh_Hans Localization 点击最后的Install按钮 4. 点击【已安装扩展 Installed】分页,确保页面下方已经勾选了“stable-diffusion-webui-localization-zh_Hans”,点击【应用并重启 UI Apply and restart UI】,重启页面。
1 min read
走进AI绘画的大门stable-diffusion-webui AMD显卡踩坑记录2——命令行参数和优化
Stable-Diffusion

走进AI绘画的大门stable-diffusion-webui AMD显卡踩坑记录2——命令行参数和优化

官方文档:https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Command-Line-Arguments-and-Settings 参考资料:CSDN:Stable Diffusion攻略集 本文写于2023年4月3日,SD版本为1.5。 我的启动参数(AMD RX5700 8G) 如下配置可以把RX5700显存用满,推理时性能占用维持95%以上。出图效率比较高,常用350x700的尺寸(总尺寸与512x512接近),速度可以在1.6s/it,一张图平均20~30次迭代,也就是一分钟内可以出一张图。 set COMMANDLINE_ARGS=--medvram --always-batch-cond-uncond --opt-split-attention 为什么使用这三个参数 --medvram这个参数对于显存8G及以上的N卡用户来说通常无需配置,但经过我的实测,RX5700不加--medvram非常容易爆显存。显存更低(6G及以下)的用户,建议使用-lowvram。
4 min read
Python批量打开excel中的网页
自动化测试

Python批量打开excel中的网页

import webbrowser import xlrd def autoOpenPage(): wb = xlrd.open_workbook("book1.xlsx") sht = wb.sheet_by_name("Sheet1") for x in range(sht.nrows): webbrowser.open(sht.cell(x, 0).value) if __name__ == '__main__': autoOpenPage() 表格文件内容如下: 会使用系统默认浏览器打开excel表格中的网址: 需要注意的是,xlrd这个包不要使用最新的2.0版本,该版本不知出于什么原因移除了对xlsx格式的支持,使用时会报xlrd.biffh.XLRDError: Excel xlsx file; not
1 min read
SQL while循环insert批量造测试数据
自动化测试

SQL while循环insert批量造测试数据

直接上代码 对于e_coupon_put主要存优惠券、活动、用户的关联信息(优惠券发放记录) 性能测试需要批量造 同优惠券、同活动但不同用户的记录。 drop procedure if exists testdatainsert; #删除已经存在的存储过程 create procedure testdatainsert() #创建存储过程 begin declare y int default 1; declare custId int default 2133594; while y < 100000 do insert into e_coupon_put(act_id, CPN_ID, CUST_ID, PUT_TIME,PUT_NUM)
1 min read
SQL 取出满足条件的最新一条数据
自动化测试

SQL 取出满足条件的最新一条数据

场景是查出某手机号最新一条订单匹配到的所有优惠活动。 订单表中有手机号,订单活动表与订单表通过order_no匹配。 经过实践下面的写法效率比较高,比按时间排序快得多。而且子查询只返回一条结果,对内存的占用也比较好。 select * from o_order_act where ORDER_NO = (select ORDER_NO from o_order where o_order.APPLY_TIME = (SELECT MAX(APPLY_TIME) as APPLY_TIME from o_order where MOBILE = '18012344321'));
1 min read
Meterphere自动化测试-SQL脚本与断言
自动化测试

Meterphere自动化测试-SQL脚本与断言

区别于上一篇Meterphere自动化测试-使用数据库查询结果对接口进行断言断言写在接口中,是先从数据库中查询出结果(以数据库为准),再去跟接口返回的结果比对。 本篇是先完成接口请求(涉及一些新增数据), 再从数据库中查出新增的数据,再依据场景进行比对。 1.配置数据库环境 见上一篇 2.添加自定义请求 编写sql脚本 见上一篇 3.在自定义请求中添加断言 断言规则->选择"脚本"->点击编辑 比如sql中的按列存储有actId字段,此时需要取出actId进行比对,填写表格后,代码自动生成。
1 min read
Meterphere自动化测试-使用数据库查询结果对接口进行断言
Metersphere

Meterphere自动化测试-使用数据库查询结果对接口进行断言

本文参考: https://blog.csdn.net/plateauandsp/article/details/114646657 1. 项目环境中配置数据库 路径:项目设置-项目环境-数据库配置。 一个环境中可以配置多个数据源,当自动化脚本涉及多个数据库时,无需切换多个环境,只需在不同步骤中选择不同的数据源即可。 2. 自动化脚本添加 自定义请求 请求类型为SQL 选择环境、数据源、编写脚本、设置按列存储的变量名。 按列存储的数据类型是数组,所以取单行数据要标明行号如 ${stationName_1} 3. 在接口断言中使用按列存储的变量(即上一步中的数据库查询结果) 比如上一步中STATION_NAME被存储为stationName变量中,后续如需使用某行查询结果则通过${stationName_1}使用。下划线后数字为1即为第一行。
2 min read
键盘没有FN功能键,如何定义音量调节快捷键-For Windows
软硬数码

键盘没有FN功能键,如何定义音量调节快捷键-For Windows

软件叫 3RVX 官网链接: https://3rvx.com/ 是境外网站所以部分地区可能需要科学上网才可以打开 1. 下载安装 打开软件 下载安装之后,打开。这个软件没有默认创建桌面图标,所以最好通过开始菜单直接搜索找到,如下图所示: 然后你在右下角托盘会看见3RVX的图标,注意别跟win原生的声音控制图标混淆。3RVX的图标是实心的! 2. 配置快捷键 右键,选择Setting,打开设置,点击Hotkey标签。点击“加号”新增一条Hotkey,点击Keys之后,在键盘上敲下你想设置的快捷键(或者快捷键组合),在Action中可选择这个快捷键对应的触发动作(比如我设置的alt+F1是静音)。 配置好了之后点击Apply生效。 下图是我配置好的样子,alt+F1=静音,alt+F2=音量减,alt+F3=音量加 3. 配置开机启动 最后一步是设置软件开机启动,在Setting中点击General选项卡,勾选Run on
2 min read
使用Metersphere进行自动化测试和压力测试
自动化测试

使用Metersphere进行自动化测试和压力测试

1. 自动化测试 1.1 定义接口 手动创建 批量导入接口 支持从postman、jmeter、swagger导入。需要主机的是,从Jmeter导入的接口不会附带断言、前置处理脚本等内容,只能导入接口本身。 1.2 环境配置 创建环境 环境属于项目的配置,所以需要在项目配置中进行配置。 主要需要配置的内容有:环境通用的变量、域名、数据库、前置后置脚本、全局断言等等 1.3 新建场景 开始分场景进行自动化测试的编写 添加步骤、导入接口 点击右下角的加号 添加“步骤” 选择接口列表导入,导入之前创建的接口 设置接口前置后置处理 选择前置、后置脚本 点击添加 然后将之前在Jmeter写好的Beanshell后置处理器中的脚本粘贴进来 配置场景变量 将之前在Jmeter中的用户自定义变量和http请求头配置写在这里 指定运行环境、执行测试 1.4 遇到的问题和解决方式 1.
9 min read
Jmeter用XPath提取器获取html页面元素的值
Jmeter

Jmeter用XPath提取器获取html页面元素的值

本文参考: https://blog.csdn.net/caohongxing/article/details/83010401 1. XPath是什么 XPath全名XML Path Language,是W3C的一个标准。XPath是一种表达式语言,它使用路径表达式来选取 XML 文档中的节点或节点集。 而Jmeter中XPath提取器的作用就是从xml、html文档中是提取符合路径表达式条件的节点信息。 2. 在请求上右键添加XPath提取器 提取器配置的各个字段的意义如下图标注所示: 3. XPath路径的获取方式 在想要抓取的页面上F12,在元素标签中找到想拿取的值。右键复制,如下图所示:
1 min read
Jmeter用beanshell脚本将数据写入txt文件
Jmeter

Jmeter用beanshell脚本将数据写入txt文件

直接上代码 直接看注释 //定义文件路径和名称 注意斜杠方向 String fileAddr = "D://projects/study/results3.txt"; //注意初始化方法的第二个参数 true,设置为true不会每次都重新创建,而是从文件末尾继续编辑 FileWriter writer = new FileWriter(fileAddr,true); //写入要写的东西,我这里相当于每行用逗号分隔了四个字段然后换行 writer.write(ori+","); writer.write(result+","); writer.write(status+","); writer.write(ans); writer.write("\r\n"); //最后关闭 writer.close();
1 min read
Jmeter 使用自带V函数进行带变量的字符串参数拼接
自动化测试

Jmeter 使用自带V函数进行带变量的字符串参数拼接

需求 JWT标准中请求头中需要加上authorization参数,该参数是由固定字符串和从上个接口返回的token字段一起拼接而成 如下文所示: authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxODUxNjAxNzc0NCIsImNsaWVudFR5cGUiOiIxMCIsImN1c3RJZCI6IjIxMzM4NjciLCJpc3888888889kLWJ1c2kteGR0LWNzdC13ZWIiLCJleHAiOjE2NTcxODA2NDAsImlhdCI6MTY1NzE4MDQ2MH0.ZoACgiB43RMqZLJ4hcEmskae1w8-Wnjrf-bqUYvIAfY 所以在接口自动化脚本编写时,要进行字符串的拼接 步骤: 1. 打开jmeter上的函数助手,选择—V功能,按下图步骤输入想拼接的字段组合,点击生成: 2. 粘贴到使用该函数结果的位置,如无其他参数,要去掉最后面的逗号,最
1 min read
解决jdk版本不兼容导致的Base64加密问题java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder
自动化测试

解决jdk版本不兼容导致的Base64加密问题java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder

参考:https://blog.csdn.net/weixin_40052298/article/details/124896005 问题 使用MeterSphere测试平台进行自动化测试时,发现引入的一个第三方jar中的方法在执行时报错: java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder 原因 搜索之后发现 sun/misc/BASE64Encoder 这个东西仅在jdk1.8以及之前的版本存在,更高版本的jdk不存在了。 而MeterSphere(1.20lts)使用的jdk版本是jdk11。 解决 1. 添加 commons-codec 依赖 commons-codec commons-codec 1.6 2. 代码中引入 import org.apache.comm
1 min read
解决MeterSphere前置处理Beanshell 无法从sampler.getArguments()拿取get请求参数
自动化测试

解决MeterSphere前置处理Beanshell 无法从sampler.getArguments()拿取get请求参数

起因 因为项目请求需要经过加密,而加密需要在请求前拿取请求参数,进行加密后重新给请求头中sign等字段赋值,所以需要拿取现有请求入参,并转为map以便后续处理,Jmeter Beanshell代码如下: import org.apache.jmeter.config.Arguments; //获取请求入参args,转为map Arguments args = sampler.getArguments(); log.info("请求数据====" + args); Map argsMap = args.getArgumentsAsMap(); log.info("argsMap ==============" + argsMap); 但以上代码在MeterSphere中无法拿取到get请求 (MeterSphere版本 v1.20.6-lts)(而且奇怪的是post请求的入参是可以拿取到的) 解决 所以需要手动从url中拿取String格式的参数字段,再自己进行处理,代码如下: String requestQuery = sampler.getUr
1 min read
装修笔记-硬装篇:断桥铝门窗
生活

装修笔记-硬装篇:断桥铝门窗

装修时间是2022年第一季度,相关市场价格仅供参考 知识点 1. 南北方市场差异 断桥铝门窗南北方市场差异很大,北方型材宽度从68mm起步,价格在600元每平米左右起步。而以厦门为例,南方市场型材宽度往往是108mm起步,价格在800元每平米左右起步。 所以大家在小红书上或者网络视频里听到各种价格,不要立刻觉得自己上当被坑,仔细看看对方选的型材宽度、厚度和所在地区 2. 产地选择 断桥铝产地非常集中,广东佛山是断桥铝门窗产业的聚集地。以厦门为例,我选择的门窗店同时有佛山铝材和本地铝材可以选,本地铝材单价会便宜100元,但从门店展示的样品上看,表面处理的工艺、边缘打磨处理的工艺等细节部分对比佛山大厂产品还是有差距。 3. 五金件 断桥铝门窗的五金件非常重要,窗户的开合滑动手感、铰链的承重、关窗的密闭性等等性能都与五金件息息相关,实际手感建议一定要线下体验。 一般而言,选择品牌门窗店都有套装方案,套装内的五金不满意可以加钱升级,一般每套五金的差价在100~300元内要具体看品牌。常见的品牌比如:德国好博。 4. 弯折工艺 有插脚工艺、
5 min read