![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
测试
文章平均质量分 86
Rainy Chan
这个作者很懒,什么都没留下…
展开
-
windows中VMWare下安装Mac Os X 10.11踩坑记
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2020-05-10 02:41:28 · 714 阅读 · 3 评论 -
python操作服务器,迷你库ssh-lite发布升级(支持shell交互/文件上传下载,封装自paramiko)
在做后台测试/自动化运维的时候,使用python操作ssh服务器是很常见的情况。常规是使用paramiko库,但他比较复杂,主要是读取的请求是阻塞的(需要自己多线程管理)。甚至好多自动化测试教学培训,都不涉及paramiko这个库。但操作linux确实是作为测试,尤其自动化测试来讲,算是四大基础设施之一(其他的如操作数据库,操作文件和操作网络[发请求的客户端,和收请求的服务端])。网上并没有找...原创 2020-04-02 18:39:39 · 544 阅读 · 0 评论 -
python中写入utf-16 bom文件 (用来批量生成xshell的docker登入脚本)
在docker容器的实际应用中,对于我这样的测试来讲最头疼的事情反而是有时候需要同时操作容器外和容器内容器外给挂载的路径rz文件,编译服务(以供容器内启动使用),查看日志而容器内则负责启动服务,查看进程等操作经常不小心操作错误后来想到个解决方式就是像这样把容器外和容器内用标签分开并且给登入容器的配类似这样的脚本但到了后来,模拟的节点变多,容器越来越多store这个容器已经多到...原创 2020-03-02 12:28:55 · 788 阅读 · 0 评论 -
深挖python上下文管理——类的__init__、__enter__、__exit__、__del__在with下的表现
场景:今天因为需要测试一个服务,在测试前,需要把它依赖的服务干掉,在测试完成后(不论报错),再把服务起来。因为它是其中的一个步骤,其他时间服务需开启,不适用unittest通用的setup和teardown所以想到写一个类,通过上下文来管理服务状态。这是第一段测试代码# coding: utf-8class C: def __init__(self): print...原创 2019-09-27 15:16:25 · 3608 阅读 · 0 评论 -
linux和windows中安装并让python连接couchbase
首先,官方的couchbase库实测只完好支持python3.7。如有版本需求者,可以二选一1.使用pyinstaller打成二进制文件,然后给其他的程序以纯文本的方式调用2.使用http方式访问couchbase。具体可以见其restful api文档。此方式会造成性能损失,建议只用于功能测试windows下安装在windows下,直接安装msi包的python,然后可以直接使用pip...原创 2019-08-30 03:30:02 · 863 阅读 · 0 评论 -
RobotFramwork二次开发,微小改动RF,实现while关键字的功能
我们都知道RF里只支持for循环,不支持while循环。或者说,不能造出一个死循环(实际上,while循环就是一个带判断条件的死循环)而且两种通融的办法也做不到li=[0,1,2]for i in li: li.append(i) # break in some condition在python里,这样做会导致无限循环。但在RF里,列表在循环前就解析定死,所以对列表的修改并不会影...原创 2019-07-10 20:22:19 · 2481 阅读 · 0 评论 -
python中递归比较json、列表和字典,显示差别的库,可忽略顺序,可支持正则,可设浮点精度(已上传至pypi,库名jsoncomparedeep)
在做接口自动化测试的时候,经常需要对返回的json串做断言。但是如果返回的json串很大,手写断言就非常的麻烦。网上虽然有很多轮子,但是都不是特别好用,存在比较严重的这样那样的缺陷。所以我自己写了一个。注意,我写的环境是python2.7,因为公司的RF库都还是python2.7(虽然RobotFramework早就支持python3)。如果使用3,请做相应适配,适配后最好发我适配后的源码...原创 2019-06-27 20:22:25 · 3125 阅读 · 14 评论 -
RobotFramework中,选择注释套件中的某些用例的方法(主要用于RED/IntelliBot从套件执行单个用例)
由于项目较大,使用RIDE很卡,我使用Pycharm里的IntelliBot来编写。如果使用RIDE,则可以单独勾选要执行的用例来执行。单行注释很容易,前面加#就可以了,在Pycharm里可以选中要注释的行,ctrl+/快捷键就能做到。当想添加多行注释时,虽然可以选择很多行,同时使用#去注释。但常见的场景是,一个套件内十几个用例,失败了一个,想注释掉其他来重跑。如果文件较大,则会产生大量的#,...原创 2019-06-18 14:46:00 · 3221 阅读 · 0 评论 -
python-类内函数的全局装饰器
有时,比如写RF的测试库的时候,很多方法都写在一个类里。我们又可能需要一个通用的装饰器,比如,要给某个底层类的方法打桩,查看入参和出参,用以理解业务;或者要hold住所有的执行错误,打印堆栈又不想程序退出或用例直接失败比如捕捉错误的装饰器import tracebackfrom functools import wrapsdef trier(soft=False): ''' ...原创 2019-05-21 18:50:36 · 3461 阅读 · 0 评论 -
RF可用的多线程装饰器(改进版)
在之前这篇文章里https://blog.csdn.net/qq_27884799/article/details/88709936,我的多线程装饰器虽然在我们的RF框架上用上了,但那是因为我们装饰的方法是静态方法。如果装饰的方法是写在类中,由于第一个参数是self,这个参数在被装饰时并不会传入,只有调用时才会在第一个位置传入,导致解析参数时报错。定位发现问题是在def multiThread...原创 2019-04-28 22:08:27 · 887 阅读 · 0 评论 -
RF二次开发,listerner监听器获取实施日志的坑 Listener does not have mandatory 'ROBOT_LISTENER_API_VERSION' attribute
参考了https://blog.csdn.net/wyb199026/article/details/78730097,写了个这样的listener# listen.pyclass RobotListener: ROBOT_LISTENER_API_VERSION = 2 def myprint(self, data): if type(data)==unic...原创 2019-04-23 13:10:45 · 1015 阅读 · 5 评论 -
RF可用的多线程装饰器
RF本身没有多线程的库,我们可以使用类似下面的方法,并对外公开parseArg和multipleArg两个方法(写到测试类里面),给需要并发的函数套上装饰器,即可实现多线程执行函数。由于可以只传单个的参数,因此并不影响函数的单线程运行。比如在RIDE/RED内可以写成这样的调用${arg1}parseArgmi${arg2}parseArg故宫喵...原创 2019-03-21 11:09:50 · 796 阅读 · 0 评论 -
解决 win7里部分依赖Qt的程序显示不清晰的问题
测国际象棋引擎,做引擎比赛会使用到CuteChess的界面。它是基于Qt5.9制作的。 我的是win7系统,1366*768的13寸屏幕。棋步那里总是显示不清晰,如下效果 网上找了不少资料但都没能解决问题,不管是cleartype还是换掉simsun字体还是视觉效果那里改为最佳性能或者去掉平滑边缘都没有用。后来实验出来应该打开控制面板里的个性化,选择窗口颜色 分别尝试选择不同的项目,...原创 2018-08-31 01:49:36 · 1131 阅读 · 0 评论