自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VUE环境安装及启动项目

node.js环境安装

2022-06-05 20:09:12 253

原创 从RabbitMQ转为RocketMQ的测试

2022-03-01 19:02:42 1826

原创 存储过程实用

存储过程一些常见的语法CAST(v AS SIGNED)一些常见的语法CAST(v AS SIGNED)语法为:Cast(字段名 as 转换的类型 )可以转换的类型为如下类型:BINARY[(N)]CHAR[(N)] 字符型DATE 日期型DATETIME 日期和时间型DECIMAL float型SIGNED intTIME 时间型UNSIGNED [INTEGER]...

2021-09-13 11:19:29 168

原创 postman后置处理数值型变量过长的问题

2021-02-04 13:59:43 755

原创 文件上传下载

文件上传下载测试分析点如何在手机里找到文件Android手机下载路径安卓手机-腾讯qq-文件下载路径/Android/data/com.tencent.mobileqq/Tencent/QQfile_recv安卓手机-微信-文件下载路径/Android/data/com.tencent.mm/MicroMsg/Download安卓手机-微信-对文件操作“保存到手机”,下载路径/内部存储/Download/Weixin其他应用同理,可以按照上述规律找到相应的路径。找不到

2020-11-26 13:48:48 1508

转载 安全测试关注的几个方面

代码层面安全保障【扫描】+业务层面安全保障安全测试流程安全交付评审代码、依赖安全性扫描安全测试用例安全测试执行需求阶段破坏者思维审视需求,找出存在的漏洞,找出可以破坏的规则代码层面-扫描静态代码扫描 sonar三方组件的扫描数据脱敏敏感数据是否做了加密,数据落库查询,比如:账户密码、商家卡密敏感数据传输时是否加密,比如登陆、注册、找回密码、修改密码、支付、卡号密码等接口,抓包验证跨目录权限-垂直权限​ 垂直权限攻击又叫做权限提升攻击。其原理是由于Web应用没有做权限

2020-11-10 15:30:45 450

原创 IM即时通讯场景

基本功能介绍联系人列表:查找、个人信息查看、加好友请求、处理加好友请求聊天界面聊天功能按钮:语音、文本、图片、表情、文件、电话、视频聊天消息展示:各种消息UI显示元素与处理逻辑流畅的使用体验:大量不同类型消息显示,不能卡顿即时显示聊天消息历史消息加载消息发送通道接收方在线,发送消息接收方不在线,发送消息发送消息过程中,socket长连接是否可用,消息实时、可靠、时序一致等消息接收通道接收消息,在发送方的“已读”消息断线重连重复消息,接收处理消息轮序,接收处理so

2020-11-06 18:08:55 1321

原创 JMeter测试WebSocket协议接口

导入相关jar包或者可以通过JMeter Plugin Manager下载JMeter5.3版本不兼容WebSocket相关jar包,表现为:界面不断拉长WebSocket Sampler使用Timeout 超时设置:连接超时时间、响应超时时间。Streaming Connection : 选择这个TCP session要不要保持,如果勾上标识连接会一直存在,如果没有勾上,那么得到第一次响应后该链接就会被关闭。Response Pattern : 采样器将等待含有该标识的消息并继续通信(或者

2020-11-06 17:10:35 257

转载 域名访问过程

一般域名解析顺序1) 浏览器缓存  当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在);  2) 系统缓存  当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP;  3) 路由器缓存  当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以上三步均为客户端的DNS缓存;  4) ISP(互联网服务提供商)DNS缓存  当在用户客服端查找不到域名对应IP地址,则

2020-11-05 17:01:59 6691

原创 同源策略与跨域访问与跨域攻击CSRF

参考文章:https://blog.csdn.net/qq_38128179/article/details/84956552同源策略浏览器的同源策略限制,是浏览器最核心也最基本的安全功能。web基于同源策略构建,浏览器是针对同源策略的实现。同源策略会阻止一个域的js脚本和另外一个域的内容进行交互。同源指协议+域名+端口三者相同可以在一定程度上防止跨域攻击CSRF。跨域访问访问不同源,即跨域。协议不同、域名不同(主域名、子域名)、端口不同比如https://www.baidu.com:808

2020-11-03 17:18:07 601

原创 IE浏览器版本兼容

win系统对应IE版本win10系统 默认IE11版本参考文章:https://blog.csdn.net/Dorothy1224/article/details/76977505根据用户群体使用设备、使用浏览器习惯,有针对性的做兼容测试。IE浏览器的版本设定,辅助版本兼容测试切换版本可以达到测试不同IE版本的目的。IE兼容模式IE浏览器–>工具–>兼容性视图设置一个问题:由于系统太旧,写死了浏览器版本IE8只做记录:因为功能A只适用于IE8,开发写死了默认版本,功能B

