自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot中自定义注解

注解是一种能被添加到java代码中的元数据(python中的函数装饰器),类、方法、参数、变量和包都可以用注解来修饰。用来定义一个类、属性或者一些方法,以便程序能被捕译处理。相当于一个说明文件,告诉应用程序某个被注解的类或者属性是什么,要怎么处理。对被修饰的代码本身没有直接影响。使用范围:1)为编译器提供信息:注解能被编译器检测到错误或抑制警告。2)编译时和部署时的处理: 软件工具能处理注解信息从而生成代码,XML文件等等。3)运行时的处理:有些注解在运行时能被检测到。自定义注解的步骤:第一步:

2022-04-09 13:44:17 7545 1

原创 Maven中的settings.xml文件

今天新电脑重新下载了IDEA,下载了两个测试项目,一个是公用框架,一个是本身的自动化测试框架,当然是用maven管理jar包。也是生疏了,公用框架的jar包都导入进来了,自动化测试框架却始终提示jar包无法加载,这些没办法加载的jar包都是同事写的。看了一下pom.xml文件格式什么的都是正确的,包名也没问题,想了半天才发现应该是settings.xml文件的问题。网上有很多说settings.xml文件大概会存在两个地方:C:\Users\XXX\.m2这个位置,还有一个就是maven安装位置。找了半

2022-04-08 19:23:10 4379

原创 QA自己动手写前端接口暴露和调用

前两篇说了比较基础的页面跳转和数据获取,这次说一下比较主要的接口调用步骤。我们获得数据后需要发送请求给后端服务器处理,然后获取对应的返回结果。现在一个功能需求就是通过选择的日期来获取对应的数据列表,前面我们已经说过了,日期我们是可以通过组件返回的value数组来获取。那么我们就需要在对应的事件方法中去把这个数据发出去,这里你不需要明白怎么发,因为公用的request包都已经写好,你只需要把数据发送到对应的url即可,这里可以把前端理解为postman。所以首先你要先想清楚你需要哪些请求,是post还

2020-06-16 18:37:32 1162

原创 QA自己动手写前端VUE的跳转和数据的获取

上周算是初步认识VUE,这周末在家开始规划项目开发,考虑可能用到的组件,然后恶补这些用法。单页面的组件开发就不说了(标题、菜单、表单、日期选择框等等),参考VUE elementui模板去添加,还是比较简单的。添加组件这里需要注意的是要注意层级关系。el-form下面才是el-form-item,el-table下面才是el-table-colum另外在嵌套组件的时候还是遇到了点困难。最开始依样画葫芦,新建了一个新的VUE,主要用来显示表格,然后把它放在index.vue里面,目的就是为了方便管理

2020-06-15 17:23:24 294

原创 QA自己动手写前端初识VUE

pycharm安装vue插件之后开始了新技能之旅,因为现在前后端都需要自己写了。前后端交互的事情后面会更新,但这里不会涉及。看了很多资料。最开始的三个目录App.vue、main.js、index.html,右边是我自己新建的项目,左边是一个已经比较成熟的项目。这三个文件最熟悉的就是那个后缀为html的文件,毕竟之前写过最简单的静态页面来存放一些服务器的地址和一些内部网站的链接。使用cnpm run dev启动vue,可以看到已经项目已经正常启动的提示。点击弹出的链接就可以打开大家都熟悉的那个vu

2020-06-11 21:38:46 295

原创 类继承中的public和protected关键字的简单举例

类继承中的public和protected关键字的简单举例public class A{ protected String getUrl = ".....";}public class B extends A{ public void function(){ String result = JavaDefinedfunction(super.getUrl); }}这里需要用...

2019-12-02 20:54:02 231

原创 Appium、Selenium、Webdriver的运行原理与机制

说起UI自动化测试,我们基本需要掌握Appium、Selenium、Webdriver这几种测试框架,那么这三者之间有什么联系,他们的原理是什么呐?简单来说就是:Selenium2就是将浏览器原声的API封装成Webdriver API,Webdriver是基于http协议的Appium是基于Webdriver协议添加对移动设备自动化api扩展而成的,基于tcp/ip协议推论:凡是牵扯到...

