自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 收藏
  • 关注

原创 性能测试基础

响应时间Response Time,简称RT,指的是服务端处理完一个请求所花费的时间,通常时间单位为毫秒ms。在系统达到性能瓶颈之前,TPS和并发数成正比关系,即并发数越高,TPS越高;测试方法以及场景设计原则(基准测试、单交易负载测试、混合场景测试、高可用性测试、稳定性测试、其他特殊场景)服务端性能:测试服务端项目程序的支持的并发、处理能力、响应时间等,主要通过接口来做性能测试。TPS和平均响应时间成反比关系,即平均响应时间越小,TPS就越高。平均响应时间越短,代表性能越好,TPS就越高。

2023-12-11 21:15:17 1315

原创 selenium原理

3、浏览器驱动程序中定义了selenium所有的操作对应的操作, Command.GET: (‘POST’, ‘/session/$sessionId/url’) 这个地址就是实现访问一个网址的url。2、向浏览器驱动发送请求,并返回特定响应信息(新建了一个sessionid),打开浏览器。2、浏览器驱动(webdriver)。不同的版本、不同的浏览器都需要对应的驱动;1、cmd命令,启动chromedriver.exe浏览器驱动。4、浏览器通过驱动程序把测试结果返回到脚本。

2023-12-05 22:47:27 741

原创 docker安装redis

接下来就是要将redis 的配置文件进行挂载,以配置文件方式启动redis 容器。(挂载:即将宿主的文件和容器内部目录相关联,相互绑定,在宿主机内修改文件的话也随之修改容器内部文件)2)、挂载redis 的持久化文件(为了数据的持久化)。docker search redis查看,或者登录。redis.conf 可以通过官网下载。1)、挂载redis的配置文件。docker挂载配置文件。

2023-12-04 17:13:49 542

原创 python练习——找出字符串最后一个只出现一次的字符,并且找到下标

【代码】python练习——找出字符串最后一个只出现一次的字符,并且找到下标。

2023-12-04 00:13:49 750

原创 Jenkins——节点

Jenkins服务运行在一台服务器上,但是服务器的资源时有限的,那Jenkins服务的构建速度也是有限的。当项目比较多或规模大时,会超出Jenkins的构建能力。单个Jenkins不能满足需求,但是布置多个Jenkins服务比较麻烦,管理起来也比较麻烦。Jenkins提供节点管理,可以类似“分布式”的方式来满足不同的需求。Jenkins服务一般叫主机点,不同的node节点成为从节点。Jenkins服务类似与管理者,通过设置的连接方式,向节点。

2023-12-01 14:22:09 740

原创 Selenium——isDisplayed()、isEnabled()、isSelected()

isEnabled():boolean——用来判断界面元素是否是可用的,返回值为boolean值。返回boolean值,则可以考虑结合判断语句一起使用。isSelected():boolean——通过该方法来判断界面上的某个元素是否是选中状态。isDisplayed():Boolean——该方法用来判断页面上该元素当前是否显示。isDisplayed() 方法。isSelected() 方法。isEnabled() 方法。

2023-11-29 15:50:47 1888

原创 python-字符串常用方法

【代码】python-字符串常用方法。

2023-11-27 22:57:41 433

原创 python-if判断

【代码】python-if判断。

2023-11-27 22:41:51 448

原创 python数据类型

python数据类型。

2023-11-27 22:40:53 462

原创 python循环

可迭代对象时,例如字符串、元组、列表,多使用for循环。用户不断输入或者没有次数限制时,多使用while循环。

2023-11-27 22:39:54 573

原创 python运算符

逻辑运算符 and or not。

2023-11-27 22:38:55 594

原创 python字符串切片

z 间隔位置,也叫步长,默认1;正数从左1到右,负数从右到左。y 结束位置索引,不包括,默认到1结尾。x 开始位置索引,默认从头开始。

2023-11-27 22:37:54 381

原创 python字符串格式化

【代码】python字符串格式化。

2023-11-27 22:37:05 520

原创 自动化测试之xpath

通过匹配两个子节点来获取父类。

2023-11-25 14:46:10 400

原创 Cypress(2)——第一个Cypress测试脚本

cypress实现登录测试

2023-10-23 19:18:13 213

原创 Cypress(3)——调试Cypress脚本

调试Cypress脚本。

2023-10-23 19:17:04 222

原创 Cypress(4)——元素定位及操作

cypress元素定位

2023-10-23 19:15:35 289

原创 Cypress(1)——如何安装及测试类型简要介绍

Cypress近来非常火的测试框架,先来安装,简单使用一番。