2020-11-02 15:43:21 463

原创 按键精灵物理实现重复点击

按键精灵安装及基本使用参考文章:https://jingyan.baidu.com/article/456c463b3ed16a0a58314483.html一些简单应用元素定位抓抓定位元素,自我感觉并不准确录制方式定位元素位置,同样的,会有很多多余的脚本。胜在简单实现重复点击我准备了很简单的脚本,配合脚本属性设置。'==========以下是按键精灵录制的内容==========MoveTo 1010, 995LeftClick 1LeftUp 1脚本属性:按下中止键

2020-10-28 17:47:54 1259

原创 重复提交问题

场景描述表单提交,重复提交,导致生成相同的两条记录。情况罗列APP重复提交:1.弱网环境下点击【提交】后页面跳转较慢,此时再次点击【提交】。2.提交后通过滑动屏幕返回前一页面再次点击【提交】。3.提交后通过点击【返回】退到前一页面再次点击【提交】。Web端重复提交:1.弱网环境下点击【提交】后页面跳转较慢,此时再次点击【提交】。2.提交后,在服务端响应慢的情况下,【刷新】提交请求。3.使用浏览器【后退】按钮重复之前的操作,导致重复提交表单。4.使用浏览器【历史记录】重复提交表单。5.

2020-10-28 17:35:21 794

原创 抢红包场景分析

抢红包:Redis+Lua脚本参考文章:https://blog.csdn.net/hengyunabc/article/details/19433779/方案介绍概念:大红包(原始红包)、小红包(拆分后的红包)1.发红包成功后,预先生成小红包,插入数据库,红包对应的用户ID是null。2.大红包对应两个redis队列,未消费队列、已消费队列。3.redis中用一个map,过滤已经抢到红包的用户。3.抢红包请求发出后,进行业务校验:请求参数校验、解析用户信息、解析红包信息与红包可抢数量4.利

2020-10-28 09:44:48 651

转载 APP兼容测试

https://www.jianshu.com/p/c3ba4e3b2f0a?from=singlemessage

2020-10-20 15:42:18 304 1

原创 普通断言与Harmcrest断言

普通断言AssertHarmcrest断言引入依赖,自带的core功能不全<!-- https://mvnrepository.com/artifact/org.hamcrest/hamcrest-core --><dependency> <groupId>org.hamcrest</groupId> <ar...

2020-10-20 15:36:12 835

转载 单点登录

参考文章:https://blog.csdn.net/xiaoguan_liu/article/details/91492110单点登录Single Sign On(SSO)场景多个应用系统,A、B、C、、、,每个业务系统都是独立的,注册方式、用户账号不同。将A、B、C三个独立的系统进行整合,目的是为了使用户只需要登录一次就可以访问所有相互信任的应用系统。功能包括单点登录和单点注销两部分。背景Http无状态单系统可以借助Cookie,建立浏览器与服务端的状态多系统不能借助Co

2020-10-19 16:36:44 222

转载 APP崩溃原因罗列--找到一篇比较详细的文章来转载

转载文章:https://blog.csdn.net/qq_22795513/article/details/74590956接口返回值[直接原因]:app无法解析接口返回值/获取不到要获取的参数/参数类型不对 导致客户端代码报错[引起原因]:脏数据/网络问题导致接口超时或漏了数组元素/前后台没有统一参数类型标准/参数名错误/实体消失[解决办法]:在网络顺畅/不顺畅情况下抓包,对着api文档一个一个的参数对比,返回值有数组可以横向对比,可能是其中某个元素内的某个参数和其他元素内的这个参数有内容不同/

2020-10-16 20:19:08 1355

转载 Linux软件安装命令

参考文章:https://www.cnblogs.com/hanzhi/articles/10046003.html---- Linux下软件的安装主要有两种不同的形式。第一种安装文件名为filename.tar.gz。另一种安装文件名为 filename.i386.rpm。以第一种方式发行的软件多为以源码形式发送的。第二种方式则是直接以二进制形式发行的。i386即表示该软件是按 Inter 386指令集编译生成的。  ---- 对于第一种,安装方法如下:  ---- 首先,将安装文件拷贝至你的目录中

2020-10-16 16:01:56 431

原创 Ubuntu环境搭建Docker

Ubuntu环境搭建Docker检查kernel版本,是否在3.10以上uname -r卸载旧版本sudo apt-get remove docker docker-engine docker.io containerd runcorsudo apt-get remove -y docker-*允许apt通过https使用repository安装软件包sudo apt-get install \ apt-transport-https \ ca-certificates \

2020-10-10 14:02:53 565

原创 Docker基本命令

