![](https://img-blog.csdnimg.cn/20210618180323890.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
自动化技术栈
文章平均质量分 53
主要了解接口测试,UI测试等知识
程序员路同学
九八年程序员一枚,喜欢钻研技术,从事后端开发,正努力向全栈发展,如果你有更好的技术分享,欢迎私信留言
展开
-
API接口整理收集常用Get-Post请求供测试使用
百度 api集市免费接口IP地址查询 http://apistore.baidu.com/apiworks/servicedetail/114.html频道新闻API_易源 http://apistore.baidu.com/apiworks/servicedetail/688.html微信热门精选 http://apistore.baidu.com/apiworks/servicedetail/632.html天气查询 http://apistore.baidu.com/apiworks/serv原创 2020-12-01 09:24:43 · 664 阅读 · 0 评论 -
jmeter 安装配置
一,进入官网:http://jmeter.apache.org/1.第一步进入官网如下图2.选择进行下载,下载下来为一个压缩包,解压即可。3.下载完成后,然后就进行解压。要注意版本对应的java要求,解压完成后就要配置环境变量了4.环境变量相关配置1.电脑桌面----》“计算机”图标----》鼠标右键选择“属性”----》点击高级系统设置----》高级---》环境变量页面2.开始配置环境变量了。在系统变量框,点击“新建”,建立一个变量:JMETER_HOM...原创 2020-12-22 19:18:17 · 86 阅读 · 0 评论 -
Jmeter录制脚本
性能关注点 接口响应时间:50毫秒-1000毫秒 吞度量 10000万每天 tPs 每秒处理事务数压测需求与业务操作步骤压测对象 - http://news.baidu.com压测页面 -首页 国际频道 财经频道步骤: 访问首页 单击 国际频道 单击 财经频道录制脚本 新建压测脚本 添加 HTTp(S)Test Script Recorder添加 Thread Group线程组在线程组添加 Recording Co...原创 2020-12-30 14:15:15 · 111 阅读 · 0 评论 -
Jmeter 制定自动压测
出现错误:当使用jmeter 非GUI模式 对java请求进行性能测试时,在执行结束时会报错:The JVM should have exitted but did not.The following non-daemon threads are still running (DestroyJavaVM is OK):导致这种错误原因在执行java请求时会在jmeter线程之外,另外启动java线程,导致在脚本执行结束时JVM无法退出。若要避免这种现象,需要修改bin/jmeter.原创 2020-12-31 10:28:42 · 338 阅读 · 2 评论 -
jmeter-常用的几种参数化
jmeter常见的几种参数化方式:jmeter 的csv 数据文件设置线程组->配置元件->Csv数据文件配置Filename 文件名File encoding 编码格式variable Names 参数名称 ,后面可以使用vars.get(name);或者${name}获取Ignore first line 忽略首行Delimiter 分隔符 ','Allow quoted data 是否允许带引号 (可选 一般TRUE)遇到文件结束符是否再次循环 False 如果原创 2020-12-24 17:47:35 · 611 阅读 · 0 评论 -
jmeter分布式压测 linux
主机master修改jmeter.propertiesserver.rmi.ssl.disable=trueserver_port=1099remote_hosts= 192.168.36.131:1099(slave分机的ip地址)同样的修改分机的jmeter.properties(在linux上搭建)server.rmi.ssl.disable=trueserver_port=1099remote_hosts= 192.168.36.131:1099(slave分机的ip地址原创 2021-01-06 18:51:13 · 141 阅读 · 0 评论 -
jmeter JDBC数据库连接与数据库压测
数据库配置:数据库配置:JDBC Connection COnfiguration 连接池管理原创 2021-01-04 16:31:05 · 116 阅读 · 0 评论 -
jmeter 正则表达式提取器
(1)引⽤名称:下⼀个请求要引⽤的参数名称,如填写title,则可⽤${title}引⽤它 (2)正则表达式: ():括起来的部分就是要提取的。 .:匹配任何字符串。 +:⼀次或多次。 ?:在找到第⼀个匹配项后停⽌。(3)模板:⽤$$引⽤起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等, 表示解析到的第⼏个值给title。如:$1$表示解析到的第1个值 (4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0 (5)缺省值:如果参数没有取得到值,那默认给⼀个值让它取...原创 2021-01-04 16:34:56 · 138 阅读 · 0 评论 -
接口自动化测试框架HttpClient-3-mock接口
1.1mock讲解 mock是一个·超简单的接口测试工具 支持get方法,post方法,header,cookie,重定向不仅给测试人员使用,还可以给前端开发人员使用mock框架为github开源项目https://github.com/dreamhead/moco/tree/master/moco-runner 或jar包下载地址https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.11.0/moco-ru...原创 2020-12-03 18:08:01 · 472 阅读 · 0 评论 -
接口自动化测试框架HttpClient-1-开发环境搭建
创建Maven项目 在pom中写入依赖:原创 2020-11-28 14:52:43 · 327 阅读 · 0 评论 -
接口自动化测试框架HttpClient-2-GetPost请求
Get请求1.请求Url2.请求参数3.请求header4.响应结果断言5.响应数据提取 public static void getDefault(String url){ //创建一个可关闭的HttpClient对象 CloseableHttpClient httpclient = HttpClients.createDefault(); //创建一个HttpGet的请求对象 HttpGet httpget =原创 2020-11-30 18:16:55 · 245 阅读 · 0 评论 -
JAVA单元测试框架-7-invocationCount和invocationTimeOut
1.invocationCount 字面意思就是调用的次数统计,就是这个测试用例被调用执行的次数。2. invocationTimeOut 字面意思是调用的超时,设置一个最大的毫秒数来计算执行多次后总共耗时多少,耗时值不能超过设置的最大毫秒数 @Test(invocationCount = 5, invocationTimeOut = 5100) public void loginTest() throws InterruptedException{ ...原创 2020-12-02 11:01:50 · 142 阅读 · 0 评论 -
JAVA单元测试框架-15-TestNG并行执行测试用例
TestNG在执行测试时,默认suitethreadpoolsize=1,-randomizesuites=false,即非并发顺序执行测试。但是TestNG提供了多种方式,以支持测试的并发多线程执行。java org.testng.TestNG -suitethreadpoolsize 3 testng1.xml testng2.xml testng3.xml 通过配置testng.xml实现方法级别测试类:package TestNg.paraller;import org.t原创 2020-12-09 15:15:32 · 893 阅读 · 0 评论 -
JAVA单元测试框架-5-timeOut测试
这篇先来介绍@Test注释下的一个属性-timeOut 主要用来超时判断,详细点说。如果哪个测试方法需要监听执行的时间,那么就可以考虑采用timeOut属性。例如,实际的接口测试中,加入登录接口时间不能超过3秒中。下面来看看如何监控这个方法如果运行时间超过3秒就抛出异常 @Test(description="超时测试,设置超时2秒",timeOut=2000) public void TestOutTimes() throws InterruptedException { ...原创 2020-12-02 10:41:23 · 431 阅读 · 0 评论 -
JAVA单元测试框架-13-TestNG中的Listener监听
使用TestNG中的Listener完成监听测试,通过实现ITestListener里面的方法完成测试过程监听public class TestListenner implements ITestListener { @Override public void onTestStart(ITestResult result) { } @Override public void onTestSuccess(ITestResult result)原创 2020-12-02 14:47:02 · 546 阅读 · 0 评论 -
Extentreports+TestNg美化测试报告初步了解
一:pom依赖引入<!-- 设置自定义的监听类,代替默认的testng --><dependency> <groupId>com.relevantcodes</groupId> <artifactId>extentreports</artifactId> <version>2.41.1</version></dependency> <depend...原创 2020-09-16 18:55:22 · 312 阅读 · 0 评论 -
JAVA单元测试框架-3-Parameter-DataProvider 参数处理
TestNg处理参数传递可以使用Parameter,处理方式如下:测试类 参数引入public class LoginParamsTest { Login login = new Login(); @Test() @Parameters({"username","pwd"}) public void TestLoginParam(String username,String pwd) { login.userLogin(username, pwd); }}testng.xm原创 2020-12-02 10:12:50 · 455 阅读 · 0 评论 -
Allure美化测试报告
1.1 Allure介绍 Allure是一款轻量级并且非常灵活的开源测试报告框架。 它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。1.2Allure下载 到git上下载指定版本的AllureGit地址 下载完成后解压到指定目录,我的是解压到D:\appach\allure-commandline-2.13.5\allure-2.13.5 解压完成后,配置环境变量:在path里配置上:D:\appach\a...原创 2020-09-26 17:19:20 · 1034 阅读 · 0 评论 -
JAVA单元测试框架-10-断言Assert
使用Assert对结果进行断言,这是testng里的断言方式 常用断言 assertTrue assertSame assertEquals @Test public void TestAssert() { Assert.assertEquals("2", 2); } @Test public void TestAssertThree() { int a=3; Assert.assertNu...原创 2020-12-02 11:54:00 · 750 阅读 · 0 评论 -
JAVA单元测试框架-14-实现TestNG失败案例重跑
前面是通过java代码指定重跑,本节是讲解通过实现IAnnotationTransformer接口实现失败案例重跑创建MyRetry 实现IRetryAnalyzer 接口package Listener;import org.testng.IRetryAnalyzer;import org.testng.ITestResult;public class MyRetry implements IRetryAnalyzer { // 设置当前失败执行的次数 privat.原创 2020-12-03 10:36:26 · 243 阅读 · 0 评论 -
JAVA单元测试框架-2--testng.xml讲解
testng.xml文件在Idea自动生成,testng.xml中可以配置需要测试类以及方法,包括一拉,外部参数引入等TestNG通过设置testng.xml文件能做以下事情1)创建来源不同包、类、方法的测试套件2)包括一些选项,例如失败的用例可以重跑。3)支持使用正则表达式4)运行把外部参数传入测试方法5)支持配置多线程的执行环境下面下一个基本的testng.xml测试指定类<?xml version="1.0" encoding="UTF-8"?><原创 2020-12-02 09:50:48 · 247 阅读 · 0 评论 -
JAVA单元测试框架-11-异常测试
目录1.1TestNg测试框架介绍1.2Eclipse安装TestNG1.3TestNg测试1.4创建TestNg.xml文件1.5使用Assert对结果进行断言1.6数据驱动1.7分组测试1.8优先级设置priority1.9忽略测试1.10依赖测试1.11超时测试1.12异常测试1.1TestNg测试框架介绍TestNG是java中的一个单元测试框架,类似Junit,是一种注解式的编程方式,支持并行运行,数据驱动等,即可以用来做单元测试,也可以用来原创 2020-09-26 16:02:31 · 298 阅读 · 0 评论 -
JAVA单元测试框架-12-java代码重复执行失败的测试用例
在使用testng执行测试用例时候,都会遇到测试用例执行失败,怎么再次执行失败的测试用例呢,官网给出了java代码执行测试的案例,每次执行完用例后会在test-output目录路径下保存执行失败的测试用例,可以再次执行失败的测试用例来达到重复执行。首先创建执行失败的测试用例:public class TestAssert { @Test public void TestAssert() { Assert.assertEquals("2", 2); }原创 2020-12-02 14:04:13 · 378 阅读 · 0 评论 -
JAVA单元测试框架-9-testng.xml管理依赖
在testng.xml里配置依赖管理,先写个测试用例 @Test(description="测试分组" ,groups= {"operation"}) public void TestGroupAdd() { System.out.print(String.valueOf(11+12)); } @Test(description="测试分组" ,groups= {"operation","Animal"}) public void TestGroupAn原创 2020-12-02 11:45:38 · 175 阅读 · 0 评论 -
JAVA单元测试框架-8-dependsOnMethods与dependsOnGroups
dependsOnMethods与dependsOnGroups 属性主要用来处理测试用例之间测依赖关系dependsOnMethods主要是方法之间的依赖具体如下:@Test(description="登录测试" )public void Testlogin() { logger.info("测试登录失败"); Assert.fail();}@Test(description="依赖登录" ,dependsOnMethods= {"Testlogin"})public .原创 2020-12-02 11:30:42 · 488 阅读 · 0 评论 -
Java单元测试框架-1-TestNg初识
1.1xUnit整体作用xUnit是各种代码驱动测试框架的统称,这些框架可以测试软件的不同内容。主要优点是提供了一个自动化测试的解决方案,不需要多次编写重复的测试代码,也不必记录测试结果xUnit用于测试的四要素:1:测试目标(对象) 2:测试集 3:测试执行(过程) 4:断言1.2着重介绍Junit&TestNg从测试角度,引入用例,类,套件概念讲解 注解 TestSuite TestCase TestRunner TestR...原创 2020-10-08 19:44:04 · 315 阅读 · 2 评论 -
JAVA单元测试框架-6-Enable priority
1.enabled属性 在Testng中,如果方法前面添加了@Test注释,然后没有其他的属性,那么默认这个用例会被自动运行。那么如果,我不想要某个方法运行呢?有些人第一反应就是,把这个方法前面的@Test给删除或者注释符号注销该行。不可否认,这是一个方法,但是不明智。在@Test注释中提供了一个enabled的属性,让我们临时去修改该条用例不被执行。Enable属性有两个值true和false。 @Test(timeOut = 3000,enabled = false) pub...原创 2020-12-02 10:56:35 · 185 阅读 · 0 评论 -
JAVA单元测试框架-4-TestNg注解列表
1.1编写测试类编写一个模拟验证登录的测试类:public class Login { public static boolean isLogin = false; /** * 模拟登陆校验方法 * @param name 用户名 * @param pwd 密码 * @return 登陆返回信息 */ public String userLogin(String name,String pwd){ if原创 2020-10-08 21:14:22 · 152 阅读 · 0 评论 -
Mock框架应用(三)-Mock Post请求
post请求[ { "description":"不含参数的post请求", "request":{ "uri":"/post", "method":"post" }, "response":{ "text":"不含参数的post请求" } }]带参数的post请求配置Json,并启动moco服务[ { "description":"mock原创 2020-12-28 17:20:04 · 1303 阅读 · 1 评论 -
charles 是如何抓取手机端请求数据
charles 作为平台兼容性抓包工具,在windows mac系统都可以很稳当工作,在日常工作中需要抓取移动端设备请求数据,下面讲解下使用charles抓取手机请求数据启动Charles工具后,在菜单栏点击Proxy,然后点击Proxy Settings,在弹出的框中配置端口,端口填写8888,然后点击OK按钮,如下:让手机和电脑连接同一个网络,查询电脑的IP地址(ipconfig),查询出来后,在手机端配置代理,见如下:手机端设置代理成功后,Charles就会弹出一个框,直接点击允许原创 2020-12-22 18:59:43 · 1169 阅读 · 0 评论 -
Mock框架应用(一)-Mock介绍
mock应用 为保证测试人员在预期时间完成测试交付,可根据开发接口文档说明,完成在开发人员还没有开发全部接口的情况下,进行单元测试。从而保证测试的进度,根据接口文档请求报文,以及预期的响应数据对接口进行测试。Mock框架是一个接口模拟框架,可以自定义请求与响应,用来进行接口测试和前端分离开发。下载Moco框架:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/请求形式:java -jar moco-runne..原创 2020-12-26 17:22:00 · 215 阅读 · 1 评论 -
RestAssured接口自动化学习第一天
1:RestAssured环境搭建:<!-- https://mvnrepository.com/artifact/io.rest-assured/rest-assured --><dependency> <groupId>io.rest-assured</groupId> <artifactId>rest-assured</artifactId> <version>4.3.0</ver...原创 2020-09-18 18:54:19 · 187 阅读 · 0 评论 -
Charles 抓包修改 request 请求数据和响应数据
Charles是一款常用的抓包工具,抓包工具可以截取通过它设置代理服务器下所有通过他发起与返回的网络请求,和fiddler、wireshark,原理是一样的。 Charles主要功能有: 1、截取各种协议的网络包 2、支持修改请求参数 3、支持修改返回结果 4、支持模拟弱网测试 Charles抓包的意义 定位问题,因为可以获取发出去的请求,请求头,请求体,返回的数据,所以可以定位是前端的请求问题,还是后端的返回问题,或者是前端对返回取值的问题。测试同学就可以针对性的提bug,提升效率原创 2020-12-26 19:27:08 · 2693 阅读 · 0 评论 -
Charles 使用介绍
1.1Charles 介绍Charles 可以在Windows,Mac下进行网络数据抓包,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。 Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。Charles 主...原创 2020-09-21 17:31:24 · 224 阅读 · 0 评论 -
CURL 安装
1、curl官网https://curl.haxx.se/2、curl简介curl是用于通过URL传输数据的命令行工具和库支持...DICT,FILE,FTP,FTPS,Gopher,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,POP3,POP3S,RTMP,RTSP,SCP,SFTP,SMB,SMBS,SMTP,SMTPS,Telnet和TFTP。curl支持SSL证书,HTTP POST,HTTP PUT,FTP上传,基于HTTP表单的上传,代理服务器,HTTP原创 2020-12-26 17:50:45 · 4231 阅读 · 0 评论 -
Mock框架应用(二)-Mock Get请求
不带参数的mock请求:config.json[ { "description":"这是Mock接口的Demo", "request":{ "uri":"/GetDemo", "method":"get" }, "response":{ "text":"First get request" } }]在命令行输入如下:带开浏览器输入如下:http://localhost:8080/GetDemo页面显示..原创 2020-12-28 12:59:38 · 934 阅读 · 0 评论 -
Charles 弱网测试
知识了解网络延时 网络延时指一个数据包从用户的计算机发送到网站服务器,然后再立即从网站服务器返回用户计算机的来回时间。通常使用网络管理工具PING(Packet Internet Grope)来测量网络延时。 由于互联网络的复杂性、网络流量的动态变化和网络路由的动态选择,网络延时随时都在不停的变化称为抖动。网络延时和网络延时的抖动越小,那么网络的质量就越好。 在互联网上,典型的网络延时为几十到几百毫秒。影响网络延时的主要因素是路由的跳数(因为每次路由转发都需要时间,因此路由跳数越...原创 2020-12-26 19:31:25 · 558 阅读 · 0 评论 -
Charles web抓包
抓取浏览器数据包一、打开Charles在Help里安装证书二,点击安装证书三存储位置选择本地计算机四点击将所有的证书都放入下列存储五点击浏览,点击受信任的根证书颁发机构六点击完成在Proxy里设置1.点击Proxy下的Proxy Settings2勾选Enable项3、配置SSL Proxy Settings点击SSL Proxy Setting点击Add添加Add 443Port和80Port添加...原创 2020-12-26 19:11:32 · 1200 阅读 · 0 评论 -
Mock框架应用(四)-Mock 重定向请求
例一:先新建json配置文件重定向到www.baidu.com,启动mock服务[ { "description":"实现重定向的请求", "request":{ "uri":"/redirect" }, "redirectTo":"https://www.baidu.com", "response":{ "text":"重定向的网页" } }]浏览.原创 2020-12-28 17:53:37 · 512 阅读 · 0 评论 -
自动化测试介绍与分类
1.1什么是自动化测试自动化测试简单来说就是用机器代替手工的方式来参与软件测试的活动,自动化测试是软件活动中的一个重要分支和组成部分,随着软件产业的不断发展,市场对软件周期的要求越来越高,于是催生各种开发模式,如大家熟知的敏捷开发,从而对测试提出了更高的要求。此时,产生了自动化测试,即利用工具或者脚本来达到软件测试的目的,没有人工或极少人工参与的软件活动称为自动化测试。自动化测试的优势如下:更方便对系统进行回归测试,当软件的版本发布比较频繁时,自动化测试的效率更加明显 可以自动处理原本繁琐,重复的原创 2020-11-01 21:25:08 · 983 阅读 · 0 评论