2019-11-01 14:25:43 1359

原创 一次弄懂性能、压力、负载测试

谈到性能测试就不得不说压力、负载测试,其实叫法有很多种,而且他们所用到的工具以及关注的指标大致相同,所以很容易混淆。太难了!先举个最通俗易懂的例子:举例: 一个人扛X斤负载测试:200斤情况下,能否坚持5分钟。(满足最基本的要求)压力测试:200,300,400…情况下,他的表现,什么时候失败,失败之后什么表现,重新扛200是否正常。(最大承受的条件)容量测试:在坚持5分钟的情况下,他一次...

2019-10-10 18:01:50 4488

原创 一次弄懂黑白灰盒测试

我们听到最多的就是黑盒和白盒测试,那么什么是黑盒白盒?任何工程产品都可以使用以下两种方法之一进行测试**黑盒测试:**一直产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。**白盒测试:**一直产品的内部工作过程,可以通过测试证明每种内部操作都符合设计规格要求,所有内部成分是否进行检查黑盒测试软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子...

2019-10-10 15:43:51 5065

原创 JAVA基础编程题

https://blog.csdn.net/wenzhi20102321/article/details/52274976【程序1】题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子的对数是多少?(这个就是找了多年的树杈问题:假设有一棵树没有树杈,长出新树杈三个月之后变成老树杈,老树杈每个月可长出一个新树杈)/**...

2019-09-24 17:58:55 202

原创 RocketMQ

RocketMQ做为一款纯java、分布式、队列模型的开源消息中间件,支持事务消息、顺序消息、批量消息、定时消息、消息回溯等。专业术语Producer消息生产者,生产者的作用就是将消息发送到MQ,生产者本身既可以产生消息,如读取文本信息等。也可以对外提供接口,由外部应用来调用接口,再由生产者将收到的消息发送到MQ。Producer Group生产者组,简单来说就是多个发送同一类消息的生...

2019-09-24 15:06:39 187

原创 SQL索引

https://v.youku.com/v_show/id_XNDMzMTI2MzA3Ng==.html?spm=a2h0j.11185381.listitem_page1.5!8~A数据库索引:按照用户任意指定的字段对数据进行排序的一种数据结构会用到哪些数据结构?hash、 avl tree(完全平衡二叉树)、B+ tree数据和页目录主键索引(默认的)这样画就更好理解了,可以感觉...

2019-09-21 15:11:47 273

原创 Java虚函数实例

java虚函数的存在是为了多态,而什么是多态,说的通俗一点就是接口的实现,接口中的方法被不同的类实现重写,从而实现同一个方法可以做不同的事情,这个就是java的多态java中其实没有虚函数这个概念,它的普通函数就相当于C++的虚函数,动态绑定是java的默认行为。如果java中不希望某个函数具有虚函数特性,可以加上final关键字变成非虚函数说道虚函数,我们从重写开始入手子类能够重写父类的方...

2019-09-20 18:05:26 4643 3

原创 java匿名内部类实例

匿名内部类,也就是没有名字的内部类正因为没有名字,所以这个匿名内部类只能使用一次,这怎么理解?很好理解,因为是匿名的,所以其他方法不能直接调用匿名内部类的方法,因为没有名字找不到这个方法,所以只能通过匿名内部类的使用方法来使用。而且匿名内部类还有一个前提条件:必须继承一个父类或者实现一个接口。这个也很好理解,匿名嘛,必须要有依托的主体才能存在。实例1:不实用匿名内部类来实现抽象方法abst...

2019-09-20 12:41:00 472

原创 整理接口测试框架