docker操作启动dockersystemctl start docker重启dockersystemctl restart docker关闭dockersystemctl stop docker查看全部容器docker ps -a查看正在运行的容器docker ps查看镜像docker images删除镜像docker rmi 镜像id删除容器docker rm 容器id容器重命名docker rename 原容器名 修改后容器名查看容器日志docker Logs

2020-10-10 14:02:02 444 1

原创 Linux常用命令

Linux常用命令文件管理对文件:增删改查、重命名、权限对目录:增删查、重命名、切换、复制、移动查看当前目录对文件内容:查看、检索、排序、过滤、统计、编辑mkdir test 单目录mkdir -p test/test1 多级目录mkdir -m 777 test 创建目录的同时,赋予权限rmdir testrmdir -p test/test1 删除多级目录rm -i 删除询问rm -f 直接删除 不询问rm -r 递归删除chmod 777chmod u=rwx,g=rw

2020-10-10 13:53:16 142

原创 docker容器、宿主机通信等

docker info查看配置信息里面有不同的网络模式。网络模式:默认的模式桥接网络bridge,这个是所有网络模式的基础。以后可以扩展其他的网络模式。bridge与host的区别:bridge模式,与容器之间的寻址是借助虚拟网卡,不会影响当前宿主机所在的网络环境;而host模式,与容器之间的须知是借助物理网卡,所以可能会影响到当前宿主机所在的网络环境。容器之间的网络隔离:通过网络名称...

2020-10-09 17:58:35 987

原创 TestNg与Junit5的异同

TestNG与Junit的异同相同点1.注解形式2.单元测试框架,可以进行单元测试3.都是java工具4.都支持:参数化测试、异常测试、超时测试、忽略测试不同点1.TestNG可以实现多线程并发测试2.TestNG可以实现只运行失败的case3.TestNG允许依赖测试4.TestNG可以分组测试5.Junit的BeforeAll、AfterAll需要static,TestNG不需要6.TestNG可以通过优先级字段priority确定执行顺序7.TestNG中子类不会运行父类的B

2020-10-09 17:19:51 1004

原创 测试报告

方法一:TestNG自动生成测试报告路径:工程下test-output文件方法二:reportNG测试报告方法三:引入Allure依赖,在Jenkins中集成Allure【推荐】参考文章:https://www.cnblogs.com/clairejing/p/9755201.html

2020-10-09 16:43:20 83

转载 TestNG注解、几种测试类型介绍

注解@BeforeSuite@AfterSuite:测试套件前后执行@BeforeCLass@AfterClass:测试类前后执行@BeforeMethod@AfterMethod:每个测试方法前后执行@Test忽略测试//false忽略测试,跳过@Test(enable = false)public void ignore1(){ System.out.println("ignore1执行")}//true的情况可以不写,相当于正常执行@Test(enable = tr

2020-10-09 16:05:59 294

原创 Junit4、5:参数化、运行器、注解、执行过程

什么是Junit?单元测试框架Junit特点:JUnit 是一个开放的资源框架,⽤用于编写和运⾏测试。提供注解来识别测试⽅方法。提供断⾔言来测试预期结果。JUnit 测试允许你编写代码更更快,并能提⾼高质量量。JUnit 优雅简洁。没那么复杂,花费时间较少。JUnit测试可以自动运⾏并且检查⾃自身结果并提供即时反馈。所以也没有必要人工梳理测试结果的报告。JUnit测试可以被组织为...

2020-10-09 15:25:15 1021

原创 数据库连接

