技术

  • Promise 概念的理解

    《Puppteer 实现 web 自动测试》 一文里,可以看出来如果 Puppteer 脚本用 async/await 和 promise的一些写法,会让脚本非常易懂,而且符合我们人工操作浏览器的习惯。所以为了写好 Puppteer 脚本,需要先对 async/await 的概念有所了解。

    发表时间 ·

  • Declarative Pipeline 语法简介

    本文介绍 Jenkins Declarative Pipeline 语法,由于 原文档 的信息过于繁杂,将常用的和罕见的混在一起,难以找到有用信息。本文试着将常用的收集在一起,方便查阅。背景知识请参考 《Jenkins Pipeline 语法简介》,另有《Jenkins Scripted Pipeline 语法简介》

    发表时间 ·

  • Scripted Pipeline 语法简介

    本文介绍 Jenkins Scripted Pipeline 语法,背景知识请参考 《Jenkins Pipeline 语法简介》 另有 《Jenkins Declarative Pipeline 语法简介》

    发表时间 ·

  • Jenkins Pipeline 语法简介

    Jenkins2 将 Pipeline 提升至一等公民,和 Job 平级。用户可以用脚本的形式描述 Pipeline 的运行逻辑。本文简单总结 Jenkins2 中 两种 Pipeline 脚本: Declarative Pipeline 和 Scripted Pipeline 的语法。

    发表时间 ·

  • Jenkins Pipeline 如何输出 StdErr

    Jenkins Pipeline 中当命令执行错误时,Jenkin 目前还不能返回标准错误信息。本文讨论一种返回标准错误的方法。

    发表时间 ·

  • Linux/Mac 下 vi 设置配色方案

    vi 的默认颜色是黑底白字,这么单调的颜色对新手十分不友好,尤其是在读代码或者配置文件时,特别累。

    本文介绍修改vi配色方案的几个步骤。

    发表时间

  • 安装 Puppeteer 时跳过 Chromium 下载

    Puppeteer 包含的 Chromium 因为体积过大,我们在升级 Puppeteer 时,希望可以跳过 Chromium 重新安装,本文介绍这种方法。

    发表时间

  • Python 读取csv的某列

    CSV 本质上是文本文件,能提供与 Excel 的表格类似的二维数据结构。因为是文本文件,读写都比 Excel 方便容易的多,经常拿来作为数据的中转格式。本文讨论如何快速有效的按列读取 CSV 文件。

    发表时间 ·

  • Python 读取csv的某行

    发表时间 ·

  • 为 Mocha.js 编写自定义的 reporter

    Mocha.js 有一些自带的 reporter,但是这些有时候不能完全满足自己的需求,有些信息冗余,有些信息缺失。其实我们可以自己编写reporter。

    发表时间

  • 当selenium遇上docker

    docker-selenium 项目以 docker 镜像形式提供了传统的selenium standalone server、web driver、headless 浏览器、VNC server等所有服务,方便了在Linux环境里开展自动化。

    发表时间

  • Python 换行符和多行模式

    Python 的正则表达式支持 多行模式,将每行文字分别匹配。然而各种操作系统里,换行符的表示法各不相同,会导致 Python 不能正确使用多行模式。

    发表时间 ·

  • Textile 语法

    Textile 是类似 MarkDown 一样的快速小型标记性语言,让用户能够快速的设计格式,将注意力集中在格式上面,而不是XHTML的语法和尖括号的配对上面。本文简单介绍 Textile 语法。

    发表时间 ·

  • Puppeteer 获取和修改 元素节点的属性

    用 Puppteer 获取 HTML DOM 的元素节点后,如何获得节点的其他属性,也就是节点的Attribute?比如链接指向、样式、class 名称、id 名称、等等关键信息。本文探讨两种可行的方法。

    发表时间 ·

  • Puppeteer 处理文件上传

    《Puppeteer 处理文件下载》 一文后,我们看看如何处理文件上传问题。好在 Puppeteer 直接提供了上传的方法,我们只要定位到对应的上传元素后,就可以启动上传过程,非常的方便。

    发表时间 ·

  • Puppeteer 的远程调试方法

    Puppteer 在 headless 模式下运行时,很多时候难以知道出错原因,这时候需要一个远程观察窗口,这时可以用 Chrome/Chromium 的远程 debug 功能。

    发表时间 ·

  • Puppeteer 处理文件下载

    本文要解决的是如何用 Puppeteer 处理下载文件,无论是点击链接产生的文件下载,或者是点击按钮触发的文件下载。以及如何对文件进行后续处理。

    发表时间 ·

  • Puppeteer 等待页面更新

    在页面发生跳转或者更换时,需要有一些事件让 Puppeteer 等待,不然就会提早返回错误或者无法预期的事情发生。本文列举一些这种场景和如何等待页面的变化。

    发表时间 ·

  • 用 Puppeteer 处理新tab页

    使用 puppeteer 打开页面后,有些链接或者按钮会主动打开新 tab 页(target=_blank), 那么如何控制浏览器打开新tab,并且获取新tab页面内容,并且最后返回原始页面?本文列出了一个可行的方法。

    发表时间 ·

  • 用 Puppeteer 获取页面元素的样式

    使用 puppeteer 寻找到某个元素后,往往希望检查此元素的某种样式,对应于 chrome 开发者工具里看到的是该元素的 computed style. 使用 puppeteer 可以比较方便的得到元素的样式,本文列出了一个可行的方法。

    发表时间 ·

  • Jmeter 保存响应到文件

    使用 Jmeter Non-GUI 模式下,遇到发生错误响应时,需要查看请求与响应的记录,然而默认是没有保存响应值的设置。同时即使 GUI 模式下,也需要保存响应值以查错或者留存档案。本文列举一些保存响应值到文件的方法。

    发表时间 ·

  • 用 Puppeteer 截图

    按照 《Puppteer 配置浏览器属性》一文配置浏览器后,启动浏览器并打开网页,第一件可以自动完成的事情就是截图。 本文详细讨论截图的一些细节操作。

    发表时间 ·

  • Puppeteer 配置浏览器属性

    《Puppteer 实现 web 自动测试》 一文里,我们已经初步的列出了 puppeteer 脚本的用法,这里继续深入每一步骤的细节配置,更为方便的编写和调试代码。

    发表时间 ·

  • Jmeter 的 vars 和 props 用法

    Jmeter 的 JSR223 控件是 代替 BeanShell 的新一代脚本控件,支持多种脚本语言,尤其是其中的 Groovy,更是重点推荐使用的脚本语言,本文研究其中的 vars 和 props 两种对象的用法。

    发表时间 ·

  • Puppeteer 实现 web 自动测试

    Puppteer 是 Google 推出的自动化工具,包含 Chromium 用于模拟用户侧操作,本文介绍如何 配合 Mocha 和 Chai 使用 Puppteer 开展自动化测试

    发表时间 ·

  • Sublime text3 运行批处理文件

    sublime text3 编辑好 windows 批处理文件后,如果希望直接在 sublime 内部运行,并且看到运行结果,可以使用 sublime 提供的编译系统(Build System)完成。

    发表时间 ·

  • Jmeter 用 groovy 解析 json

    在 Jmeter 里,用 Groovy 解析 json 格式的响应内容是很方便的,既能灵活提取指定字段,又能做进一步的复杂逻辑处理。本文介绍这种方法。

    发表时间 ·

  • Jmeter 上传文件的两种方法

    本文介绍如何用 Jmeter 模拟浏览器表单上传文件。首先介绍上传的原理,随后介绍两种方法。

    发表时间 ·

  • Jmeter 用 Groovy 读写文件

    Jmeter 自带的控件 Flexible Writer 可以记录许多信息到文件,但是只能记录原始信息,当我们需要后处理和稍复杂的逻辑时,就必须借助 Groovy 脚本 。 本文讨论如何用 Groovy 脚本读写文件。

    发表时间 ·

  • Jmeter 记录请求和响应信息

    Jmeter 默认是不记录请求和响应的具体信息的,不过依照 这一篇的方法 ,可以记录下响应数据。然而,仍然没有办法记录请求的数据。本文将探索如何做到记录请求数据到文件。

    发表时间 ·