关于异常断电后jmeter的jmx文件异常变成二进制文件并成功恢复的心酸历程

今日下午正在编写jmeter接口,正在调试中,突然断电(由于四川高温,导致电力紧缺的很),来电了后我正常启动电脑,打开后,赶紧打开jmeter,并打开最近打开的文件,我发现我正在调试的jmx文件不是排在第一个,我有点疑惑但也没管(虽然我当时同时打开了2个jmx文件),然后我继续打开我正在编写的文件,但是打不开了!! 报错如下:only whitespace content allowed before start tag and not lu0 (positiOn: START DOCUMENT

seen lu0... @1.1),notpad++打开如下:

我慌了!!我辛苦写了4天的文件就这么坏了!!

然后马上用charGPT搜这情况怎么解决,他大概说有2个原因:jmx实际是xml文件,用notpad++打开看看第一行是不是申明了编码是utf-8,如果不是就选择utf-8编码打开。或者是不是首行有空格等无法识别的,删除后选择utf_8编码再看是不是正常显示。

我照着做了,notpad++打开完全乱码,我更慌了,因为这个文件变成了二进制文件打不开了!!

我在想明天怎么交差,难道跟领导说我写了4天的东西全部没有了,会不会觉得我就是250,我还在想为什么异常断电我的文件能损坏了,jemeter怎么这么傻!!

回家后求助家属,我一说他就说他也遇到过,一开始就给我说让我做好重新写的心里准备,因为恢复了也可能不是最新的,或者根本恢复不了,我还是抱着希望等他帮我弄,然后他下了软件,这个名字:recuva

最终整了好几次,终于帮我恢复了,我谢天谢地!!

正确的jmx文件用notpad++打开后是这样的:

后面跟我讲,像突然断电这种,文件被删除变成二进制文件,实际内容没被立即删除,只是逻辑删除,意思就是:比如我们看到文件的指针在最后一行,所以能看见所有的内容,异常时,自动将指针移动到了第一行,我们就看不见内容了,恢复的原理就是把这个指针移入到最后一行让我们可以看见。

以后为了避免这样的异常问题需要用git进行本地管理这些文件,每天都commit, 就算丢失也只是丢失没有提交的,也不至于文件直接完全损坏,几天白干。

经过这一次,我真的怕了,jmeter!!

相关推荐
川石课堂软件测试6 天前
自动化测试常见的异常处理
python·jmeter·mysql·docker·容器·单元测试·grafana
wuhuhuan6 天前
JMeter 性能测试教程
jmeter
行者-全栈开发7 天前
JMeter + InfluxDB + Grafana:搭建生产级压测实时监控与告警体系
jmeter·grafana·时序数据库·influxdb·实时监控·backendlistener·告警性能测试
wuhuhuan7 天前
【JMeter 学习打卡 Day 7】从会用到会用对,完成一次完整压测
学习·jmeter
行者-全栈开发9 天前
JMeter 自定义 Sampler 开发:从零写 TCP 私有协议压测插件
jmeter·tcp协议·源码解析·插件开发·gradle构建·自定义sampler·abstractsampler
wuhuhuan9 天前
【JMeter 学习打卡 Day 5】控制流程和节奏的利器
学习·jmeter
wuhuhuan10 天前
【JMeter 学习打卡 Day 4】多用户登录 + 动态 token 关联
学习·jmeter
wuhuhuan10 天前
jmeter高级用法-ForEach控制器和BeanShell断言
jmeter
weixin_4407305015 天前
手工接口测试使用总结
jmeter·接口测试
Amir_zy15 天前
JMeter吞吐量与并发数:要求TPS达到200,并发至少是多少?
jmeter