数据库连接:JDBC连接1.创建BaseConn类,封装创建连接、关闭连接方法涉及到java.sql.Connection、java.sql.DriverManager、java.sql.SQLExceptionpublic Connection getConnection(String url,String user,String pwd){ Connection conn = null; try{ conn = DriverManager.getConnection

2020-10-09 14:54:31 125

原创 IE中的SSL认证问题

如何解决IE中的SSL认证问题//打开浏览器后添加下面的命令driver.navigate().to("javascript:document.getElementById('overridelink').click()");driver.get("javascript:document.getElementById('overridelink').click();");

2020-10-07 15:34:17 332

原创 勾选框、下拉框、文件上传、截图、页面滚动、多窗口、日历

关于勾选框//验证元素是 enable 或者 disableboolean enabled = driver.findElement(By.xpath("xpath ex")).isEnabled();//验证元素是否被选中selectboolean checked = driver.findElement(By.xpath("xpath ex")).isSelected();//验证元素是否显示displayboolean displayed = driver.findElement(By.x

2020-10-07 15:29:47 477

原创 Selenium处理Ajax控件

如何处理Selenium的Ajax控件加入一个文本框是一个Ajax控件,当我们输入一些文本时,他会显示自动建议的值。处理这样的控件,需要在文本框输入值之后,捕获字符串中所有建议值,然后分隔字符串取值就可以了。需要了解Ajax是什么,原理是什么,在页面上的表现是什么参考文章如何处理webDriver中的Ajax控件Ajax代表异步JS和XML。它不依赖于创建有效的XML所需的打开和关闭的标签的额外开销。大部分时间webDriver自动处理Ajax控件和调用。如果不能处理的话,可以按照下面的方式来处

2020-10-07 15:18:54 598

原创 Selenium简介

Selenium是什么,流行的版本有哪些web自动化测试框架,支持多种编程语言,支持跨浏览器平台进行测试Selenium1.0 / Selenium RCSelenium 2.0/Selenium WebDriverSelenium 3.0几种版本之间的区别是什么参考文章Selenium webDriver优于Selenium RC的优点是什么1.WebDriver的架构相对Selenium RC简单2.WebDriver比Selenium更快,因为直接与浏览器对话,并使用浏览器自己的引擎

2020-10-07 15:10:38 465

原创 “不受信任的证书”问题

Firefox//创建FirefoxProfileFirefoxPrifile profile = new FirefoxProfile();//点击继续浏览不安全的网站profile.setAcceptUntrustedCertificates(true);//使用带条件的profile去创建一个driver对象WebDriver driver = new FirefoxDriver(profile);Chrome//创建DesiredCapabilities的对象DesiredCap

2020-10-07 15:07:30 440

原创 get与navigate方法

get和navigate方法的主要区别get方法能获得一个页面进行加载、获取页面源码、获取文本。navigate通过刷新、回退、前进的方式导航partialLinkText.部分链接文本可以通过调用navigate()方法来实现driver.get()方法会等到这整个页面被加载后才可以进行执行;driver.navigate()只是重定向到该网页,不会等待。navigate的使用方法都有哪些参考文章...

2020-10-07 15:06:55 780

原创 鼠标、键盘事件

鼠标事件点击双击右击悬浮拖拽长按释放滚动:创建js,执行js即可实现原理:Actions//定位元素webElement element = driver.findElement(By.id("1"));//创建Actions对象Actions action = new Actions(driver);//点击,比较简单element.click();//双击action.doubleClick(element).build().perform();//右击acti

2020-10-01 17:20:56 825

原创 PO设计模式

什么是PO-PageObject设计模式总的来说可以分成四点:1.封装driver、元素操作方法,作为基础类,以供调用;2.创建页面返回类,用于返回各个界面3.创建页面page类,封装元素定位与业务操作方法4.创建testcase,调用页面的业务操作方法。实现driver层、定位元素与用例脚本的分离PO设计模式中的页面跳转实现以上介绍中的页面返回类,可以实现页面的跳转,举个实际的例子public Class App extends BasePage{//ContactPage是创建的通讯

2020-10-01 16:42:19 417

原创 ajax、iframe、新窗口打开、弹窗元素定位

弹窗类型的不同,定位元素前的处理方式不同。ajax 直接定位即可iframe:switchTo一般熟悉的前端界面,比较容易看出、猜出哪里用到了iframe,如果没有看出,也可以F12看一下driver.switchTo().frame(0);打开新窗口:switchTo//切换到最新的窗口driver.switchTo().window((String)driver.getWindowHandles().toArray()[-1]);//获取所有窗口的句柄信息driver.get

2020-10-01 16:05:05 420

原创 线程等待、显示等待、隐式等待、pollingEvery、页面加载超时设置

显示等待与隐式等待的区别显示等待:最多等待多长时间,直到出现给定条件的情况停止等待,到达等待时间抛出异常隐式等待:没有条件限制,固定等待给定的时间长度在BasePage中封装显示等待方法,提供给页面定位元素时调用public static WebDriver driver;//封装显示等待方法public void waitClickable(By by,int time){ new WebDriverWait(driver,time).until(ExpectedConditions.

2020-10-01 13:05:32 843

原创 获取、添加、删除cookie

cookie操作方法//获取单个cookiedriver.manage().getCookieName("");//获取所有cookie【set<Cookie>】driver.manage().getAllCookies();//添加单个cookiedriver.manage().addCookie(Cookie cookie);//获取所有Cookie,循环添加//删除单个cookiedriver.manage().deleteCookieNamed("");//删除所有的

2020-10-01 13:03:16 240

原创 webDriver、client、浏览器原理

webDriver client、浏览器的原理是什么在selenium启动之后,driver充当了服务器的角色,跟client、浏览器进行通信。client根据webDriver协议发送请求给driver,driver解析请求,并且在浏览器上执行相应的操作,并把执行结果返回给client。webDriver的协议是什么http...

2020-10-01 12:41:54 377

空空如也

空空如也

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

TA关注的人

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