测试
mitmproxy
· ☕ 2 min read
介绍 技术 特性 适用场景 说明 mitmproxy 跨平台 基于python 抓包 - 官网 - Doc - Github - 示例 安装 MacOS Python 1 > brew install mitmproxy 1 > pip3 install mitmproxy 'use strict'; var containerId = JSON.parse("\"9e2b5307dee7ad2a\""); var containerElem = document.getElementById(containerId); var tabLinks = null; var tabContents = null; var ids = []; if (containerElem) { tabLinks = containerElem.

DBSetup
· ☕ 1 min read
介绍 技术 特性 适用场景 说明 DBSetup 单元测试中数据准备 - 官网 - User Guide - API documentation 参考 dbsetup实现数据准备和清理工作

JProfiler
· ☕ 3 min read
介绍 技术 特性 适用场景 说明 JProfiler 方法调用 - 对方法调用的分析可以帮助您了解应用程序正在做什么,并找到提高其性能的方法。 内存分配 - 通过分析堆上对象、引用链和垃圾收集能帮您修复内存泄漏问题,优化内存使用。 线程和锁 - JProfiler 提供多种针对线程和锁的分析视图助您发现多线程问题。 高级子系统 - 许多性能问题都发生在更高的语义级别上。例如,对于JDBC调用,您可能希望找出执行最慢的 SQL 语句。JProfiler 支持对这些子系统进行集成分析。 Java剖析 - 官网JProfiler 是由 ej-technologies 公司开发的一款 Java 应用性能诊断工具。 基本概念 基本概念 说明 JProfiler agent JProfiler agent 是一个本地库,它可以在 JVM 启动时通过参数-agentpath: 进行加载或者在程序运行时通过 JVM Attach 机制进行加载。Agent 被成功加载后,会设置 JVMTI 环境,监听虚拟机产生的事件,如类加载、线程创建等。例如,当它监听到类加载事件后,会给这些类注入用于执行度量操作的字节码。 JProfiler UI JProfiler UI 是一个可独立部署的组件,它通过 socket 和 agent 建立连接。这意味着不论目标 JVM 运行在本地还是远端,JProfiler UI 和 agent 间的通信机制都是一样的。

Apache Benchmark
· ☕ 1 min read
介绍 技术 特性 适用场景 说明 apache benchmark 压力测试 - 官网 安装 CentOS Ubuntu 1 > yum -y install httpd-tools 1 2 > apt-get update > apt-get install apache2-utils 'use strict'; var containerId = JSON.parse("\"31dde0bba24e14e7\""); var containerElem = document.getElementById(containerId); var tabLinks = null; var tabContents = null; var ids = []; if (containerElem) { tabLinks = containerElem.

F2etest
· ☕ 1 min read
介绍 技术 特性 适用场景 说明 F2etest 前端浏览器兼容性测试 F2etest是一个面向前端、测试、产品等岗位的多浏览器兼容性测试整体解决方案。 - Github - 语雀文档 - 安装

selenium
· ☕ 5 min read
介绍 技术 特性 适用场景 说明 Selenium - 数据爬取 - 自动化测试 - 官网 - Doc - Getting started 基础 元素定位 假如我们有一个Web页面,通过前端工具(如,Firebug)查看到一个元素的属性是这样的: 1 2 3 4 5 6 7 8 9 10 <html> <head> <body link="#0000cc"> <a id="result_logo" href="/" onmousedown="return c({'fm':'tab','tab':'logo'})"> <form id="form" class="fm" name="f" action="/s"> <span class="soutu-btn"></span> <input id="kw" class="s_ipt" name="wd" value="" maxlength="255" autocomplete="off"> <a class="mnav" href="http://news.baidu.com" name="tj_trnews">新闻</a> <a class="mnav" href="http://www.

Appmon
· ☕ 1 min read
介绍 AppMon是一个自动化框架,用于监视和篡改本机macOS,iOS和Android应用程序的系统API调用。 它以Frida为基础。 它由以下组件组成: AppMon Sniffer - 拦截API调用以找出应用程序执行的有趣操作 Appmon Intruder - 操纵API调用数据以创建更改应用程序的原始行为 AppMon Android Tracer - 在Android APK中自动跟踪Java类,方法,参数及其数据类型 AppMon IPA安装程序 - 在非越狱的iOS设备上创建并安装“可检查的”IPA AppMon APK Builder - 在非root用户设备上创建APK“inspectable” AppMon使得成为macOS / iOS / Android相当于这个项目的apimonitor和GreaseMonkey。对于移动渗透测试人员来说,这应该成为一个有用的工具,可以通过源代码扫描程序验证安全问题报告,并在运行时检查API并监控应用程序的整体活动,并专注于看似可疑的事情。您还可以使用预定义的用户脚本在运行时修改应用程序的功能/逻辑,例如: 欺骗DeviceID 欺骗GPS坐标 伪造应用程序内购买 绕过TouchID 在当前版本中,我们能够同时连接Apple的CoreFoundation API以及Objective-C方法(即使它是通过桥接头在Swift应用程序中完成的)。 官网 Github WIKI 安装 MacOS安装 1 $ 参考 AppMon Sniffer Demo on non-jailbroken iOS device AppMon Intruder Demo - iOS BurpSuite SSL CA Certificate Installation AppMon Intruder Demo: TouchID bypass AppMon IPA Installer: Use AppMon, even, on non-jailbroken iDevices 在iOS应用程序中使用Frida绕过越狱检测

Appium
· ☕ 5 min read
介绍 官网 Introduction to Appium Getting Started Appium example tests 安装appium Mac 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # get node.js $ brew install node # get appium $ npm install -g appium # get appium client $ npm install wd # 启动Appium $ appium & # 验证安装 $ npm install -g appium-doctor # 验证是否正确设置了ios所有依赖项 $ appium-doctor --ios # 验证是否正确设置了android所有依赖项 $ appium-doctor --android # 设置Appium客户端 $ cd /Users/iamwlb/Documents/Workspace/appium $ npm init -f $ npm install webdriverio 安装可选项 安装opencv4nodejs 图像比较功能。

fio
· ☕ 2 min read
介绍 fio是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括: sync mmap libaio posixaio SG v3 splice null network syslet guasi solarisaio … 安装 yum安装 1 2 3 $ yum install libaio-devel fio -y $ fio -v fio-2.2.8 手动安装 1 2 3 4 5 6 7 $ yum install libaio-devel -y $ cd /usr/local/ $ wget http://brick.kernel.dk/snaps/fio-3.5.tar.gz $ tar -zxvf fio-3.5.tar.gz $ cd fio-3.5 $ make $ make install $ fio -v 参数说明 filename 指定文件(设备)的名称。可以通过冒号分割同时指定多个文件,如filename=/dev/sda:/dev/sdb。