2023-10-18 19:16:20 1014

原创 TestNg

在TestNG中,我们可以使用以下注释来执行测试类的配置,如设置/清理数据库,准备虚拟数据,部署/关闭服务器等。@BeforeSuite - 对于套件测试,在此套件中的所有测试运行之前运行。@AfterSuite - 对于套件测试,在此套件中的所有测试运行之后运行。@BeforeTest - 对于套件测试,在运行属于标签内的类的任何测试方法之前运行。@AfterTest - 对于套件测试,在运行属于标签内的类的所有测试方法都已运行之后运行。@BeforeGroups:在调用属于该组的第一个测试方法

2020-09-29 19:39:58 225

转载 集合——数组ArrayList

概述基于数组实现,支持自定扩容的动态数组。类图实现一下4个接口java.util.List 接口,提供数组的添加、删除、修改、迭代遍历等操作。java.util.RandomAccess 接口,表示 ArrayList 支持快速的随机访问。import java.util.*;public class RandomAccessTest { public static void traverse(List list){ if (list instanceof Ra

2020-08-24 16:26:12 234

原创 笔试

2020-07-18 17:49:26 293

原创 shell

1、查询某个接口访问ip及次数grep ‘限制条件’ access.2020-07-01.log | awk ‘{ips[$1]++};END{for(i in ips){print i,ips[i]}}’ | awk ‘$2>100’ | sort -k2 -rngrep ‘/api/external/wireless/newMessageCount’ access.2020-07-01.log | awk ‘{ips[$1]++};END{for(i in ips){print i,ips

2020-07-01 16:56:32 251

原创 http&https

http协议请求方式方法描述GET请求指定的页面信息,并返回实体主体。HEAD类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。PUT从客户端向服务器传送的数据取代指定的文档的内容。DELETE请求服务器删除指定的页面。CONNECTHTTP/1.1协议中预留给能够将连接改.

2020-06-29 20:23:39 320 1

原创 多线程

在 Java 中实现多线程有两种手段,一种是继承 Thread 类,另一种就是实现 Runnable 接口。线程状态创建、就绪、阻塞、运行、终止线程操作join():一个线程强制运行,其他线程要运行必须等该线程结束之后才可以sleep():线程休眠interrupt():中断线程setDaemon():后台线程setPriority():线程优先级yield():线程的礼让(一个线程调用此方法让其他线程先执行)同步及死锁synchronized(同步对象){ 需要同步的代码 }

2020-06-18 16:31:24 170

原创 Resources

针对于资源文件的统一入口。ResourceLoadercalsspath:file:http:url:(none)Resource resource = applicationContext.getResource(classpath:config.txt);resource.getFileName();

2020-06-10 19:37:41 160

翻译 线程池

线程池优点管理线程,避免增加创建线程和销毁线程的资源消耗。线程也是一个对象,创建一个对象需要经过类加载过程,销毁一个对象需要GC垃圾回收流程,都需要资源开销的。提高响应速度。相对于从线程池拿线程,重新去创建一条线程执行速度要慢很多。重复利用。线程用完放回线程池,可重复利用,节省资源。构造函数public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,

2020-06-10 16:59:18 142

原创 Spring AOP

Aspect定义在 Spring 中使用 Aspect 需要使用 @Component 直接将其标记为一个 Bean并且使用 @Aspec 注解将其标记为一个切面然后在该类中定义上面我们说的切点,通知等Pointcut定义@Pointcut(“execution(public void WeixinService.share(String))”)public void shareCut() {}切点定义在方法上,并使用 @Pointcut 注解,注解中的值便是切点的表达式切点的名称就是

2020-06-09 19:42:38 206

原创 配置的

@Required@Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationException 异常。下面显示的是一个使用 @Required 注释的示例。@Autowired@Autowired 注释可以在 setter 方法中被用于自动连接 bean,就像 @Autowired 注释,容器,一个属性或者任意命名的可能带有多个参数的方法。Setter 方法中的

2020-06-09 11:55:41 199

原创 Spring Beans自动装配

byName这种模式由属性名称指定自动装配。Spring 容器看作 beans,在 XML 配置文件中 beans 的 auto-wire 属性设置为 byName。然后,它尝试将它的属性与配置文件中定义为相同名称的 beans 进行匹配和连接。如果找到匹配项,它将注入这些 beans,否则,它将抛出异常。<bean id="textEditor" class="com.tutorialspoint.TextEditor" autowire="byName"> &l

2020-06-09 11:15:06 270

原创 依赖注入

Spring框架的核心功能之一就是通过依赖注入的方式来管理Bean之间的依赖关系。基于构造函数的依赖注入package x.y;public class Foo { public Foo(Bar bar, Baz baz) { // ... }}配置文件如下:<beans> <bean id="foo" class="x.y.Foo"> <constructor-arg ref="bar"/> &lt

2020-06-08 17:31:20 147

原创 Spring IoC容器

IoC容器容器将创建对象,把它们连接在一起,配置并管理它们的整个生命周期,从创建到销毁。Spring容器使用依赖注入(DI)来管理组成一个应用程序的组件。这些对象称为Spring Beans。Spring IoC容器利用java的POJO类和配置元数据(通过XML、java注解或java代码来表示)来生成完全配置和可执行的系统或是应用程序。“控制反转”指new实例工作不由程序员来做而是交给Spring容器来做。在Spring中BeanFactory是IcC容器的实际代表者。两种不同类型的容器:Spr

2020-06-08 16:33:44 266

原创 约瑟夫环

约瑟夫环是一个数学的应用问题,具体为,已知 n 个人(以编号 1,2,3…n 分别表示)围坐在一张圆桌周围。从编号为 k 的人开始报数,数到 m 的那个人出列;他的下一个人又从 1 开始报数,数到 m 的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。这个问题的输入变量就是 n 和 m,即 n 个人和数到 m 的出列的人。输出的结果,就是 n 个人出列的顺序。...

2020-06-05 17:37:39 204

翻译 线性表

线性表:n个数据元素的有限序列,最常用的是链式表达,通常称为线式链表或者链表。

2020-06-05 17:03:30 164

翻译 HashMap

HashMap

2020-05-31 22:51:48 223

原创 数组及基本排序算法

数组数组定义一维数组dataType[] arrayRefVar = new dataType[arraySize];dataType[] arrayRefVar = {value0, value1, …, valuek};二维数组type[][] typeName = new type[typeLength1][typeLength2];Arrays类java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。asListpublic static <T&g

2020-05-27 20:17:13 287

原创 消息中间件

概述消息队列是分布式系统的主要组件主要优势:通过异步处理提高系统性能(1、削峰,通过异步处理,将短时间高并发产生的事务消息存储在消息队列中,从而削平高峰期的并发事务;2、减少响应所需时间)降低系统耦合性(消息发送者和消息接受者之间没有直接耦合,新增业务只要对该消息感兴趣即可订阅)问题:系统可用性降低(需要考虑消息丢失、MQ挂掉等)系统复杂度提升(保证消息没有被重复消费、处理消息丢失的情况、保证消息传递的顺序性等)一致性问题(消息的真正消费者并没有正确消费消息)组成Bro

2020-05-18 15:13:05 192

原创 redis

简介为什么这么快?基于内存,不受硬盘io数据结构,操作简单单线程(主线程(io时间处理、集群协调等)是单线程,所有读写请求由一个线程处理)。可以处理并发吗?多路io复用(根据不同系统选择不同多路复用函数,优先选择O(1),select保底)memchace区别memcache支持简单数据类型不支持持久化不支持分片不支持主从redis类型丰富支持持久化支持主从支持分片类型&命令Stringset strkey “这是一个字符串”get

2020-05-17 15:51:49 178

原创 mybatis中xml文件的${}和#{}区别

${}$是将传入的数据直接显示生成sql语句${}: 仅仅为一个纯碎的 string 替换,在动态 SQL 解析阶段将会进行变量替换#{}#{}: 解析为一个 JDBC 预编译语句(prepared statement)的参数标记符,一个 #{ } 被解析为一个参数占位符 。使用#可以很大程度上防止sql注入。(语句的拼接),但是如果使用在order by 中就需要使用$.在大多数情况...

2020-03-02 22:03:56 651

原创 timestamp with time zone >= character varying

Cause: org.postgresql.util.PSQLException: ERROR: operator does not exist: timestamp with time zone >= character varyingHint: No operator matches the given name and argument type(s). You might need...

2020-03-02 19:57:03 5271

原创 Mybatis使用时 resultMap & resultType、parameterMap & parameterType

resultMap & resultType两者都是表示查询结果集与java对象之间的一种关系,处理查询结果集,映射到java对象。resultMap将查询结果集中的列一一映射到bean对象的各个属性。映射的查询结果集中的列标签可以根据需要灵活变化,并且在映射关系中,可以根据typeHandler设置实现查询结果值得类型转化,比如布尔型与0/1的类型转换,枚举值等。<resu...

2020-02-28 22:18:31 304

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除