测试题库:计算机网络
使用jenkins实现hexo博客自动发布
本文介绍使用jenkins来进行自动发送博客,检测博客项目是否有文件增加或者修改,如果有改动就执行本地构建和发布。
PS:写这篇文章时还不了解Github Actions服务,刚好用过Jenkins,所以使用Jenkins来实现博客自动发布。如果你只想实现Hexo博客push后触发自动编译发布到GitHub Pages或者Gitee Pages,可以使用Github Actions服务,实现起来更加简洁方便,具体实现可参考使用GitHub Actions实现Hexo博客自动发布。
算法笔记:排序算法
测试开发
问题
Session、Cookie和Token介绍
HTTP是一个无状态无连接的协议,无状态指服务器不知道客户端的状态,比如使用用户名密码认证成功后,在下一次的请求中,服务器不知道用户是谁,如果需要后续服务,需要进行重新认证。然而,在某些场景,我们需要保存某些状态,比如在购物网站进行商品购买时,在某个域名下浏览多个网页,选择多个商品,这种情况下需要保存已加入购物车的商品信息,在需要支付时,也要保存用户认证信息。为了实现保存用户登录状态,可以使用session或者token解决HTTP协议的无状态特性。
无连接指客户端与服务器之间的HTTP连接是一种一次性连接,每次连接只处理一个请求。服务器处理完客户端的请求后断开连接,下次请求再重新建立连接。如果网页内容比较复杂,需要请求大量资源的情况下使用无连接的方式会很低效。HTTP/1.0版本新增了 keep-alive 字段,可以让连接保持一段时间。
下面介绍解决HTTP无状态和无连接这两种特性的技术方法。
UI自动化测试:键盘输入之Android keycode
列出UI自动化测试中用到的keycode
Selenium Grid:在多个主机上并行执行自动化脚本
Selenium Grid是selenium提供的一个分布式测试工具,将自动化脚本发布到多个物理机或者虚拟机(跨平台、跨浏览器)上执行,通过一个中心节点来控制多个设备,也就是在中心节点(hub)上运行测试,在其它节点(node)上执行,实现selenium的并行执行。除了可以在多个设备上运行测试脚本以外,也可以实现多浏览器兼容性测试。它本身不提供多线程并发执行,需要结合多进程技术实现并行执行用例。
Netdiscover网络扫描工具
Netdiscover是一种网络扫描工具,通过ARP扫描发现活动主机,可以通过主动和被动两种模式进行ARP扫描。通过主动发送ARP请求检查网络ARP流量,通过自动扫描模式扫描网络地址。本文介绍Netdiscover的安装和使用方法。
Pytest插件开发
Pytest测试框架功能非常多,它其实就是由一组插件组成的,具有大量的插件,可以通过插件来扩展、定制功能,能满足大部分的测试需求。本文介绍pytest插件的开发方法,帮助更好的理解pytest测试框架。
算法笔记:递归、动态规划
动态规划是求解决策过程最优化的过程,可以高效求解那些可以分解为高度重复子问题的问题,应用非常广泛,比如解决最短路线、NLP等实际问题。
hydra暴力破解工具
Hydra是一款暴力破解工具,进行并行登录破解,破解远程服务的用户名密码,由黑客组织THC开发,它可以对超过50个协议进行快速字典攻击,包括telnet、ftp、http(s)、smb、MySQL、SMTP等。
系统性能监控:Prometheus + Grafana 监控服务器性能
Prometheus 是一个开源的服务监控系统和时间序列数据库,是一款开源系统监控和警报工具,在测试领域中,我们可以使用Promethues来监控压力测试时服务端的性能。
Nmap扫描工具介绍
Nmap (Network Mapper) 是在渗透测试中常用的扫描工具,可用于扫描网络中的 IP 地址和端口,并检测已安装的应用程序。无论是作为网络安全工具还是黑客工具,Nmap 是一个很强大的工具,在《黑客帝国2》电影中就有出现,用于入侵发电站的能源管理系统。本文将介绍 Nmap 的安装和常用命令。