- 博客(101)
- 收藏
- 关注
原创 5.linux进价命令curl和jq
linux的进价命令1. curl 命令curl命令是一个工具,主要用于请求的发送,get,post请求,支持的协议有 DICT,FILE,FTP,FTPS,HTTP1. -x参数指定代理# 192.168.1.101:8801 加入Charles代理设置的是这个ip地址和端口,则通过-x参数指定后,访问百度时,charles就会抓到包了curl -x 192.168.1.108:88...
2021-05-15 03:21:00
117
原创 4. linux编程语法
一. linux shell 编程语法1. 变量1.定义与使用变量var_name="123" # 变量定义的 = 两边不能有空格,如 var_name = "123" 会报错echo $var_name # 通过 $变量名 来使用变量2. 将变量设置为只读变量var_only_read="Hello"readonly var_only_read # 通过readonly关键...
2021-05-15 03:19:00
110
原创 3. linux常用命令及三剑客 grep sed awk 用法初始
linux 常用命令:文件、网络、性能一.常用命令文件lscdpwdmkdircprmmv文件属性# 授权r: 读权限 4;w: 写权限 2;x: 操作权限 ;r+w+x=7,是最高权限chomd 777 文件名网络ping # 测试网络连接情况ping -c 5 www.baidu.com # ping 5次百度ping -l 2 www....
2021-05-15 00:27:00
131
原创 第一篇 python UI自动化测试框架系列(1)
先矫情一下,这几个月太忙,好久没用更新博客了。 基于Jmeter的接口自动化体系已经完成,公司落地应用效果不错,后面再把实操中遇到的问题和解决办法给大家发出来。年后公司APP端正在框架升级中,经常出现已经测试过的页面又crash、页面显示有问题等等,时不时有些页面就会出现问题,而全靠人工每次发版前回归也不太现实,再加上也想将ui自动化引入测试过程,解决大量人工回归的问题,萌生了写一套框架的想法。...
2021-03-31 22:29:00
82
原创 2. 使用Shell能做什么
批处理在批处理的过程中,能够实现脚步自动化,比GUI自动化速度高效日常工作场景服务端测试移动端测试持续集成与自动化部署,这是最最场景的场景,可以说离开了shell,持续集成和自动化部署也会遇到很大障碍shell的种类bash:目前使用最多的,后面的章节都是基于bash shell的。shzshbash shell 学习总览变量逻辑控制shell 环...
2020-12-15 22:43:00
201
原创 appium1.15.1 + xcode11.4 + IOS13.4.1从调试到放弃改用appium1.17.1错误解决
配置webdriveragent报的错误解决错误1:Building for iOS Simulator, but the linked framework 'CocoaAsyncSocket.framework' was built for tvOS + tvOS Simulator. 解决:因为我是只测试IOS,所以直接删掉了,删掉后默认就加载的是IOS的了。当然也可以调整...
2020-05-24 03:06:00
1346
1
原创 Appium错误收集及解决
错误1:selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command.错误2:同一段脚本比如超级计算器,通过appium-desktop启动的Server能正常执行,但是通过 appium 命...
2020-04-28 18:25:00
934
1
原创 第二篇 Mac配置Appium环境连接ios真机
appium1.15.1 desktop版本已经下载了,去这里拿吧。https://www.cnblogs.com/victorm/p/12778422.htmlMac配置appium环境一. 基础环境安装开始安装之前先把jdk安装,并配置好环境变量。这个自行解决。1、安装homebrew/bin/bash -c "$(curl -fsSL https://raw....
2020-04-26 19:13:00
1634
原创 appium-desktop1.15.1 for MAC 下载
从官网下载老慢了,想着找找已经下载好的,发现在csdn上都需要花币,最后还是自己从官网下载了,免费分享出来,方便大家使用把。但你别拿着去赚钱了哈。链接: https://pan.baidu.com/s/1zQFU445-Bsg5U6Fh4YMAdA 密码: 58qq...
2020-04-26 11:35:00
658
2
原创 第四篇 MySql常用命令
数字类型使用原则:根据业务来决定,一般来时能用小范围的就别用大范围的。日期类型常用的:DATATIME 和 TIMESTAMP两个字符串类型常用的:CHAR 和 VARCHAR 两个表操作 - sql基础通过Navicat创建表因为可视化操作效率高,所以通过Navicat来创建,当然也可以通过命令行来创建表id:一般要设置为自动递增通过命令创建表CREA...
2020-04-20 13:15:00
611
原创 第七篇 设计模式
一.简单工厂 下面是简单工厂的UML图解释:有个CreateA类,它可以创建一个A类,这个A类可以是A1 ,也可以是A2,然后执行do方法简单工厂:你选择什么样的模式,就生成什么产品简单工厂模式(Simple Factory Pattern):是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类.简单工厂的用处不大,主要就是一个i...
2019-09-21 20:44:00
96
原创 第九篇 并发(进程和线程)
Python里执行并发有进程和线程两个,分布使用threading 和multiprocessing 两个库,一般用的是这两个库里的Thread和Processfrom threading import Thread # 线程 : 同时运行from multiprocessing import Process # 进程进程和线程的使用场景:1. 一般在有大量的数...
2019-08-09 14:33:00
90
原创 第八篇 并发(进程和线程)
Python里执行并发有进程和线程两个,分布使用threading 和multiprocessing 两个库,一般用的是这两个库里的Thread和Processfrom threading import Thread # 线程 : 同时运行from multiprocessing import Process # 进程进程和线程的使用场景:1. 一般在...
2019-08-09 14:33:00
129
原创 第六篇 面向对象
面向对象典型的语言就是Java一.基本概念__init__(cls):是对将来具体实例的初始化方法,一般是不需要写的,Python会自动执行 __new__(self): 对__init__生成并返回的具体对象进行初始化 ---- 术语:构造函数__del__(self):Python解释器自动执行的,在程序执行完后,Python解释器会自动执行,回收,释放内存的时候才会调用...
2019-08-05 17:08:00
135
原创 第四篇 函数
一.函数的定义# 函数的定义def 函数名(形参): ''' 文档字符串 函数功能: 函数参数: 函数返回值 ''' function_body return [expression]# 函数的使用函数名(实参)# 1. 函数的定义def sayHello(name): ...
2019-08-03 22:14:00
196
原创 第三篇 数据结构
一.字符串(String)print("hello".capitalize()) # 首字母大写print("hello".count('l')) # 统计某个字符出现的次数print("hello".find('l')) # 找到第一个后就返回所在位置,不会继续往后找了print("hello".find('m')) # 找不到的时候返回 -1#返回...
2019-08-02 16:28:00
137
原创 第一篇 python数据类型
IO文件输出问题1:Python如何实现print不换行?默认情况下Python的print()函数是换行的,如print("你好大成")print("!!!")#输出你好大成!!!看下print()函数源代码,默认为end="\n"(换行), \n表示换行符所以,如果想要不换行,就要改变end 的换行属性,将end的\n 替换成任意你想要的值即...
2019-07-27 19:29:00
105
原创 第二篇 条件语句和循环语句
一. if 条件语句基础语法1:if C1: pass1else: pass2当条件C1满足时,执行pass1部分;当条件不满足C1时,执行pass2部分基础语法2:if C1: pass1# elif是分支语句,是不限制数量的,可以有多个elif C2: pass3else: pass2...
2019-07-27 18:30:00
178
原创 第二篇 流程控制
一. if 条件语句基础语法1:if C1: pass1else: pass2当条件C1满足时,执行pass1部分;当条件不满足C1时,执行pass2部分基础语法2:if C1: pass1# elif是分支语句,是不限制数量的,可以有多个elif C2: pass3else: p...
2019-07-27 18:30:00
76
原创 第一部分 Python基础知识
Python测试开发核心编程主要分两部分,python3基础和Python进阶,每部分的重点内容如下一. Python测试开发核心编程数据类型控制结构异常处理文件操作线程与进程(了解)常用库函数二.Python进阶迭代器修饰器lamda函数面向对象运算符重载外部插件反射与内省红色部分是一定要掌握的...
2019-07-09 18:54:00
122
原创 第十篇 分布式压测基础知识和Jmeter分布式压测原理
一. 分布式压测简单介绍压力测试分普通压测和分布式压测。普通压测:单台机可以对目标机器进行压力测试,产生的压力比较小,受限因素包括CPU,网络,IO等分布式压测:利用多台机器向目标机器产生压力,模拟几万用户并发访问(用下图简单示例什么是分布式压测)如果用普通压测,单机配置如果不高,则可能最多发起10000个并发,达不到40000并发的目标,所以才会引入分布式压测技术。二.Jmet...
2019-05-20 21:00:53
880
原创 第九篇 使用Jmeter代理设置录制手机脚本
一.Jmeter设置1、启动jmeter,然后测试计划上,点击右键,添加线程组,用于保存录制的脚本2、添加HTTP代理服务器(1)选中工作台,右键添加HTTP代理服务器 或者 TestPlan--> 右键添加-->非测试元件 -->HTTP代理服务器(2)HTTP代理服务器设置需要设置端口和目标控制器,其中端口可以默认,也可以修改,但必须保证与手机上设置的端...
2019-05-20 16:49:27
1905
1
转载 第八篇 Jmeter之函数助手
在使用Jmeter进行测试时,发现很多业务需求没法实现,百度后发现很多业务需求可以通过函数助手实现,找到一篇对jmeter中函数助手解释蛮详细的一篇博客,转载过来,一来方便自己查找,二来方便各位。原文地址:http://blog.csdn.net/fanjeff/article/details/46873159一、使用jmeter函数助手启动jmeter后,可以在JMeter的选项菜单...
2019-04-07 14:11:42
757
原创 第六篇 Jmeter 集合点与同步并发的策略问题
一.什么是集合点?“性能测试”一般思路是“多用户并发测试”,但真正的并发其实是不存在的,为了更真实、更接近的实现并发,在需要压力的地方设置集合点,等所有用户都到位的时候,然后一起访问,从而实现并发。举个例子,要测试100个用户同时登录,每到输入用户名和密码登录的地方,所有的虚拟用户都相互之间等待,等100个用户都输入完毕,相当于集结在一起了 ,然后再一起访问。集合点:其目的就是让所有...
2019-04-07 11:39:06
1892
原创 第五篇 Jmeter参数化之函数助手和配置元件CSV Data Set Config
Jmeter参数化是一个重点,尤其在进行压力测试的时候,需要构造大量的并发数据,这些数据就可以通过参数化的方式实现。参数化分为:1. 请求参数的参数化2. 检查点的参数化:只有断言也相应的进行了参数化之后,才能得到正确的结果参数化有很多种方法,其实第四篇,讲的也是参数化的一种,这里再讲2种参数化的方式:1.函数助手2.CSV Data Set Config要想进行参数化...
2019-04-06 21:04:29
459
原创 第四篇 Jmeter 接口关联与后置处理器之正则表达式提取器
使用Jmeter进行测试,经常会遇到的问题就是上个接口的返回数据,会作为下个接口的请求入参,从而实现接口间或者说是业务上的关联,要完成业务关联,需要分两步完成:1. 先提取出下个接口需要使用的数据2.在下个接口请求时进行关联引用现在分别来讲这两个步骤。数据提取需要用到Jmeter的后置处理器,后置处理器有下面这些,常用的有:1)正则表达式提取器(Regular Expressi...
2019-04-06 18:05:56
606
原创 第三篇 Jmeter处理json请求参数(Body Data)
Jmeter处理json请求参数第一篇里讲了常规的键值对请求参数的处理,而有些接口的请求参数比较特殊,是json串,这种怎么传参呢?1. 添加“HTTP Header Manager",具体添加内容如下图红框所示,固定的(一般都要特别添加这个)添加路径:右键->Add->Config Element->HTTP Header Manager当然有些请求即使不加这个...
2019-04-06 16:31:20
12781
原创 第二篇 Jmeter核心组件及实战演练
一. Jmeter 基础功能组件之线程组和Sampler1. 测试计划:就是对被测对象的一个测试安排,比如安排多少个并发,压测多久,循环执行次数等等2. 线程组:在测试计划下面可以创建不同的线程组3. 线程属性:1)线程数:就是并发用户数,当运行达到峰值的时候,就达到了计划的并发值,比如100个并发用户2)Ramp-Up Period(in seconds):多少秒内跑完。比如...
2019-03-16 14:18:10
255
原创 mac os 系统下环境变量配置
一. windows系统环境变量配置是比较直观的,此处略调二. mac os系统环境变量配置以Java环境变量配置为例进行讲解,下载和安装Java都比较容易,下面都是基于已经安装了Java的前提下进行的。1. 先在终端例检查Java环境是否安装好如果只想检查jre是否安装装好,只需要下面的命令检查就可以java -version出现上图所示,表示Java环境已经安装好...
2019-03-03 18:36:57
1895
原创 第一篇 Jmeter基础知识及中文乱码处理
一.安装Jmeter工欲善其事必先利其器,上来先安装Jmeter是必须的.1. 安装Jmeter需要的环境 需先安装 JDK8以上版本,虽然JRE也可以,但是仍然建议安装JDK环境,因为压测https协议的时候需要用到JDK里的keytool工具。2. 下载Jmeter安装软件本系列文章是基于Jmeter4.0版本的,官方网站现在地址:http://jmeter.apach...
2019-02-17 22:03:23
306
原创 配置文件语言之yaml
配置文件语言之yaml 一. YamlYAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。由于实现简单,解析成本很低,YAML特别适合在脚本语言中使用。列一下现有的语言实现:Ruby,Java,Perl,Python,PHP,JavaScript等。YAML 是专门用来写配置文件的语...
2018-12-30 17:21:00
294
原创 第七篇 Postman+Node.js+Newman+Jenkins实现自动化测试
第七篇 Postman+Node.js+Newman+Jenkins实现自动化测试 今天终于不咋忙了,学习整理一下一直想做却没实现的事儿,这事已经折磨团队半年之久了。因为项目是B端业务的测试,测试过程中需要生产大量的测试数据,而且都是跨多个系统的测试,对于后置流程的测试,这些同学往往要想有一条测试数据,就要自个去一步步的操作前置流程,最关键的是太耗...
2018-11-15 11:11:00
764
原创 第一篇:一天学会MongoDB数据库之Python操作
第一篇:一天学会MongoDB数据库之Python操作 本文仅仅学习使用,转自:https://www.cnblogs.com/suoning/p/6759367.html#3682005里面新增了如果用用Python代码进行增删改查什么是MongoDB ? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统...
2018-10-07 18:24:00
323
原创 第六篇 native 版本的Postman如何通过代理服务器录制Web及手机APP请求
第六篇 native 版本的Postman如何通过代理服务器录制Web及手机APP请求第四篇主要介绍了chrome app版本的postman如何安装及如何录制Web脚本,比较简单。但是chrome app版本和native版本相比,对应chrome app版本官方已经放弃支持了,很多内容都集成到了native版本上。一. 列举几个本人在使用过程中发现的主要区别:1.nat...
2018-09-30 17:32:00
506
原创 第四篇 Postman之Pre-request Script(前置处理器:JS之 YYYY-MM-DD HH:MM:SS)
第四篇 Postman之Pre-request Script(前置处理器:JS之 YYYY-MM-DD HH:MM:SS) 本篇来讲讲Pre-request Script 前置处理器,定义在发送request之前需要运行的一些脚本,应用场景主要是设置全局变量和环境变量。 本例子也是项目中遇到的,需要修改与客户的预约时间,但是预约时间的格式为:YY...
2018-09-30 16:43:00
373
原创 第五篇 Postman离线安装interceptor插件---Chrome app及录制请求
第五篇 Postman离线安装interceptor插件---Chrome app及录制请求 在测试中,总是苦恼于无法直接使用chrome浏览器的cookie等信息,终于在茫茫网海中,发现了 https://www.jianshu.com/p/a4223bab1e73, 感谢 智者向内寻求力量 的贡献。上个公司的网络可直接Google就能安装...
2018-09-30 15:32:00
1157
原创 第三篇 Python关于mysql的API--pymysql模块, mysql事务
第三篇 Python关于mysql的API--pymysql模块, mysql事务 python关于mysql的API--pymysql模块pymysql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同。模块安装pip install pymysql在Pycharm里执行sql会遇到“SQL dialec...
2018-09-24 17:30:00
207
原创 第一篇 数据库MySql
第一篇 数据库MySql 数据库的简介 数据库:存储数据的仓库数据库管理系统软件常见的数据库管理软件:甲骨文的oracle,IBM的db2,sql server, Access,Mysql(开源,免费,跨平台). 关系型数据库:存在磁盘上非关系型数据库:存在内存上数据库系统数据库系统DBS(Data Base System,简...
2018-09-24 15:52:00
204
原创 第二篇 数据库MySql
数据库的简介数据库:存储数据的仓库数据库管理系统软件常见的数据库管理软件:甲骨文的oracle,IBM的db2,sql server, Access,Mysql(开源,免费,跨平台).关系型数据库:存在磁盘上非关系型数据库:存在内存上数据库系统数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成...
2018-09-24 15:52:00
133
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人