自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(186)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux修改端口范围限制

使用root权限修改,一般port的取值范围是 0 - 65535(即2的16次方),但0-1024常用于系统服务。测试服务绑定多IP时,在端口不够用的情况下,能使用其他IP进行访问,那怎么模拟端口用完的情况呢。修改文件 /etc/sysctl.conf。

2023-04-23 21:28:11 1471 1

原创 MySQL数据库创建表报 index column size too large. the maximum column size is 767 bytes

创建一张表报如下错误index column size too large. the maximum column size is 767 bytes。MySQL Innodb索引字段长度最大为767字节,如果索引大小超过767字节则会引发该错误。

2023-04-22 07:45:37 489

原创 grep报Binary file standard input matches

grep binary file

2022-08-08 23:30:44 2223

原创 【android】Okhttp3信任所有证书设置

让okhttp信任所有证书,采用的是忽略https认证,自己构建一个x509认证,默认通过,再传到ssl配置工厂中,再用okhttpclient发送请求的时候就不会再报证书错误。

2022-08-08 23:22:33 3833

原创 sed删除指定行

sed命令常用到的两个选项:-i : 直接在文件上编辑 (edit files in place)-e[默认选项]:只在命令行输出,而文件不改变(add the script to the commands to be executed)注:使用sed命令可以使用 -i 或者 -e 选项(以下例子仅以-i举例)(1)sed命令删除特定行号删除第N行:sed -i 'Nd' filename删除第N~M行:sed -i 'N,Md' filename #file的[N,M]行都被删除(

2022-02-09 14:12:50 27837 1

转载 compileSdkVersion, minSdkVersion 和 targetSdkVersion

