Jenkins docker下JNLP slave节点远程连接报错port not reachable的解决 场景jenkins master运行在物理机A的容器a中,jenkins agent运行在物理机B的容器b上,A和B是同一个局域网当使用JNLP协议时,agent启动,主动连接master时闪退,报错port not reachable。(可能的表现:不用websocket连接则必然闪退;如果给节点连接启用websocket,则可能能连上,但很容易断开)报错信息类似这样root@ubuntuVM:~# java -jar agent.jar -jnlpUrl http://10.12.78.42:9
go中装饰器初探 虽然对于动态类型的语言,比如python或者js里,装饰器模式已经很常用go中的函数是一等公民,可以直接作为参数传入传出,装饰器是可行的但go的问题是静态类型,func addAllInt(a …int) 和 func addAllStr(a …string)是不同的类型。本身作为装饰器函数,只能传入出入参数一致的同类型的函数,这样限制了装饰器的应用场景。为了兼容通用的类型,需要使用反射来做一些事,但真正实现起来,却踩了不少坑,蛮有难度需求:go的协程一旦发生panic,就只能在自己的协程里捕获,一
windows中VMWare下安装Mac Os X 10.11踩坑记 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
pip安装库用回官方源,检查库内提供的版本 今天自己更新了自己的库到pypi以后,发现无法更新到最新的版本,清华和豆瓣的国内源迟迟不同步我的国内源配置如下(git bash)admin@DESKTOP-36Q0EK4 MINGW64 ~$ cat pip/pip.ini[global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install]trusted-hos...
python操作服务器,迷你库ssh-lite发布升级(支持shell交互/文件上传下载,封装自paramiko) 在做后台测试/自动化运维的时候,使用python操作ssh服务器是很常见的情况。常规是使用paramiko库,但他比较复杂,主要是读取的请求是阻塞的(需要自己多线程管理)。甚至好多自动化测试教学培训,都不涉及paramiko这个库。但操作linux确实是作为测试,尤其自动化测试来讲,算是四大基础设施之一(其他的如操作数据库,操作文件和操作网络[发请求的客户端,和收请求的服务端])。网上并没有找...
python中写入utf-16 bom文件 (用来批量生成xshell的docker登入脚本) 在docker容器的实际应用中,对于我这样的测试来讲最头疼的事情反而是有时候需要同时操作容器外和容器内容器外给挂载的路径rz文件,编译服务(以供容器内启动使用),查看日志而容器内则负责启动服务,查看进程等操作经常不小心操作错误后来想到个解决方式就是像这样把容器外和容器内用标签分开并且给登入容器的配类似这样的脚本但到了后来,模拟的节点变多,容器越来越多store这个容器已经多到...
解决flash播放器与您的地区不相容,中国特供版锁区+弹窗广告的流氓行为 文件下载和使用说明在https://github.com/rainydew/flash-player-without-help-service,使用帮助在首页,欢迎issue/PR/star伴随flash的没落,Adobe在中国区代理权给了重庆重橙,后者提供的中国特供版flash播放器存在锁区+弹广告+禁用广告服务就不播放flash的问题,例如这个帖子几经折腾,终于弄好。奇怪的是,网上却没有多...
docker exec 命令执行无效果,不报错的坑 结论:需要关注是否有bash -c,开发的脚本是否有#!/bin/bash在测试环境准备中,docker容器初始化的时候,比如通过jenkins或python脚本(paramiko)部署的时候,部署脚本经常需要使用docker exec来执行语句,启停容器内的服务。由于开发的start.sh脚本使用了相对路径,必须进入路径再执行./start.sh,所以我使用分号隔开先后两条语句执行。例如d...
深挖python上下文管理——类的__init__、__enter__、__exit__、__del__在with下的表现 场景:今天因为需要测试一个服务,在测试前,需要把它依赖的服务干掉,在测试完成后(不论报错),再把服务起来。因为它是其中的一个步骤,其他时间服务需开启,不适用unittest通用的setup和teardown所以想到写一个类,通过上下文来管理服务状态。这是第一段测试代码# coding: utf-8class C: def __init__(self): print...
linux和windows中安装并让python连接couchbase 首先,官方的couchbase库实测只完好支持python3.7。如有版本需求者,可以二选一1.使用pyinstaller打成二进制文件,然后给其他的程序以纯文本的方式调用2.使用http方式访问couchbase。具体可以见其restful api文档。此方式会造成性能损失,建议只用于功能测试windows下安装在windows下,直接安装msi包的python,然后可以直接使用pip...
python打包发布pypi踩坑记(最新贴心版本,认真对待自己的库) 在之前这个实现json比较的库的帖子里,我把库上传pypi的时候,相当坑。而且pypi有个特点,就是你一旦弄错了,就不能删除原来的名字(但可以删库,也可以更新版本,就是不能替换)。所以上传时应该尽量谨慎。注册pypi的账号访问pypi.org并点击register(有部分网络pypi访问速度较差,可能发生上传或下载失败的情况,请换个网络环境,或者自备代理)。可以使用QQ邮箱,它会要求你的邮...
RobotFramwork二次开发,微小改动RF,实现while关键字的功能 我们都知道RF里只支持for循环,不支持while循环。或者说,不能造出一个死循环(实际上,while循环就是一个带判断条件的死循环)而且两种通融的办法也做不到li=[0,1,2]for i in li: li.append(i) # break in some condition在python里,这样做会导致无限循环。但在RF里,列表在循环前就解析定死,所以对列表的修改并不会影...
python中递归比较json、列表和字典,显示差别的库,可忽略顺序,可支持正则,可设浮点精度(已上传至pypi,库名jsoncomparedeep) 在做接口自动化测试的时候,经常需要对返回的json串做断言。但是如果返回的json串很大,手写断言就非常的麻烦。网上虽然有很多轮子,但是都不是特别好用,存在比较严重的这样那样的缺陷。所以我自己写了一个。注意,我写的环境是python2.7,因为公司的RF库都还是python2.7(虽然RobotFramework早就支持python3)。如果使用3,请做相应适配,适配后最好发我适配后的源码...
告别乱码——7行代码判断当前python运行编码,是控制台还是IDE(如PyCharm) 由于众所周知的原因,python中的PyCharm输出时使用utf-8编码,而控制台窗体里则遵循系统编码。在windows简中版本下,系统使用gbk编码,而调试用的PyCharm使用UTF-8,这就带来了一系列困扰人的问题。这些问题在python2尤甚,但python3里,读写文件、执行cmd命令等仍然会发生乱码。(由于Linux默认UTF-8编码,在纯Linux下并不发生这类问题)比如,调试好...
思维定势引起容易写错的代码(预计长期更新) 突然想开始记录以前容易习惯性敲错的代码,欢迎回复各自的经历,也许之后会开个仓库~python:if "xx" or "yy" in something: ...结果恒为True,实际应该为if "xx" in something or "yy" in something: ...# 如果量大,可写if any([pattern in something for pattern in ...