07 2021 档案
摘要:代码定义 package com.example.demo.common; public class ServiceException extends RuntimeException { private static final long seriaVersionUID = 1L; private
阅读全文
摘要:前言 SpringBoot的默认配置文件格式是.properities,同时也支持***.yaml或***.yml 1、指定启动的环境 spring: profiles: active: dev 2、给springboot服务命名(配合springcloud时非常有用) spring: applic
阅读全文
摘要:一、idea配置文件 application.yml spring: profiles: active: dev application-dev.yml server: port: 8081 application-test.yml server: port: 8082 application-ua
阅读全文
摘要:Componment:声明为springboot的bean Repository:用于dao层的bean Autowired:用于向一个bean注入其他的bean Service:用于service层的bean Configuration:用于声明springboot的配置文件类 Value("${
阅读全文
摘要:一、检查pom文件是否有打jar包的插件 二、把springboot服务打成jar包 mvn clean install -U -DskipTests 三、使用命令行启动springboot服务 java -jar demo-0.0.1-SNAPSHOT.jar
阅读全文
摘要:SpringBootApplication:springboot主类,用来加载springboot各种特性 RsetController:Spring会转换返回值并自动将其写入HTTP响应 RequestMapping:用于类和方法,在方法级别时,用于处理HTTP的各种方法 RequestBody:
阅读全文
摘要:一、问题现象 最近在练习vue项目时,遇到这样的一个问题,很是奇怪,编译是ok,点击也能弹窗,但还是会报错 vue源码 <template> <div> <template> <v-tabs :value="0" background-color="primary"> <v-tab @click="
阅读全文
摘要:现象 Avoided redundant navigation to current location: 避免了对当前位置的冗余导航 解决方案 在 route.js 中添加以下代码 //获取原型对象上的push函数const originalPush = VueRouter.prototype.pu
阅读全文
摘要:标签方式跳转 <router-link :to="{path:'/',query: {id: 'testQuery'}}">返回列表测试Query</router-link> 脚本方式跳转 this.$router.push({ name: 'productIndex',params: { id:
阅读全文
摘要:Vue.config.productionTip = false这句代码是在入口文件里的 1.先看看没有这句代码的效果 这张图上面 显示出来的就是没有这句代码的效果 他说(You are running Vue in development mode. Make sure to turn on pr
阅读全文
摘要:一、需求背景 在我们使用VSCode编写vue项目的时候,为了更加高效的编码,比如联想补充功能,我们需要额外的进行一些安装插件以及配置 二、安装插件 Vetur Vue 2 Snippets JS-CSS-HTML Formatter HTML Snippets 三、进行配置 修改setting.j
阅读全文
摘要:一、Unittest Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,Unittest则是Python语言的标准单元测试框架。 Unittest支持自动化测试,测试用例的初始化、关闭和测试用例的
阅读全文
摘要:一、检查node、npm、vue-cli的版本,需保持到最新版本 传送门 备注:此步非常重要,版本不兼容,会出现各种安装报错 二、在命令行执行vue ui,就会出现图形化管理界面 三、三个标签,点击创建 1、填写项目名称、选择包管理器、是否初始化git 2、选择插件配置方式 3、选择手动配置项目将会
阅读全文
摘要:一、保持node.js的版本是最新的 传送门 二、升级npm版本 传送门 三、修改npm包管理器的registry为淘宝镜像(npm.taobao.org) npm config set registry https://registry.npm.taobao.org 四、重新卸载安装最新的vue和
阅读全文
摘要:查看Vue版本号 npm list vue 备注:需要在项目的目录下执行查询命令 查看cli版本号 vue -V
阅读全文
摘要:查看npm当前版本 npm -v 升级到最新版本 npm install -g npm 升级到指定版本 npm -g install npm@6.8.0
阅读全文
摘要:一、下载 下载地址传送门 二、安装 一路傻瓜式的安装即可 三、设置成中文 1、打开vscode 2、安装插件,直接点击插件的按钮 3、在搜索框直接输入:Chinese (Simplified) Language Pack for Visual Studio Code,自行选择中文繁体或者是中文简体,
阅读全文
摘要:一、下载node.js node.js的官方下载地址 传送门 二、配置node和npm 1、打开node.js的所在安装目录 2、在NodeJs文件目录下建立”node_global“及”node_cache“两个文件夹: 3、在当面目录下启动cmd,依次输入如下命令(node_global和nod
阅读全文
摘要:一、vue-cli是什么 vue-cli基于webpack构建,并带有合理的默认配置 关于webpack webpack是一个JavaScript应用程序的静态模块打包器 二、全局安装(直接安装最新版本) npm install @vue/cli -g 三、验证是否安装成功 vue -V 备注: 在
阅读全文
摘要:一、现象 终端输入命令:vue ui,没有响应 二、原因 版本太低版本低于3时没有ui功能 三、解决方案 升级 四、具体步骤 1、卸载低版本 npm uninstall vue-cli -g 2、安装最新版本 npm install @vue/cli -g 3、重新启动 vue ui 效果:
阅读全文
摘要:一、需求背景 在现在的项目架构中,经常会对接口进行加解密的需求,来加强安全性,特别是金融行业更是如此,如银行。那么,假如我们也是采用的restassured来封装apiobject,但是又不想破坏原来的结构,那又如何来实现呢。 二、解决方案 restassurde的filter 1、filter机制
阅读全文
摘要:描述类 @DisplayName ("创建部门") @Description("这个测试方法会测试修改部门的功能") 结构类 类标识 @Epic ("企业微信接口测试用例") @Feature ("部门相关功能测试") 方法标识 @Story ("创建部门测试") 关联外部系统 @Issue ("d
阅读全文
摘要:目录 功能测试 性能测试 兼容性测试 界面测试 可用性测试 安全性测试 本地化测试 功能测试 1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。 2.输入错误的用户名或者密码,验证登录会失败,并且提示相应的错误信息。 3.登录成功后能否能否跳转到正确的页面 4.用户名和密码,如果太短或者
阅读全文
摘要:参考博客: https://www.cnblogs.com/jiangknownet/archive/2021/03/02/14468348.html
阅读全文
摘要:参考博客: https://www.cnblogs.com/jiangknownet/archive/2021/03/02/14468348.html
阅读全文
摘要:样式和交互层面的 Bug,大概率都是前端的 Bug。 数据和文案相关的 Bug,大概率都是后端的 Bug。(测试时host配置也会影响) 拿移动端来说,最简单但是又最实用的办法是对比测试,即 Android 和 iOS 对比测试, 假如说 Android 和 iOS 都有问题,可能是后端 Bug;
阅读全文
摘要:要抓取日志具体分析 1、查看 crash 日志。 // Android APP 可以用 adb 命令去查看:adb logcat *:E | grep CRASH// iOS 日志获取方式:参考:https://www.cnblogs.com/lesten/p/14295526.html 2、一般成
阅读全文
摘要:参考博客: https://www.cnblogs.com/jiangknownet/archive/2021/03/02/14468348.html
阅读全文
摘要:一、功能测试 1、输入关键字,查看返回结果是否正确,返回的文本长度需限制 可查到结果的关键字、词、语句,检索内容、链接正确性; 不可查到结果的关键字、词、语句, 特殊内容,如空、特殊字符串、标点符号、极限值等, 2、结果显示:标题、卖家、销售量,单行/多行,是否有图片 3、结果排序:价格、销量、评价
阅读全文
摘要:一、幂等性概念 1、幂等简介 编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。就是说,一次和多次请求某一个资源会产生同样的作用影响。 2、HTTP请求 遵循Http协议的请求,越来越强调Rest请求风格,可以更好的规范和理解接口的设计。 GET:用于获取资源,不应有副作用
阅读全文
摘要:一、需求背景 在某个时间点,线上的某个接口不正常。开发说把接口名称以及其请求和响应发出来,我去后台查看具体的日志。那么我们的restassured接口框架有没有办法实现呢 二、解决方案 使用restassured的Filters 三、官网说明 过滤器允许您在实际提交之前检查和更改请求,并在返回到期望
阅读全文
摘要:线程安全测试 一、线程安全原理 什么是线程安全?通俗的讲,就是保证多个线程同时对某一对象进行操作时不会出错。比如两个客户端,同时对某个课程进行报名操作并记录总数,如果不加以并发控制,那么就会出现对当前报名总数脏读的情况。 案例分析 企业微信部门创建 总结:线程安全问题出现的三个必要条件: 1、多线程
阅读全文
摘要:一、问题现象 在使用maven编译源代码时,遇到如下问题 [INFO] Changes detected - recompiling the module! [INFO] Compiling 30 source files to D:\Interview\java\framework\junit5\
阅读全文
摘要:一、问题描述 在使用mvn编译项目源代码的时候,遇到编码GBK的不可映射字符,如下: 二、解决思路 解决这个问题的思路: 在maven的编译插件中声明正确的字符集编码编码——编译使用的字符集编码与代码文件使用的字符集编码一致!! 三、解决方案 安装系统之后,一般中文系统默认字符集是GBK。我们安装的
阅读全文
摘要:一、需求背景 1、自动化测试:一个自动化测试脚本有成千上万条用例,每次执行的时间在小时级别,leader说为了能先于用户知道线上的问题,能否加快脚本的执行速度 2、功能测试:不使用jmeter等工具,使用junit5实现来测试接口是否存在线程安全以及分布式线程安全问题,是否有做幂等性处理 3、功能测
阅读全文
摘要:分层 脚本层 task层 apiObject层 数据层 幂等性 时间戳命名法 执行前后恢复环境 独立性 数据自给自足 逻辑解耦 容错性 尽量使用软断言 只对必要的检查点进行断言
阅读全文
摘要:问题现象 测试代码 @Test @Description("查询部门") @DisplayName("查询部门") void listDepartment() { String createName = "CreateName" + FakeUtils.getTimeStamp(); String
阅读全文
摘要:一、问题现象 在做自动化的时候,想使用参数化功能,数据源为CSV,但是遇到以下问题 Classpath resource [/data/department/createDepartment.csv] does not exist org.junit.platform.commons.Precond
阅读全文
摘要:一、原因分析 1、权限问题 现在的程序都是需要经过用户授权,才能访问相册 2、照片格式 图片的格式一般有PNG,JPG等,但是IOS11后的手机拍照出来的格式是HEIC,假如程序没有对这种情况做处理,会发生上传失败 3、图片太大 现在的新手机分辨率比较高,拍出来的照片一般都很大,程序处理不好,会造成
阅读全文
摘要:二维码概述 二维码本身就是一个URL,只是通过QR码的形式把URL和用户身份信息转换成二进制的0和1,二维码中黑色的色素块代表1,白色的色素块代表0,我们通过相机扫码,就获取了二维码中的URL 测试用例罗列(含扫码支付的相关内容) 界面测试: 界面的按钮和文字说明是否清晰、正确; 界面的设计风格是否
阅读全文
摘要:前言 概述 过程详解 一、DNS解析 二、TCP三次握手 三、 发起HTTP请求 四、服务器响应HTTP请求 五、浏览器解析 六、浏览器进行页面渲染 七、服务器关闭TCP连接 前言 当我们在浏览器栏输入:https://blog.csdn.net/dianxin113 的时候,具体发生了什么呢?这个
阅读全文
摘要:一、需求背景 结合rest-asssured和junit5,对项目的增删改查实现了自动化测试,并且想让增删改查4个接口有序执行 二、解决方案 junit5的TestMethodOrder和@Order注解 三、具体步骤 1、官网定义 用于为注解的测试类配置测试方法执行顺序; 类似于 JUnit 4
阅读全文
摘要:方法总结 1、看断网情况 把手机的网络断掉。然后点开页面。然后可以正常显示的东西就是原生写的。 显示404或则错误页面的是html页面。 2、看布局边界 可以打开开发者选项中的显示布局边界,页面元素很多的情况下布局是一整块的是h5的,布局密密麻麻的是原生控件。页面有布局的是原生的否则为h5页面。(仅
阅读全文
摘要:闪退原因总结 1、网络异常 无网下操作 无网、wifi、移动网络三种网络切换 弱网,弱网场景下,服务端没有及时的响应 程序没有做好网络保护,会造成app闪退 2、app程序没有对接口返回的数据做好兼容性 接口返回的数据千差万别,有null,""," ",假如app端没有很好进行处理的话,会造成闪退
阅读全文
摘要:一、问题现象 在使用rest-assured调用企业微信创建部门接口时,遇到如下问题: java.lang.IllegalStateException: You can either send form parameters OR body content in POST, not both! at
阅读全文
摘要:需求背景 在使用idea新建类的时候就可以自定义类名称和描述,不用在新建好再写 解决方案 使用File and Code Templates 具体步骤 1、打开Setting 2、搜索File and Code Templates,选择Class 3、输入如下模板: /** * @program:
阅读全文
摘要:一、新建maven工程 二、pom文件加入依赖 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> <scope>compile</sco
阅读全文
摘要:问题现象 在项目工程使用slf4j-log4j12的时候,代码出现如下: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger i
阅读全文
摘要:问题现象 项目工程出现 log4j:WARN No appenders could be found for logger (com.wechat.TestClass). log4j:WARN Please initialize the log4j system properly. log4j:WA
阅读全文
摘要:一、需求背景 不想在代码里再手写类似于private static final Logger logger = LoggerFactory.getLogger(TestClass.class);的语句,提高效率。 二、解决方案 使用Idea Live Templates代码模板技术 实时模板可让您快
阅读全文
摘要:获取包名 1、命令行获取获取 windows adb shell pm list packages | findstr "项目app关键字" linux或mac adb shell pm list packages | grep "项目app关键字" 2、从AndroidManifest.xml文件
阅读全文
摘要:核心关键 接口 接口是连接前端和后端的重要桥梁,作为测试人员,我们必须要对项目的接口熟悉,才能很好区分bug缘由。 定位工具 代理抓包工具:Charles、fiddler等代理工具 核心要素 请求URL,传参、响应,前端渲染 1、请求URL错误,前端问题 2、请求URL正确,传参错误,前端问题 3、
阅读全文
摘要:一、charles简介 Charles 是一个 HTTP 代理/HTTP 监视器/反向代理,它使开发人员能够查看他们的机器和 Internet 之间的所有 HTTP 和 SSL/HTTPS 流量。 这包括请求、响应和 HTTP 标头(其中包含 cookie 和缓存信息)。 二、相关概念 1、对称加密
阅读全文
摘要:在我们的项目工程里面,经常需要对properties的文件,下面是其实现 test.properties jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/future?useUnicode=true&cha
阅读全文
摘要:在循环结构中,当循环条件不满足或者循环次数达到要求时,循环会正常结束。但是,有时候可能需要在循环的过程中,当发生了某种条件之后 ,提前终止循环,这就需要用到下面几个关键词: continue :指跳出当前的这一次循环,继续执行下一次循环 public class ContinueTest { pub
阅读全文
摘要:简介 JsonPath是一种简单的方法来提取JSON文档的方法。它支持的编程语言有很多,如java、python、JavaScript和PHP。 JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容。 maven依赖 <!-- http
阅读全文
摘要:jq介绍 jq是一款非常强大的用来将复杂的数据解析成json格式的工具。 jq官网 https://stedolan.github.io/jq 安装 安装chocolatey 以管理员身份运行cmd。输入一下命令 @"%SystemRoot%\System32\WindowsPowerShell\v
阅读全文
摘要:添加maven依赖 <!-- allure报告的库 --> <dependency> <groupId>io.qameta.allure</groupId> <artifactId>allure-junit5</artifactId> <version>RELEASE</version> <scop
阅读全文
摘要:接口自动化测试项目介绍 测试接口应用:http://www.weather.com.cn/data/cityinfo/ 接口功能:获得对应城市的天气预报 编程语言:java 接口框架:Rest-Assured 请求方法:get 自动化测试运行框架:Junit5 项目框架:Maven 开发工具:Int
阅读全文