在Android Studio项目的app/build.gradle中,我们可以看到类似这样一段代码: compileSdkVersion 27 defaultConfig { applicationId "com.glh.fabdemo" ...

2021-11-10 17:24:10 1645

原创 Process.waitFor()方法的返回值

返回值释义如下:返回值含义备注OS error code 0Success操作系统错误代码0:成功OS error code 1Operation not permitted操作系统错误代码1:操作不允许OS error code 2No such file or directory操作系统错误代码2:没有这样的文件或目录OS error code 3No such process操作系统错误代码3:没有这样的过程OS error code 4

2021-11-09 10:22:35 5585

转载 Wireshark使用报错: The capture session could not be initiated on interface

Wireshark是个不错的抓包工具,可以捕获HTTP,TCP和UDP的包,对于前后端开发非常有用。在Mac上安装完Wireshark之后提示如下错误:The capture session could not be initiated on interface 'en0' (You don't have permission to capture on that device). 查了一圈资料,发现是没有权...

2021-10-13 13:57:22 2502

原创 在Mac上使用android studio调试android手机

一.环境准备1.安卓手机:Android版本为92.MacBook Pro3.安卓数据线二.adb介绍1.adb概念adb:全称是Android Debug Bridge,意思是Android调试桥,一个开发工具,主要用于PC端和Android设备调试连接通信的作用。从最早的Eclipse到现在的Android Studio,其实底层和Android设备的连接,都是依赖的adb去做的。 这种通信大多是在USB电缆下进行,但是也支持Wi-Fi连接。 adb 还可被用来与电脑上运行的安卓模拟器交流

2021-08-18 13:32:21 3219

转载 Mac 终端命令大全

Mac 终端命令大全1.目录操作命令名功能描述使用举例mkdir创建一个目录mkdir dirnamermdir删除一个目录rmdir dirnamemvdir移动或重命名一个目录mvdir dir1 dir2cd改变当前目录cd dirnamepwd显示当前目录的路径名pwdls显示当前目录的内容ls -ladircmp比较两个目录的内容dircmp dir1 dir22.文件操作命令名功能描述使

2021-08-16 13:24:55 5088

原创 jmeter导入.jmx文件报CannotResolveClassException: org.apache.jmeter.protocol.ssh.sampler.SSHSampler

在导入jmx文件时,由于本地装的jmeter没有配置SSH Command,而导入的jmx的文件中使用,因此报错:Cause:CannotResolveClassException: org.apache.jmeter.protocol.ssh.sampler.SSHSampler将jmeter-ssh-sampler-0.1.0.jar放在jmeter的安装目录的lib/ext下,jsch-0.1.54.jar放在jmeter的安装目录的lib下即可,再导入正常。...

2021-06-25 15:42:13 1157

转载 Flink整合Yarn与Kafka

文章目录 1.Flink 整合 YARN1.1yarn-session1.2yarn-cluster1.3Flink On YARN故障恢复 2.Flink整合Kafka 1.Flink 整合 YARN Flink支持多种运行模式:本地Local模式,StandAlone模式,YARN模式,Mesos模式,Kubenetes 模式,Cloud 模式。其中本地模式是用来开发和调试的,YARN 模式是很多公司采用的。在一个企业...

2021-06-18 14:39:43 559

原创 linux之which命令

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。命令的格式如下:which 可执行文件名称可使用的命令参数如下:使用如下:[test@node1~]$ which lsalias ls='ls --color=auto' /bin/ls...

2021-06-17 16:18:57 3413

原创 CDH kafka集群更换机器后,发送数据offset增长,但消费不了数据

问题背景:在CDH上的kafka集群为机器node1,node2,node3,这三台机器挂载的盘只有2到3块,导致大规模数据执行入库时,写入延迟大;现有机器node4-6三台机器挂载的盘有11块,想将kafka集群从node1-3换成node4-6,CDH集群有十台机器,包括node4-6机器,执行的步骤如下:点击添加角色实例后,出现以下界面,在该界面点击选择主机,将node4-6加入。再将node1-3三台机器停止运行,勾选三台机器,点击已选定的操作中的停止。在kafka配置中,将node1

2021-06-17 15:52:34 384 1

原创 linux查看磁盘及磁盘类型

s

2021-06-16 16:46:42 15150

原创 kafka的版本演进

1.kafka简介Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统。在kafka官网下载安装包时,能看到如下格式:kafka_2.12,这个数字代码scala的版本,kafka使用的开发语言是scala。而2.8.0则代表的是kafka的版本。遵循 Major.Minor.Patch 的版本规则,Major表示大版本,通常是一些重大改变,因此彼此之间功能可能会不兼容;Minor表示小版本,通常是一些新功能

2021-06-07 20:01:01 637 3

原创 黑盒、白盒和灰盒测试的区别

1.黑盒测试黑盒测试:也可叫功能测试,是一种从用户角度出发的测试。把被测程序当作一个黑盒子,测试人员完全不用考虑盒子里面的逻辑结构和具体运作,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。主要的测试方法有等价划分类,错误推测法等。2.白盒测试白盒测试也称为结构测试。它根据程序的控制结构设计测试用例,测试人员会利用程序内部的逻辑结构及有关信息,通过在不同点检查程序状态,检验程序中的每条通路是否都能按预定要求进行正确工作。3.灰盒测试灰盒测试:是介于白盒测试与黑盒测试之间的一种测试,

2021-06-07 00:24:30 11640

原创 测试的分类

测试按照不同的测试分类方法可分为以下多种:1.按照开发阶段划分:单元测试集成测试系统测试验收测试2.按是否查看代码划分:黑盒测试白盒测试灰盒测试3.按是否运行划分:静态测试动态测试4.按测试对象划分:性能测试安全测试兼容性测试文档测试安装测试内存泄漏测试5.按是否手工执行划分:手工测试自动化测试6.按测试实施的组织:β测试α测试第三方测试7.其他分类:回归测试冒烟测试...

2021-06-07 00:08:44 665

原创 sql limit的用法

limit:用于限制由 SELECT 语句返回的数据数量。主要用于分页。格式如下:select * from tableName limit i,ntableName:表i:为查询结果的索引值(默认从0开始),当i=0时可省略in:为查询结果返回的数量例如:create table test_limit_001(id int,a1 varchar(10),a2 varchar(10));insert into test_limit_001 values(1,'store1',

2021-06-03 19:29:04 1284

原创 python参数:*和**

python支持函数从调用语句中收集任意数量的实参。在形参前可使用*和**。1.*符号例如:我们创建fruit函数的时候指定形参toppings前加*。def fruit(*toppings):print(toppings)那我们在调用上面函数时,就可以穿任意多的参数。例如:fruit("banana")fruit("apple","orange")输出如下所示:('banana',)('apple', 'orange')形参名*toppings 中的星号让Python创建一

2021-06-02 19:49:54 454

原创 Jenkins环境搭建

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。jenkins环境搭建主要包括:1.下载安装JDK验证是否安装jdk,执行以下命令:C:\Users\zhichaoso>java -versionjava version "1.8.0_202"Java(TM) SE Runtime Environment (build 1.8.0_202-b08)Java HotSpot(TM) 6

2021-05-29 21:49:23 698

原创 POM设计模式简介

1.POM设计模式POM(Page Object Model):页面对象模型,是一种设计模式,用来管理维护一组web元素集的对象库。使用POM设计模式最终的目的是为了程序松耦合。在POM下,应用程序的每一个页面都有一个对应的page class每个page class都维护着该web页面的元素集和操作这些元素的方法例如,我们访问百度,在百度的搜索框里搜索selenium,在不使用pom时,代码如下:from selenium import webdriverimport unittest

2021-05-27 22:21:46 7669 2

原创 python的DDT模块

ddt是python的第三库,全名称为:Data-Driven/Decorated Tests。ddt模块提供了创建数据驱动的测试。使用步骤如下:1.安装ddt模块2.使用@ddt,@data,@unpack,@file_data加载数据1.安装ddt模块安装命令如下:pip install ddt2.DDT加载数据代码如下:import osfrom ddt import ddt, data, unpack, file_dataimport unittestdef get_

2021-05-25 22:01:17 2627

原创 pytest参数化实现DDT:读取数据库数据

在这篇文章里,主要以mysql数据库为例。读取mysql数据库的数据主要分为三步:1.安装mysqlclient模块2.获得数据库连接3.查询数据1.安装mysqlclient模块命令如下:pip install mysqlclient2.获取数据,实现DDT代码如下:import MySQLdbimport pytestconn = MySQLdb.connect( #获取一个conn user='root', passwd='123456', hos

2021-05-25 21:38:42 1165

原创 pytest参数化实现DDT:读取excel文件

读取excel文件:首先安装xlrd:使用命令pip install xlrd==1.2.0在使用时,导入xlrdxlrd.open_workbook(filename)方法打开一个excel文件,获取到一个工作簿对象wbwb.sheet_by_index()获取sheet对象,通过索引的方法,即索引0代表sheet1sheet.nrows和sheet.ncols获取行和列使用for循环获取数据import pytestimport xlrddef get_data(): f

2021-05-24 21:57:36 1082 1

原创 pytest参数化实现DDT:读取JSON数据

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。与上一篇文章类似,使用pytest中的pytest.mark.parametrize()便可实现参数化。代码如下所示:导入json模块,使用json.load()方法加载json文件。import pytestimport jsondef get_data(): with open('test.json') as f: lst = [] data

2021-05-24 21:24:49 1565

原创 pytest参数化实现DDT:读取CSV数据

1.DDT思想DDT(Data-Drive test):将测试数据提取出来,与逻辑分离,通过参数传递不同的测试数据来驱动用例运行。pytest中的pytest.mark.parametrize()便可实现参数化。2.csv文件csv:逗号分隔的文本文件,其文件以纯文本形式存储表格数据。当然分隔符也不一定是逗号,最常见的是逗号或制表符。例如:一个命名为test.csv的文件中的数据如下所示:a,b,c1,2,33,4,53.读取csv数据,实现DDT创建test_csv.py,代码如下:i

2021-05-24 21:12:10 1853

转载 python模块中__init__.py的作用

基本概念先上结论举例解释 实验一:不包含__init__.py实验二:A中包含__init__.py实验三:A.A_A中也包含__init__.py 进阶 基本概念 概念解释import即导入,方式就是在import位置将代码文件拷贝过去。模块python中一个.py文件就是一个模块包指软件包,举例import matplotlib.pyplot中(其中pyplot非函数,至少是一个模块或者包),matplotlib就是一个软件包。 先上结论 __init__.py的作用是让一个...

2021-05-23 23:52:57 572

原创 pytest不同目录下执行相同名的py文件报错

在项目中创建一个dep1目录,该目录下又有两个目录,如下所示:在dep1目录下执行pytest -sv命令,报错如下:D:\pythonProject\dependency\dep1>pytest -sv======================================================================== test session starts ======================================================

2021-05-23 23:46:45 1912

原创 解决pytest.mark.dependency的scope为package报AttributeError: ‘NoneType‘ object has no attribute..

在上一篇文章中,我们执行scope='package’时报如下错:D:\pythonProject\dependency\dep\dep2>pytest -sv======================================================================== test session starts ========================================================================platf

2021-05-23 23:34:54 598

原创 pytest.mark.dependency用例依赖

这是一个pytest第三方插件,主要解决用例之间的依赖关系。如果依赖的上下文失败后续的用例会被标识为跳过执行,相当于执行了pytest.mark.skip。1.安装安装命令如下:pip install pytest-dependency执行上述命令后,再执行pip install pytest-dependency,能找到该组件即可2.基本用法第一步:需要在用例开始位置写上@pytest.mark.dependency(),代表这条用例作为主条件,如果这条用例失败,关联它的用例会跳过执行。

2021-05-23 22:42:48 4582 8

原创 python pass语句

Python pass 是空语句,是为了保持程序结构或者语义的完整性。python中的boolean的值第一个字母需要大写。例如:def test02(): if(False): print('true') else: passtest02()输出:

2021-05-23 20:32:06 95

原创 logging模块的四大组件

1.四大组件四大组件包括:Logger,Handler,Filter和Formatter。2.Logger类的相关方法logger类的主要方法如下:3.Handler类Handler对象的作用是基于日志消息的level,将消息分发到handler指定的位置,例如文件,网络等。常用的方法如下所示:handler的相关子类如下所示:代码如下:会在同目录下生成一个all.log文件import loggingimport logging.handlersimport datetime

2021-05-23 11:16:31 337

原创 pytest日志输出格式

1.basicConfig函数通过上一篇可知,我们可以通过logging.basicConfig对日志输出的级别进行控制,下面详细介绍该函数的参数。2.logging模块的格式字符串我们对上一篇的代码进行修改,将日志信息不直接打印在控制台,且输出日志打印时间,模块名称,以及行号等。import loggingmy_format = '%(asctime)s-%(filename)s-%(module)s-%(lineno)d'logging.basicConfig( filen

2021-05-23 10:53:57 787

原创 pytest 日志模块的简单介绍

1.日志的作用在程序中,日志主要的作用有:程序调试了解程序运行是否正常故障分析与问题定位用户行为分析2.日志的等级主要分为5种:DEBUG:最详细的日志信息info:仅次于DEBUG,通常是只记录关键节点信息、WARNING:当某些不期望的事情发生时记录的信息,但是此时应用程序还是能正常运行ERROR:由于一个严重的问题导致某些功能不能正常运行时记录的信息CRITICAL:当发生严重错误,导致应用程序不能继续运行时记录的信息代码如下:import logginglog

2021-05-23 10:31:59 1592

原创 pytest allure的简单介绍

allure一款测试报告框架,具有以下几个特点allure是一个轻量级,灵活的,支持多语言的测试报告工具;java语言开发的,支持pytest,PHP等;可以提供详细的测试报告,测试步骤,log;可以集成到Jenkins1.安装使用pip命令安装pip install allure-pytest使用pip list查看是否有该组件我们使用的windows环境安装,同时我们下载一个allure-2.7.0.zip的文件,将其bin目录配置到环境变量Path中,例如:在cmd中输入a

2021-05-22 22:57:46 750 5

原创 pytest的fixture

fixture的作用类似于setup/teardown。fixture命名不以test开头,用于区分用例。在函数前使用装饰器@pytest.fixture(),括号中有个scope的参数,用于控制fixture的范围。默认取值为function,控制范围的排序为:session > module > class > function。取值范围如下所示:代码如下:定义了一个init方法,作为参数传入test_1和test_02函数,在test_1函数中对init的返回值做了断言im

2021-05-22 21:07:01 156

原创 pytest的参数化处理

在pytest中,可以使用参数化测试,即每组参数都独立执行一次测试。使用的是:pytest.mark.parametrize(argnames,argvalues).传入的数据格式可以是:列表元祖字典1.列表代码如下:test_01函数会执行两次,因为列表中有两个值。import pytest# 列表data = ['123', '456']@pytest.mark.parametrize('pwd', data)def test_01(pwd): print(pwd)

2021-05-22 20:45:01 521

原创 pytest的setup和teardown

在unittest中就有setup和teardown,pytest也不例外。主要有五种:模块级(setup_module/teardown_module),开始于模块始末,全局的函数级(setup_function/teardown_function),只对函数用例生效(不在类中)类级(setup_class/teardown_class),只在类中前后运行一次(在类中)方法级(setup_method/teardown_method),开始于方法前后(在类中)setup/teardown运行在

2021-05-22 08:18:12 423

原创 pytest的测试用例标记

在pytest中,有时候我们并不需要对所有的用例全部执行。pytest提供了一种机制:有选择的挑选用例去执行,即标记测试函数。下面详细介绍几种方法给函数标记。1.使用pytest.mark在函数上进行标记1.1 标记格式“@”表示这是一个装饰器,“pytest.mark”是pytest固定的写法,mark_name可以使用自定义标记和内置标记。@pytest.mark.mark_name1.2 内置标记常用的内置标记如下:例如:import pytestdef test01():

2021-05-22 07:28:53 1660 1

OpenJDK11U-jdk_x64_windows_hotspot_11.0.11_9.msi

OpenJDK11,从GitHub官方下载的,支持VS Code

2021-06-07

空空如也

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

TA关注的人

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