首页

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

    发表时间 ·

  • Jmeter 中使用 Groovy 语言

    Groovy 语言是目前 Jmeter 推荐使用的脚本语言,从语法简洁程度和运行的性能上都优于此前主流使用的 BeanShell 语言。本文列举 Groovy 在 Jmeter 中的特殊用途。

    发表时间 ·

  • Jmeter 中如何使用数组变量

    Jmeter JSR223 控件中的 vars 变量对象,使用 put 方法只能保存字符串变量,而这时如果希望方便的展开数组或者集合运算,就需要使用更高级的方法。本文讨论这些具体方法。

    发表时间 ·

  • 学习 TikZ (1) 笛卡尔坐标系

    本篇来自 “TikZ 和 PGF 3.0.1 使用手册” 的第二章,是作者提供的简单教程,笛卡尔坐标系是最基本的应用,使读者能对 TikZ 的使用产生初步的印象。源文档讲的故事有点冗长,我把本章的概要记录在这里。

    发表时间

  • lfhacks日记:简短精致的在线日记

    轻量易安装,极简风格
    自适应移动设备屏幕,支持手机、pad、电脑同时访问
    纯文本存储,不使用数据库

    发表时间

  • lfhacks 信息提交系统

    我们经常碰到,需要利用网页收集、汇总信息的场合。这个简易、轻量的 PHP 小程序,能帮你快速的建立收集信息的页面,并且数据保存在文本文件里,数据保存的顺序和格式都可以定制。

    发表时间

  • Chrome 如何恢复到69版本之前的经典主题

    最近,Google 为了庆祝 Chrome 诞生 10 周年,在新推出的 69 版本 Chrome 中,对 UI 做了重大改变。在我们真正能接受新的 UI 之前,先看看如何回到以前的外观主题。

    发表时间

  • Jmeter 线程组属性的概念解释

    Jmeter 自带的线程组控件(Thread Group),有三个属性用于控制线程组的行为,分别是 No. of Threads, Ramp-Up Period, 和 Loop Count, 这三个属性的重要性与其文档的丰富程度严重不符。不仅变量名简略抽象,而且官方文档也含糊不清,更不用说其他文章了。本文尝试把这三个变量的含义解释清楚。

    发表时间 ·

  • Jmeter 如何管理 Cookie

    如今许多网站都不是简单的接收请求然后响应了,而是需要客户端同时处于“登录状态”,而证明客户端登录状态的“凭证”,就是服务器先前返回的 Cookie. 只有客户端再次发起请求的时候携带上 Cookie,才能证明当前用户处于已登录状态。本文讨论 Jmeter 如何管理 Cookie.

    发表时间 ·

  • Jmeter 的变量类型和作用域

    Jmeter 的有多种变量类型,有其各自的作用域。有时候不小心就会使它们之间相互冲突或者覆盖,本文梳理各种类型变量的生成方法、使用特点、作用范围。

    发表时间 ·

  • Jmeter 的 WebSocket 插件

    使用 Jmeter 测试 WebSocket 协议时,可以使用 WebSocket 插件。寻找和安装插件的最好方法是通过 Jmeter 的 插件管理器(Plugins Manager)下载,插件管理器 下载地址在这里

    发表时间 ·

  • Jmeter 只执行一次的方法

    使用 Jmeter 进行负载测试时,如果希望多个线程利用同一个登录 session,发起多个并发请求的场景,要求使登录和注销在整个测试过中只执行一次。应该怎么实现?

    发表时间

  • 用 Puppeteer 获取元素的内部文字

    Puppeteer 可以查找特定的元素,进一步可以获取元素内部的文字。那么有没有办法获得多个同类型元素的内部文字?答案是有的。本文讨论下具体方法。

    发表时间 ·

  • Jmeter 复制粘贴无效

    Mac 上 运行 Jmeter 有时候会遇到复制、粘贴、删除等快捷键不起作用的情况,往往是外观方案(Look and Feel)的原因。

    发表时间

  • Jmeter 如何在变量名中使用变量

    在Jmeter的变量名中使用变量(叫做嵌套变量名),这在循环中尤其有用,本文讨论这种实践。

    发表时间 ·

  • Jmeter 断言字符串长度

    Jmeter 的断言(Assertion)用来判定系统响应的某些指标,比如响应长度、响应时间是否满足条件,Jmeter 提供了内置的断言类型,分别是 Size Assertion 和 Duration Assertion. 然而,更复杂的断言逻辑,比如判定某个字符串的长度,Jmeter 目前没有预先提供,这就需要更灵活的 JSR223 Assertion 组件。

    发表时间 ·

  • Jmeter 在线程组之间共享 Cookie

    发表时间 ·

  • Puppeteer 获取 http 请求的响应

    页面收到的 HTTP 响应,用 Chrome 的开发者工具 DevTool 很容易能看到,但是如何以运行程序的方法,从 Chrome 中取得呢?本文讨论一种可行的方法。

    发表时间 ·

  • Puppeteer 获取 WebSocket 响应

    正如 Puppeteer 获取 http 请求的响应 一文里提到的方法,除了获取 HTTP 响应以外,还能获取 WebSocket 响应。因为有些页面通过 WebSocket 实现异步传输,仅仅从HTTP通道上获取响应是不够的,如何使用 Puppeteer 得到 WebSocket 响应内容,本文讨论一种方法。

    发表时间 ·