一. 语法结构 12345public class Demo{ public static void main(String[] args) { System.out.println("你好,java"); }} 说明: Demo :表示一个类,类名为 Demo,与文件名相同 public: 表示一个公有的类 public static void main:表示一个主方法,即程序的入口(固定写法) System.out.println("你好,java"); : 表示输出到屏幕,“;”表示语句结束 Java 语言严格区分大小写; 每个语句都必须以 “ ;” 结束; 括号都是成对出现的; 一个源文件只能有 一个 public类,其他类的数量不限; 每一个类在编译完成后,都会生成一个 “ .class ” 文件 如果原文件包含 public 类,则文件名必须与 类名相同; 二. 常用的转义字符 字符 说明 案例 运行结果 \t 制表符 System.out.println(“北京\t天 ...
一、元素定位 定位模式 是否脱标 移动位置 是否常用 static(静态定位) 不脱标 不能使用边偏移 很少 relative(相对定位) 不脱标(占有位置) 相对自身位置移动 常用 absolute(绝对定位) 脱标(不占有位置) 带有定位的父级 常用 fixed(固定定位) 脱标(不占有位置) 浏览器可视区 常用 sticky(粘性定位) 不脱标(占有位置) 浏览器可视区 当前阶段少 1. 定位的组成 定位 : 将盒子定在某个位置,所以 定位也是在摆放盒子,按照定位的方式移动盒子 定位 = 定位模式 + 边偏移 定位模式:指定一个元素在文档中的定位方式边偏移 : 决定了该元素的最终位置 语法:1position: static | relative | absolute | fixed 定位模式: 参数 含义 static 静态定位 relative 相对定位 absolute 绝对定位 fixed 固定定位 sticky 粘性定位 边偏移: 边偏移属性 示例 描述 top top: 80 ...
一、浮动1. 浮动网页布局第一准则:多个块级元素纵向排列使用标准流,横向排列使用浮动 浮动:用于创建浮动框,将其移动到一边,直到边缘触及包含另一个浮动框的边缘 语法:1选择器 {float: 属性值;} 属性值 描述 none 元素不浮动(默认) left 元素向左浮动 right 元素向右浮动 代码示例 12345678910111213141516171819202122232425262728293031323334353637<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" ...
一、 安装 locust1pip install locust 验证是否安装成功1import locust 1. HttpUser(User)在User类中,具有一个client属性,它对应着虚拟用户作为客户端所具备的请求能力。 继承 HttpUser 类。HttpUser 是最常用的用户类。它添加了一个client属性,用于发出 HTTP 请求。 其client属性绑定了HttpSession类,而HttpSession又继承自requests.Session。 通过client属性来使用Python requests库的所有方法,调用方式也与requests完全一致。 client的方法调用之间就自动具有了状态记忆的功能, 从而后续HTTP请求操作都能带上登录态。 虽然Locust 仅内置了对 HTTP/HTTPS 的支持,但它可以扩展到测试几乎任何系统。只需要基于User类实现client即可。我们可以使用 locust-plugins ,这个是第三方维护的库,支持Kafka、mqtt,webdriver等测试。 2. TaskSet在 TaskSet 子类描述业务测试 ...
一、 什么是性能测试? 通过工具,找出或获得系统在不同工况下的性能指标值 性能测试过程中,重点是找出**性能指标**,而不再是找出 Bug, 性能测试的产出绝对不只是 Bug 案例:跑步100米,用时多少?运动员的心跳、步伐频率是多少? 跑步100米:业务场景 用时多少:响应时间 运动员的心跳、步伐:性能指标值 性能指标值和响应时间是否满足当前业务场景的最低要求(合格线) 二、 获取基准值假设当前有一个业务电商系统,下单业务,目前还不知道系统支持多少人同时下单,那么我们需要找到服务器能正常支持多少人同时下单 性能测试初始阶段(第一次做) 先把基础的性能指标值找出来(第一次性能测试也叫做基准测试) 比如:100个人同时下单系统正常,但120个人同时下单就会出现部分请求的响应时间超长,连接异常 那么100-120范围内的某个值就是当前服务器能达到的性能指标值(基准值) 版本迭代,进行第二次做性能测试,重新跑一遍之前的性能脚本 又会得到一些性能指标值,对比上个版本的性能指标值,看是否有优化(性能变化) 假设这个时候120个人同时下单是正常的,150个人才有异常,那么接口已经有优化了 ...
一、 序列化器中的类属性字段序列化 中所定义的 类属性 字段,一般情况下与 模型类 字段 相对应 默认情况下,这些类属性字段既可以进行序列化输出,也可以进行反序列化输入 不需要输入(反序列化)、输出(序列化)的字段,则不需要定义,定义的字段 则必须出现在 fields列表中 只需要反序列化输入,则定义 write_only = True 只需要序列化输出,则定义 read_only = True 响应的参数如果是多个查询集,需要在 JsonResponse() 中传参 many=True label:当前字段在前端的api页面中所显示的字段名称 allow_null = False:当前字段是否允许传None,默认是False(必填字段False,反之则True) allow_blank = False:当前字段是否运行为空,默认是False(必填字段False,反之则True) required=False:当前字段允许不传,默认是True(必填字段True,反之则False) 二、反序列化_校验机制调用序列化器对象的 is_valid() 方法,校验前端参数的正确性,不调 ...
1.0 版本需求: 1.完成一个端口的扫描 123456789101112131415161718192021222324252627import socketdef scanPort(): # 1.使用 TCP 协议扫描端口 sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2.设置连接时间 sk.settimeout(0.5) scan_ip = input("请输入需要扫描的IP:") scan_port = input("请输入需要扫描的port:") try: # 3.创建连接 conn = sk.connect_ex((scan_ip, int(scan_port))) if conn == 0: print(f'主机:{scan_ip},端口:{scan_port} 已开放。') # 4.关 ...
模型关联关系 用例和项目之间的关联可以直接通过config,因为config是套件和用例的扩展,相当于用例和套件本身 。 一、 模块的包管理1. 创建模型包 如果模型过多时,需要把模型分别存储。 在应用中创建一个名为 models 的包,将所有的模型文件全部存放在 该文件夹下, 删除原来的 models.py 文件。 2. 创建 模型文件在 __init__.py 文件中,要使用 显示明确的方式导入每个模型,这样不会让命名混淆,便于可读。 123456# sqpt/models/__init__.pyfrom .hr3 import Request, Case, Config, Suite, Stepfrom .auth import Userfrom .base import CommonInfofrom .mgr import Environment, Project hr3.py 存放所有核心数据模型 mgr.py存放所有项目管理相关模型 1234567891011121314151617181920212223242526272829303132333435363 ...