首先是接口配置文件的读取,里面有接口地址public class TestBase { public Properties prop; public static String filePath = "D:" + File.separator + "\\dnworkspace\\dongnao_1\\src\\main\\java\\com\\httpinterface\\b...

2019-09-19 17:14:57 704

原创 自动化测试中关键字驱动的例子优化

之前有写了一篇关于简单的关键字驱动的测试框架,但是仍然觉得比较冗余,今天又在网上看了几篇关于关键字驱动的例子,在这里顺便记录总结一下关键字驱动,我们把这个过程大致分为12个步骤1、自动化实现一个端对端的流程2、区分和实现动作的关键字3、设置数据引擎-Excel表4、实现java反射类5、设置java常量,一些固定的数据6、设置元素对象仓库文件7、设置测试套件执行引擎8、设置日志模...

2019-09-17 18:09:52 597

原创 java反射

https://v.youku.com/v_show/id_XMzMzMjA0NDAzNg==.html?spm=a2h0k.11417342.soresults.dposter反射是基于什么实现的?或者说反射的源头源头的字节码对象(class对象)使用反射,一定是基于字节码对象,所以第一步一定是获得字节码对象,怎么获得?一共三种方法使用频率3>2>1通过反射机制创建类...

2019-09-15 13:27:13 124

原创 自动化测试中关键字驱动的例子

个人理解自动化测试中关键字驱动的目的就是为了让更多的人参与到自动化测试中来,提高测试效率,关键字驱动框架搭建完成时候,使用起来对没有技术基础的同学来说也是十分简单的 摘录网上的一个例子: 老师对着同学们说了一句:去把桌子从A地点搬到B地点。当老师发出这个命令后,发现没有人动,因为没有明确的对象,不知道这个命令是对谁发出的,于是老师再说了一句:张三,去把桌子从A地点搬到B地点。这时候,有了明确...

2019-09-12 19:10:04 1212

原创 自动化测试中的基础问题

自动化测试中的基础问题:什么是数据驱动和关键字驱动?有哪些自动化测试框架?testng中dataprovider的工作原理是什么?selenium测试框架的工作原理是什么?自动化测试中,测试数据如何高效的维护?偏测试开发方向的问题:redis使用出现的问题以及解决办法?首先从第一点说起自动化测试里的数据驱动和关键字驱动思路的理解1.首先说可能一般测试人员使用过的测试方法,录制与...

2019-09-12 10:28:18 242

原创 接口和抽象类详解(接口继承、实现接口、抽象类继承)

先说接口:接口有 接口继承接口 和 接口的实现单个接口的实现很好理解:如“大雁”类实现了“飞翔”接口定义“大雁”类的时候直接重写“飞翔”接口中的方法就行了另一种是接口继承接口我们假设篮球运动员需要发球,女孩子需要生孩子,那么女子篮球运动员又会发球又能生孩子我们定义了一个发球的接口和一个生孩子的接口发球public interface ServeBall { public void ...

2019-09-10 11:35:22 6913 2

原创 算法----归并排序(非递归和递归)非递归有点类似合并有序链表

/** * 传入两个有序数组a和b,返回一个排好序的合并数组 * */ public static int[] sort(int[] a, int[] b){ int[] c = new int[a.length + b.length]; //定义元素下标 int aNum = 0, bNum = 0, cNum = 0; while (aNum < a.l...

2019-09-09 15:58:26 215

原创 Redis快速上手

基本操作redis(remote dictionary server)redis缓存有两种类型:数据缓存,页面缓存在开发网站的时候一些数据不会在短时间内发生变化,那么可以将网页信息放到读取速度更快的介质上(内存)或者通过较少的计算量就可以获得该数据。介质可以是文件、数据库、内存、内存进场用于数据缓存页面缓存:经常用在CMS内容管理系统中数据缓存:页面的具体数据中,如一个电商的网页,里面...

2019-09-07 22:43:02 172

原创 算法----翻转单链表

遍历反转发:遍历翻转法是从前往后翻转各个结点的指针域的指向。基本思路:将当前结点current的下一个结点current.next缓存到temp后如(1->2->3->4,当前结点是1,当前结点的下一个结点2缓存到temp中),然后更改当前结点指向上一个结点newhead(1指向null),也就是说在翻转当前结点的指针指向前,先把当前结点的指针域用temp临时保存。然后先前结点...

2019-09-05 10:40:10 182

原创 算法----插入排序InsertSort每一循环取一个元素插入到前面的有序数组中

public class InsertSort { public static int[] sort(int[] array){ int j; //从下标为1的元素开始选择合适的位置插入,因为下标为0的只有一个元素,默认是有序的 for(int i = 1 ; i < array.length ; i++){ //...

2019-08-30 21:33:58 145

原创 算法----选择排序ChoiceSort从无序的数组中找到最小的数放到有序数组的最后面

选择排序ChoiceSort每一次从带排序中选出一个最小的,放在已排序序列的后边public static int[] ChoiceSort(int[] array){ //需要进行多少轮比较 for (int i = 0; i < array.length - 1; i++) { int min = i; //从第i个后面开始比较,一直比较到最后找到最小的 f...

2019-08-30 21:13:08 299

原创 算法----递归(二分查找和汉诺塔)

二分查找(非递归):不用考虑数组长度是奇数还是偶数的问题 public int BinarySearchOne(int[] array, int target){ int low = 0; int high = array.length; //这里是while因为是非递归循环,所以要找完了才会跳出循环,里面用if做判断 while(low <= high){ in...

2019-08-30 21:12:55 134

原创 策略模式----这次一定要弄懂

先假设一个场景:某个市场人员接到单后的报价策略。报价策略很复杂,可以简单作如下分类:普通客户小批量报价普通客户大批量报价老客户小批量报价老客户大批量报价具体选用哪个报价策略,这需要根据实际情况来确定。这时候我们采用策略模式即可。采用不同的策略应付不同的模型。如果我们不采用策略模式,我们会怎么处理呐?写if else循环 public double getPrice(String ty...

2019-08-30 10:07:35 164

原创 UML类图基本画法

简单介绍一下UML常见的六种画法,包括类、接口、依赖关系、关联关系、聚合关系、合成关系贴一个综合图类 简要画法类有三个单元格的矩形(以上图中的动物类为例)第一格:类名称(如果是抽象类,类名标注为斜体字)第二格:雷属性名称第三格:类操作名称类属性或者操作的访问修饰符的标注:public用 + 标注private用 - 标注protected用 # 标注接口 简要画法接口有两...

2019-08-29 12:26:25 658

原创 Spring入门3----Spring的重重重点AOP

Spring 的核心概念—AOP,这也是 Spring 框架中最为核心的一个概念。它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。什么是切...

2019-08-28 18:52:14 120

原创 Spring入门2----DI的各种类型变量注入方法

Dependency Injection,依赖注入简单来说什么是依赖注入,就是给属性赋值(包括基本数据类型和引用数据类型)这里我们定义一个类,里面包含了我们常见的数据类型,顺便定了getter和setter里面包含常量String ,int double这种以及数组和集合另外就是其他的类的实例,这里给其他类的实例赋值public class Student { private St...

2019-08-28 15:11:11 192

原创 Spring入门1----IOC控制翻转

IoC(Inversion of Control,控制反转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。这是什么意思呢,举个简单的例子,我们是如何找女朋友的?常见的情况是,我们到处去看哪里有长得漂亮身材又好的mm,然后打听她们的兴趣爱好、qq号、电话号、ip号、iq号………,想办法认识她们,投其所好送其所要,然...

2019-08-27 21:55:41 113

原创 mybatis详解4----入门实例一对一

实际开发中,我们做项目不可能只是单表操作,往往会涉及到多张表之间的关联操作。那么我们如何用 mybatis 处理多表之间的关联操作呢?首先我们先说一对一的方式:什么是一对一?假设一个订单只能由一个用户创建,那么由订单到用户就是一对一的关系换个说法就是一个订单只能由一个用户创建,从订单表出发去用户表中找数据,一条订单表中的数据只能对应用户表中的一条数据!注意!这里我们没有说一个客户可以创建多个订...

2019-08-26 17:04:26 120

原创 mybatis详解2----入门实例

我们最开始引入mybatis的时候的步骤:1.先配置mybatis-configuration.xml文件,可以对里面的数据库连接信息进行参数化,利用自己定义的jdbc.properties文件进行参数的读取。2.定义返回查询数据的实体类,里面包含了getter和setter以及返回值toString的方法。3.编写对应的mapper.xml文件,里面注意mapper标签中的 namespa...

2019-08-25 21:58:06 566

原创 HashMap源码分析----需要记住的

Map接口是另外一个老祖先Hash表也称为散列表,也有直接译作哈希表,Hash表是一种根据关键字值(key - value)而直接进行访问的数据结构。也就是说它通过把关键码值映射到表中的一个位置来访问记录,以此来加快查找的速度。在链表、数组等数据结构中,查找某个关键字,通常要遍历整个数据结构,也就是O(N)的时间级,但是对于哈希表来说,只是O(1)的时间级。①、为什么要有散列函数?②、多个...

2019-08-22 15:24:06 129

原创 LinkedList源码分析----需要记住的

Collection老祖先,是一个接口,List和Set是众多子接口中最常用的两个。List子接口(有索引,存的是地址,如数组对象存的是数组的首地址,所以数据可以重复)ArrayList(使用比较多,因为一般都是存数据)、LinkedList、Vector实现类其实就是双向链表 LinkedList 有两个构造函数,第一个是默认的空的构造函数,第二个是将已有元素的集合Collection...

2019-08-22 10:34:51 82

原创 ArrayList源码分析----需要记住的

Collection老祖先,是一个接口,List和Set是众多子接口中最常用的两个。List子接口(有索引,存的是地址,如数组对象存的是数组的首地址,所以数据可以重复)ArrayList(使用比较多,因为一般都是存数据)、LinkedList、Vector实现类ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复。对于 ArrayList 集合添加元素,我们总结一...

2019-08-22 10:04:00 129

原创 常用的SQL语句汇总----从此不再纠结

最基本:增删改查数据库基本都是弱语法,所以英文大小写,空格自己稍微注意一下就好创建表格//最简单的建表creat table table_name;drop table table_name;//顺便创建表中的字段名称、属性和主键,注意要加括号creat table user_2019 (user_id int(8) PRIMARY_KEY,user_name varchar(1...

2019-08-16 17:29:05 267

原创 mybatis详解1----入门实例

mybatis说到底,两个jar包:mybatis,mysql-connector-java+两个配置文件,mybatis.xml和自定义的Mapper.xml这两个配置文件的名字可以自定义1.首先要创建数据库,做为查询的对象2.创建一个java工程,web,app都可以maven,ivy都可以,这里面以简单的app java项目+maven为例在pom.xml文件中添加:前两个是必须的,...

2019-08-12 15:19:59 141

原创 Java集合

Collection老祖先,是一个接口,List和Set是众多子接口中最常用的两个。Map接口是另外一个老祖先List子接口(有索引,存的是地址,如数组对象存的是数组的首地址,所以数据可以重复)ArrayList(使用比较多,因为一般都是存数据)、LinkedList、Vector实现类Set子接口(无索引,数据不能重复)HashSet(无序)、TreeSet(有序!注意!可不是添加顺序...

2019-08-10 18:49:03 109

原创 Java IO详解------字符输入输出流(通过包装流统计文件中指定字符串出现的个数等多个操作)

前面我们介绍了字节流,但是字节流有一个问题,如果需要打印或者在控制台显示文件中的内容,如果文件中还有中文,不同编码一个中文字符占用的字节数是不固定的,这就会造成输出乱码的情况,那么如何避免这种情况?这里就引入了字符流为什么要使用字符流?  因为使用字节流操作汉字或特殊符号语言的时候容易乱码,因为汉字不止一个字节,为了解决这个问题,建议使用字符流。什么情况下使用字符流?  一般可以用记事本打...

2019-08-09 11:07:11 274

空空如也

空空如也

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

TA关注的人

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