python+request+pytest+auller 搭建接口自动化测试框架
从零搭建完整python自动化测试框架(UI自动化和接口自动化 )——持续更新
1、VNC:虚拟专用网络
- VNC(Virtual Network Console)是虚拟网络控制台的缩写。它 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的。
- VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和 MAC 中的任何远程控制软件媲美。
- 在 Linux 中,VNC 包括以下四个命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多数情况下用户只需要其中的两个命令:vncserver (服务器端的应用程序)和 vncviewer(客户端的应用程序)。
2、端口作用
我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。
3、LSF:资源的管理和批处理作业的调度
LSF基本介绍和使用
LSF(Load Sharing Facility)是IBM旗下的一款分布式集群管理系统软件,负责计算资源的管理和批处理作业的调度。它给用户提供统一的集群资源访问接口,让用户透明地访问整个集群资源。
LSF简单使用手册
4、Git ; GitHub; Gitlab :版本控制
- Gitlab 和Github都是第三方基于git开发的产品
- gitlab免费支持私人仓库,而github私人仓库需收费。
- github只支持搭建本地服务器的个人github,只能供个人使用。 而gitlab提供开源代码,支持企业自己用企业买的服务器搭建企业gitlab,供公司所有人使用。适合团队内部协议开发。
- gitlab可以搭建公司/个人的服务器,存储数据安全。
- 目前主流都是公司用自己买的服务器去搭建公司内部使用的gitlab,且gitlab支持一些插件写入自己的服务器脚本,从而可以设置公司每位成员的文件使用权限,从而确保公司项目代码的最大程度的保密和安全!!
5、Gitee(码云):代码托管平台
gitee 与 github的功能比对
- github:国外的,访问慢,私有项目收费
- gitee 国内的,访问快,全部免费
6、SVN:开源版本控制系统
SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
7、Gerrit :代码审核(Code Review)
Gerrit 是建立在Git版本控制系统之上并且基于Web的一个免费开源的轻量级代码评审工具, 用于在代码入库之前对每个提交进行审阅。
作为开发者和Git之间的一层屏障,不允许直接将本地修改内容同步到远程仓库中。
与Jenkins集成后,可以在每次提交代码后,人工审核代码前,通过Jenkins任务自动运行单元测试、构建以及自动化测试,如果Jenkins任务失败,会自动打回本次提交。
一般Git、Gerrit和Jenkins集成后的使用流程
- 开发者提交代码到Gerrit
- 触发对应的Jenkins任务,通过以后Verified加1
- 人工审核,审核通过后code review加2,触发对应的Jenkins任务
- 通过以后确认本次提交,Gerrit执行与Git仓库的代码同步操作
- 代码进入Git仓库
Gerrit之前的系统架构
Gerrit之后的系统架构(通过Gerrit机制将代码做分隔)
8、gitk:git图形化工具
gitk 是一个强悍的git图形化工具。它可不仅仅是命令行的一个替代产品,实际上它能实现很多命令行并不能提供的git功能。所以不要认为它和命令行是git操作的两种实现工具。
学会使用gitk,排查git问题
gitk详解
gitk的用法
9、FTP:文件传输协议
文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个**“三次握手**”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。
用户并不需要真正登录到自己想要存取的计算机上面
- FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。
- 用户可用FTP程序(如:FileZilla)访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。
- FTP的传输有两种方式:ASCII、二进制。
10、Jenkins:持续集成自动化、自动化编译脚本
Jenkins持续集成自动化测试
Jenkins+Python自动化测试持续集成详细教程
Jenkins是一个开源的软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
11、Squish:自动化GUI测试
自动化GUI测试Squish
Squish — 基于Qt的HMI自动化测试工具
- GUI(Graphical User Interface)图形用户接口
- Qt(应用程序开发框架)
- HMI(Human Machine Interface)人机界面
- BDD(Behavior-Driven Development)行为驱动的开发与测试
在创建现代复杂的GUI应用程序的时候,功能GUI测试是程序开发和QA的一个重要组成部分。在一个可接受的时间内,手动测试无法独自审查应用的缺陷。自动化GUI测试可以快速的生成一个可靠的、可重复的结果和一小段时间的执行。自动化GUI测试帮助测试工程师提高测试的覆盖率,快速发现错误并尽早修复, 从而节省了时间和金钱。
底层GUI测试技术的工具:Squish平台有两大产品:
◆ Squish:自动化GUI测试
◆ Squish CoCo:代码覆盖率分析
12、Qt :应用程序开发框架
13、Postman:API(接口)调试工具
Postman安装与使用
Postman:API & HTTP 请求调试插件
14、Redmine:项目管理系统
Redmine是国内和国际上非常流行的项目管理系统
禅道、Gitee(码云)、coding、redmine、jira、teambition几大敏捷开发项目管理系统试用对比体验
15、VPN:虚拟专用网络
虚拟专用网络(VPN:Virtual Private Network)的功能是:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN可通过服务器、硬件、软件等多种方式实现。
16、htop:交互式进程浏览器
在管理进程时通常要借助一些工具,比较常用的就是ps和top了;不过CentOS还为我们提供了一个更加强大的工具htop。
htop 是一个 Linux 下的交互式的进程浏览器,可以用来替换Linux下的top命令。
它类似于 top 命令,但可以让你在垂直和水平方向上滚动,所以你可以看到系统上运行的所有进程,以及他们完整的命令行。
可以不用输入进程的 PID 就可以对此进程进行相关的操作 (killing, renicing)。
htop:Linux进程浏览器
详细内容:
17、tkdiff:GUI 文本比对工具
tkdiff 是另外一种跨平台,易于使用的 GUI 文本比对工具,可以运行在 Linux ,Windows 及 MacOS 系统上。它同样提供一个左右分开的界面,用于查看对比的两个文件。但是,它也有一些其它文本对比工具没有的功能,比如差异书签,以及一个便于快速定位导航差异点的导航图。
18、bcompare:用于比较文件、文件夹、代码和合并源代码
缺点:不开源,付费
bcompare即Beyond Compare 是一个综合的比对工具。 可比对的对象包括纯文字档、资料夹、zip 压缩案、FTP 站,等等。
ubuntu 安装 Beyond Compare 安装,永久破解方法
19、XMail:电子邮件服务器软件
XMail是开放源代码的免费电子邮件服务器软件,功能强大稳定,兼容性好,可以运行在linux、windows、sun、bsd等各种平台上。
20、oge :封包工具
21、gedit:文本编辑器
gedit是一个GNOME桌面环境下兼容UTF-8的文本编辑器。
在终端里,可以直接运行gedit
命令打开编辑器,也可以运行“gedit 文件名
”打开指定文件,
- GNOME 即GNU网络对象模型环境 (The GNU Network Object Model Environment)。
- 在大多数主流现代 Linux 发行版(包括 RHEL、Fedora、Debian 和 Ubuntu)中,GNOME 作为默认桌面而广泛使用。
22、wiki :多人协作的写作系统
Wiki是一种在网络上开放且可供多人协同创作的超文本系统。
23、selenium:WEB自动化测试工具(开源)
🐖 selenium官网上有非常多的学习资料,可以直接学习。
selenium官网网址