HTTP 协议解读一、 HTTP 协议请求报文格式:四个部分 请求行:独占一行的。由:请求方法、请求路径、请求协议/版本组成。 请求头 :从第二行到第 N 行。由键值对 组成。可以有 1 对,也可以有 N 对。key:value 空行 : 独占一行的。由回车换行组成。 请求正文 :请求消息体 二、常见请求头含义 User-Agent:告诉服务器客户端的相关信息(如果是浏览器会有版本,内核等信息) referer:告诉服务器,此请求是从哪个页面上发出来 (防盗链) X-Requested-With:告诉服务器这个是一个 ajax 请求 Cookie:带给服务器的 cookie 信息 content-type:告诉服务器消息体的数据类型 application/x-www-form-urlencoded multipart/form-data application/json text/xml 三、 HTTP 响应报文响应报文格式:四个部分组成 状态行:独占一行。由协议/协议的版本、状态码、状态描述符组成 响应头:从第二行到第 N 行。由键值对组成。 空行:独占一行的。由回车换 ...
一. JDBC JDBC 为访问不同的数据库提供了统一的接口, 为使用者屏蔽了细节问题;Java 程序员试用 JDBC, 可以连接任何提供了 JDBC 驱动程序的数据库系统, 从而完成对数据库的操作 MySQL 驱动下载 : https://dev.mysql.com/downloads/connector/j/ JDBC 程序编写步骤: 注册驱动 : 加载 driver 类 在项目中创建 libs 文件夹, 将 mysql.jar 拷贝到该目录下, 将 jar 文件 添加到项目中 获取连接 : 得到 Connection jdbc:mysql : 表示规定好的协议, 通过 jdbc 连接 MySQL localhost : 表示 ip 地址 3306 : 表示监听的端口 执行增删改查 : 发送 sql 给 mysql 执行 释放资源 : 关闭相关连接 1. 数据库连接方式1234567891011121314151617181920212223242526272829303132333435363738// 数据库连接方式public class MysqlDemo ...
镜像:相当于 python 里面类的概念,是静态的,不能直接使用容器:是通过镜像创建的,相当于实例的概念,是动态的,可以访问的仓库:存放镜像的地方docker宿主机:你的 docker 安装在哪一个机器,那个机器就是宿主机 一、 CentOS 下安装 Docker1.查看服务器版本内核通过 以下命令查看服务器的内核版本,确保你的系统版本支持 Docker 只查看版本号查看详细信息查看内核及版本号1uname -r1uname -a1uname -srm 2.更新 yum 包1yum update -y 3. 清除原有 Docker123456yum remove docker \ docker-client \ docker-client-latest \ docker-common docker-latest \ docker-latest-logrotate \ docker-logrotate docker-engine 4.安装依赖包123yum install -y dnf-utils \ device-mapper-persiste ...
一、表单1. 表单必填属性 action : 提交的 URL method : 请求方法, get 或者 post enctype : 三种编码方式 application/x-www-form-urlencoded 键值对方式 multipart/form-data 二进制编码 text/plain 文本方式 2. 处理 request 判断请求方法 request.method 值是大写的 POST 、GET 、 PUT 、 DELETE 获取 post 表单数据 request.POST[key] 或者 request.POST.get() request.POST 返回的是一个字典 二、 Django 安全策略1. CSRF 防御机制settings.py 文件 CSRF : 跨站请求伪造,是一个常见的网络攻击手段。 Django 默认为开启了 防范 CSRF 攻击机制。 对于 GET 请求,一般来说没有这个问题,CSRF 通常是针对 POST 或 PUT 方法的。 2. 处理方式 将防御机制注释 1# 'django.middleware ...
1. 标题标签 <h1> to <h6>123456789101112131415<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <h1>这是 1 级标题</h1> <h2>这是 2 级标题</h2> <h3>这是 3 级标题</h3> <h4>这是 4 级标题</h4> <h5>这是 5 级标题</h5> <h6>这是 6 级标题</h6> </body></html> 2. 段落 标签 <p> 、 换行 标签 <br />12345678910111213<!DOCTYPE html><html> ...
一、 DOM web API 是浏览器 提供的一套操作 浏览器功能(BOM)和 页面元素(DOM)的 API。 DOM:处理 HTML 的标准 编程接口 1. 获取元素 通过 document 查找元素,是查找整个页面所有的元素; 通过 标签元素查找,是查找的该标签元素下的 子元素; id 获取 元素 ( getElementById() ) 获取的元素的返回值是一个对象; console.dir(元素对象) :可以查看元素的 属性 和方法; 如果没有找到元素,则返回 null; 123456<div id="time"></div><script type="text/javascript"> var el = document.getElementById('time') console.log(el)</script> 标签名 获取元素 ( getElementsByTagName() ) getElementsByTagName() : 返回一个 ...
一、注册事件的方式1. 传统方式利用 on 开头的事件,如: onclick 特点:唯一性 同一个元素同一个事件只能注册一个处理函数 2. 方法监听 方式(addEventListener()) addEventListener() ie9 以上支持,ie9 以下可以用 attachEvent() 来代替 特点: 同一个元素同一事件可以注册多个监听处理函数 语法: 1eventTarget.addEventListener(type, listener[, useCapture]) eventTarget.addEventListener() 方法将指定的监听函数注册到 eventTarget(目标对象)上,当该对象触发指定事件时,就会执行事件处理函数。 type : 事件类型 字符串,比如 click、mouseover,注意这里不要带 on listener : 事件处理函数,事件发出时,会调用该监听函数 useCapture : 可选参数,是一个布尔值,默认为 false(冒泡阶段),为 true(捕获阶段) 1234567891011121314<div c ...
浏览器操作一、 selenium 与 webdriver Selenium 是一个用于 Web 测试的工具,测试运行在浏览器中,就像真正的用户在手工操作一样。 支持所有主流浏览器,包括 IE, Mozilla Firefox, Safari,Google Chrome, Opera 等。 WebDriver 就是对浏览器提供的原生 API 进行封装,使其成为一套更加面向对象的 Selenium WebDriver API。 使用这套 API 可以操控浏览器的开启、关闭,打开网页,操作界面元素,控制 Cookie,还可以操作浏览器截屏、安装插件、设置代理、配置证书等 使用 Selenium 实现自动化测试,主要需要 3 个东西: 测试脚本,可以是 python, java 编写的脚本程序(也可以叫做 client 端) 浏览器驱动, 这个驱动是根据不同的浏览器开发的,浏览器不同,对应的驱动也不同,甚至同一浏览器不同的版本也需要不同的驱动 浏览器,目前 selenium 支持市面上大多数浏览器,如:火狐,谷歌, IE 等脚本操作驱动,驱动操作浏览器;浏览器返回给驱动,驱动返 ...
web UI 自动化实战一、 项目结构 整体的编写逻辑: 1、先设计功能测试用例 2、然后分析这个用例,用到了那些页面,哪些元素,封装在 pages 3、将功能测试用例翻译成代码 四包文件 : libs : 用于存放 基本的 代码; configs : 用于存放 配置文件; test_case : 用于存放 测试用例; tools : 用于存放 封装的 工具 四文件夹: docs : 主要用于存放 和项目相关的文件; logo : 主要用于存放 项目执行的日志; report : 用于存放报告的 原始数据; data : 用于存放 测试数据; 二、 项目内容1. configs初始化浏览器对象 —- myDriver.py12345678910111213141516171819202122232425262728293031323334353637383940from utils.mySettings import url, username, password, implicitly_time_outfrom selenium import webdriverc ...
卸载工具 - Geek下载地址:https://geekuninstaller.com/download