Haauleon Blog

我干了什么 究竟拿了时间换了什么

Python3 | 正则提取指定范围的信息

正则表达式快速提取并返回列表

背景   禅道很多都是直接返回一个 html ,不是 Json 格式的话提取字符串的信息会比较麻烦。比如下面这个 html 字符串: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 """ <select name='assignedTo' id='assignedTo' class="form-control"> <option value='' sel...

禅道 | Python3 脚本获取产品列表

解决获取产品列表接口的编码解码、字典值查键等问题

背景   禅道的 API 接口调用可谓是一言难尽,百度了一下,它的接口主要有两种调用方式,一种是直接请求 html,像用户登录这样的请求我就是直接请求 html 页面;还有一种是将要请求的 http://xxx/zentao/xxx.html 后缀先改为 http://xxx/zentao/xxx.json 然后再去发送请求。   用户登录请求 html 还可以解决,但是获取产品列表...

禅道 | Python3 脚本登录

解决禅道登录接口的密码加密等问题

背景   搞了那么久的自动化测试,灵机一动,可以在自动化项目里面加多一个功能:在自动化测试断言失败后自动向禅道提交 bug。以往都是测试结果直接输出,输出的形式目前暂定钉钉和测试报告,现在想要加多一个 bug 自动提交的功能。可以想象成自己有一个分身,她可以自己完成测试任务,测试过程中遇到 bug 就提交到禅道。岂不美哉~ 问题   目前使用的禅道专业版本 10.4。看了禅道的登录接口...

macOs | 使用 tree 命令

如何安装和使用 tree 命令查看目录结构?

背景   很多时候看别人的项目代码,都需要使用 tree 命令来查看目录结构。macOs 系统虽然是类 Unix 系统,但是安装和使用却跟 Linux 还是有些差别的,它是使用 brew 来管理 tree 扩展。 使用技巧 1 2 3 $ brew search tree $ brew install tree $ tree 安装成功后,使用效果如下: 1 2 3 4 5 6 ...

Python3 | 加速的方法

列举了一些让程序运行加速的方法

numba.jit 加速函数 一、背景   python 一直被病垢运行速度太慢,但是实际上 python 的执行效率并不慢,慢的是 python 用的解释器 Cpython 运行效率太差。   numba 所完成的工作就是:解析 Python 函数的 ast 语法树并加以改造,添加类型信息;将带类型信息的 ast 语法树通过 llvmpy 动态地转换为机器码函数,然后再通过和 ...

爬虫 | 单线程异步协程

asyncio + pyppeteer 实现单线程多任务异步爬虫

背景   接盘了其中一个异步爬虫项目,看了下,在被 async 修饰的协程 main() 中加了一行 time.sleep(30) 这样的非异步操作代码,导致异步失效,程序运行总耗时太长。我看了别人的协程示例后,把代码改了,用 await asyncio.sleep(30) 去代替原来的 time.sleep(30),然后在主程序中定义了一个任务列表 tasks, 用来放置多个任务对象,然后...

Nginx | 安装、配置、部署静态页

背景   自动化测试生成的报告可上传至已部署的阿里云服务器,便可访问此 html 了,即使离开办公室仍可访问。解决了本地启动 Apache 服务器后其他人需要位于相同网关才可访问的问题。 使用技巧 一、更新 apt 库 1 2 $ sudo apt-get update $ sudo apt-get upgrade 二、安装 nginx 1 $ apt-get install ...

macOs | 无法打开软件

无法打开xxx.app,因为Apple无法检查其是否包含恶意软件

问题描述   从网站上下载了一下 xxx.dmg 文件,安装完成后点击启用此 app,启动失败,提示 无法打开xxx.app,因为Apple无法检查其是否包含恶意软件。现在附上解决办法。 解决方法 方法一:命令行工具 1.打开 terminal 命令行工具 输入命令:$ sudo spctl --master-disable 输入密码 2.再次启动软件...

Nodejs | 本地文件自动上传

使用 sftp-publish 工具自动上传本地文件至服务器

背景 使用技巧 一、安装 nodejs   直接去官网下载 nodejs 安装包,解压安装即可。 二、安装 nodejs 工具   使用 npm 软件包管理工具安装 sftp-publish。 1 2 $ sudo npm i sftp-publish -g $ sudo npm link publish-sftp 三、新建配置文件   本地要传输的文件...

Jenkins | 多命令行持续集成

Jenkins + Newman + Nodejs + python3 + Nginx 实现自动化测试

一、背景 目前已实现的 jenkins 持续集成如下: 使用 jenkins 定时构建自动化测试 使用 postman + newman 执行自动化测试并生成测试报告 使用 python3 脚本对测试报告进行解析,若接口异常数不为 0 则发送钉钉消息 使用 nodejs 工具包 publish-sftp 自动上传测试报告至阿里云服务器,可远程访问测试报告 二、测试目...