自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 整数和二进制相互转换,二进制相加计算

在这个例子中,从低位到高位分别为:1+1=10(进位1),1+0+1=10(进位1),0+0+1=1(无进位),1+1=10(进位1),0+0+1=1(无进位)。将二进制数10100转换为十进制数(整数20)的方法是:从右向左按照权值展开,对每一位上的数值乘以相应的权值,然后将所有结果加起来。整数7转换成二进制的方法是:不断获取除以2后的商,直到商为0,把每一步得到的余数倒序排列得到的就是对应的二进制数。7除以2的商为3余1, 3除以2的商为1余1, 1除以2的商为0余1。

2023-05-11 11:46:33 926 1

原创 在 f-string 中使用大括号 {} 来表示占位符时,如果要在字符串中嵌套大括号,应该使用双大括号 {{}} 来表示

来表示占位符时,如果要在字符串中嵌套大括号,应该使用双大括号。在 f-string 中使用大括号。

2023-04-19 13:44:57 548

原创 安卓手机用WIFI无线调试adb

这样代表已连接成功, 505e894。505e894是udid,device是设备,adb disconnect 192.168.1.39:5555 断开设备连接。2、打开电脑CMD,输入命令adb start-server开启adb服务。例如: adb connect 192.168.1.39:5555。1、首先将电脑和手机连接同一个WIFI,并插上数据线。3、输入adb devices 查询已连接的设备。2、查看无线调试详情页提供配对电脑端的ip和端口。1、打开开发者选项 -> 打开无线调试。

2023-03-01 13:42:19 5454 1

原创 Appium 踩坑记录

另外在写测试用例时,在测试用例执行结束后,最好还是要主动断开一下session的,调用下 driver.quit() 也没那么复杂,毕竟有始有终没bug,心情舒畅不秃头,哈哈哈哈。解决问题得先知道问题原因是什么。:在 appium 启动后,上一个 session 没有主动断开也没有 driver.quit() 掉,然后用pycharm又运行一个用例导致再启动一个 session,由于上一个连接未中断,一直被占用着,等到上个 session 超时一分钟后被自动断开,影响了新的 session。

2023-03-01 10:43:33 466

原创 Appium 元素定位和操作

手机从左上角开始为0,横着的是x轴,竖着的是y轴。

2023-03-01 09:57:06 1413

原创 eval把字符串转为字典时报错: name ‘false‘ is not defined 解决方法

【代码】eval把字符串转为字典时报错: name 'false' is not defined 解决方法。

2023-02-23 18:14:47 1057

原创 python项目使用pyinstaller打包

python项目使用pyinstaller打包

2022-11-24 19:30:06 1137

原创 截图方法get_screenshot_as_file()注意点

get_screenshot_as_file()截图的方法中不允许存在以下符号 / : * ? # ” < > |

2022-11-07 10:34:36 1347

原创 python列表逆序的方法

a = [0,1,2,3,4,5,6,7,8,9]b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象b = a[1:3] 那么,b的内容是 [1,2]当i缺省时,默认为0,即 a[:3]相当于 a[0:3]当j缺省时,默认为len(alist), 即a[1:]相当于a[1:10]当i,j都缺省时,a[:]就相当于完整复制一份a了b = a[i:j:s]这种格式呢,i,j与上面的一样,但s表示步进,缺省为1.所以a[i:j:1]相当于a[i:j]当s<0时.

2022-04-28 10:40:23 1703

原创 jsonpath中多条件提取和过滤提取

在JsonPath中创建表达式之前,您必须了解两个重要的符号。?:问号,标记表达式的开头。使用的语法[?(表达)][? (Expression)]@: 在符号处表示正在处理的当前节点。语法使用$.books[?(@.price > 100)3、多条件时$.data[?(@.attribute ==1&&@.productKind==2)].productId...

2022-04-25 15:29:56 3151

原创 pytest框架执行遇到的报错

xlrd.biffh.XLRDError: Excel xlsx file; not supported原因是最近xlrd更新到了2.0.1版本,只支持.xls文件。所以会报错。可以安装旧版xlrd,在cmd中运行:pip uninstall xlrdpip install xlrd==1.2.0也可以用openpyxl代替xlrd打开.xlsx文件———————————————— for lineno, line in enumerate(line_iter): Unico.

2022-04-25 15:20:31 470

原创 python的的__dict__属性

将字典转换成对象的小技巧bokeyuan = {"b": 1, "o": 2, "k": 3, "e": 4, "y": 5, "u": 6, "a": 7, "n": 8, }class Dict2Obj: # def __init.

2022-04-24 16:59:17 1019

原创 python类名、类方法(cls)修改类变量的值

# 通过类对象是无法修改类变量的值的,本质其实是给类对象新添加 name 和 age 这 2 个实例变量。不会影响类的其它实例化对象,更不会影响同名的类变量。 # 和类变量不同,实例变量只能通过类对象名访问,无法通过类名访问。 # 通过cls和类名修改类变量的值,会修改同名的类变量,会影响所有的实例化对象class Person: name='jerry' age='20' def __init__(self, name, age): ...

2022-04-22 19:03:32 2304

原创 把一个逗号分隔的很长的字符串转换为列表和eval函数的简介和语法

1 eval函数的简介和语法:eval()函数用来执行一个字符串表达式,并返回表达式的值。还可以把字符串转化为list、tuple、dict。eval函数的语法:eval(expression[,globals[,locals]])参数:expression:表达式。globals:变量作用域,如果被提供,必须是一个字典对象。locals:变量作用域,如果被提供,可以说任何映射对象。2 eval()函数使用实例:1 字符串转换成列表:a="[1,2,3,4,5]"b=e.

2021-12-30 16:00:01 390

原创 python调用jar包

1、下载JPype1版本前要先使用命令查看匹配什么版本在CMD执行:python -m pip debug --verbose2、JPype1 (下载链接 https://pypi.org/project/JPype1/#files)下载地址https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype3、在下载文件放置的路径下执行:pip installJPype1-1.3.0-cp38-cp38-win_amd64.whl 即可...

2021-11-30 17:32:43 274

原创 非GUI运行Jmeter,查看生成的jtl文件没有响应数据的解决办法

Linux服务器用命令执行了jmeter脚本,在本地查看结果时发现结果树种的“请求、响应数据”都显示为空!1、从服务器到处rmw_*.jtl结果放在本地jmeter中查看,发现数据都显示空2、接下来怎么办呢?修改bin目录下的user.properties文件,追加配置:(主机和从机都要修改)jmeter.save.saveservice.output_format=xmljmeter.save.saveservice.response_data=truejmeter.sav.

2021-11-18 17:17:52 2739

原创 fiddler域名重定向的方法

1入口:Ruls->Customize Rules... 此时打开了customrules.js窗口2在窗口中找到OnBeforeRequest方法方法一:3在方法的第一个if前增加代码:oSession.fullUrl = oSession.fullUrl.Replace("a","b");a重定向到ba,b为域名2、方法二...

2021-10-25 18:52:45 675

原创 requests请求响应结果转为中文

那么,问题来了,\u表示的那一 串unicode编码, 怎么转换成中文,可以用下面的命令print(res.text.encode().decode("unicode_escape"))那么问题来了,这个unicode-escape什么来的呢在python中,对于unicode存储时,可以采用另一种方法:将unicode的内存编码值进行存储,读取文件时在反向转换回来。这里就采用了unicode-escape的方式解决办法:print(res.conten...

2021-10-21 19:22:45 1024

原创 python中decode()和encode()的使用

对于很多人来说,python的中字符转码是一件很头疼的事情,本来期望结果输出的是中文,结果来一段像这样\xe4\xbd\xa0\xe5\xa5\xbd像是乱码的字符串。由于学python没多久,昨天使用python的时候,就遇到这种问题,现在来深入研究下与之相关的encode()和decode()函数,和如何把如乱码般的字符串转成中文。encode()和decode()都是字符串的函数,可直接查看关于python字符串章节的官方文档:https://docs.python.org/3/libra.

2021-10-21 18:56:57 594

原创 tcp的TIME_WAIT状态太多了,导致响应时间过长

背景介绍 为了摸底项目的性能,需要进行性能测试。经过一番调研之后,决定使用基于腾讯云TKE的分布式jmeter进行压测,好处是有jmeter-suite可用,搭建环境方便;容器化部署可以方便的增加pod来提升压力。 但是在实际施压的时候,发现请求量上不去,达不到压测效果。经定位发现,容器pod上存在大量TIME_WAIT,而实际在传输数据的连接远小于设置的并发线程数:netstat -n | awk '/^tcp/ {++state[$NF]} END {for(ke...

2021-10-09 19:26:50 366

原创 全链路压测、单接口压测、多接口混合压测和性能测试一些相关的概念

根据压测的场景不同,或者压测的目的不同,我们会选择不一样的压测方式来进行压测,我梳理了下大概的压测的方式,主要有以下三个。1.全链路压测2.单接口压测3.多接口混合压测 全链路压测呢,近几年 比较火,比如阿里啊,京东等公司都在做这个,全链路的压测呢,比较热门,基于用户的使用链路场景,或者系统的调用链路场景压测,更加贴近真实的用户场景。更多的去发现系统的问题。各个链路相关的接口的问题都能直接暴露出来。 单接口压测呢,就是针对单一的接口进行压测,比如,我们有一个登录接..

2021-10-09 14:05:57 3535

原创 Jmeter报错合集

jmeter压测-"java.net.SocketException: Socket closed"解决方法java.net.SocketException: Socket closedat java.net.SocketInputStream.socketRead0(Native Method)at java.net.SocketInputStream.socketRead(Unknown Source)at java.net.SocketInputStream.read(Unknown S.

2021-10-09 13:47:38 207

原创 jmeter压测学习-监听器之Hits per Second

动态监听单位时间的点击率,也就是触发的请求数。其中横坐标是运行时间,纵坐标是HPS值。点击率波动较大,且不能持续上升。说明性能很不稳定1、jmeter中搜索插件5 Additional Graphs 安装5 Additional Graphs:主要显示吞吐量,连接时间,每秒的点击数等...

2021-10-09 09:54:47 2322

原创 2021-09-28

Java提供了两种变量类型:基本类型和引用类型基本类型包括整型,浮点型,布尔型,字符型。变量可重新赋值,等号是赋值语句,不是数学意义的等号。常量在初始化后不可重新赋值,使用常量便于理解程序意图。基本数据类型基本数据类型基本数据类型是CPU可以直接进行运算的类型。Java定义了以下几种基本数据类型:整数类型:byte,short,int,long浮点数类型:float,double字符类型:char布尔类型:boolean引用类型引用类型除了上述基...

2021-09-28 19:12:32 68

原创 第一个Java程序

在一个Java程序中,你总能找到一个类似:public class Test01 { ...}的定义,这个定义被称为class(类),这里的类名是Test01,大小写敏感,class用来定义一个类,public表示这个类是公开的,public、class都是Java的关键字,必须小写,Test01是类的名字,按照习惯,首字母T要大写。而花括号{}中间则是类的定义。注意到类的定义中,我们定义了一个名为main的方法: public static void main(S..

2021-09-24 16:07:23 73

原创 charles Windows版抓包工具

资源绝对好用!!!官方下载地址:https://www.charlesproxy.com/latest-release/download.do破解地址:https://www.zzzmode.com/mytools/charles/ Charles教程https://www.axihe.com/charles/charles/setting.html

2021-09-24 14:46:48 90

原创 jmeter请求https接口需要安装证书

背景:对于https类型的接口,使用Jmeter进行测试时,需进行证书导入。步骤:1、证书下载:(1)使用Chrome打开需要被测地址,点击地址栏前面的小锁,如下图:选择“证书”----“详细信息”----“复制到文件”:然后根据证书导出向导,选择要使用的格式为“DER 编码二进制x.509(.CER)(D)”...

2021-09-24 14:30:20 1226

原创 Jmeter分布式部署

1、使用Xshell连接服务器在使用Linux过程中,我们常常需要将本地文件上传到Linux主机上,这里简单记录下使用Xsheel工具进行文件传输1:首先连接上一台Linux主机2:输入rz命令,看是否已经安装了lrzsz,如果没有安装则执行 yum -y install lrzsz命令进行安装。yum -y install lrzsz3:安装成功后,输入rpm命令确认是否正确安装4: 使用 rz -y命令进行文件上传,此时会弹出上传的窗口:5:选择要......

2021-09-18 11:14:10 342

原创 Pycharm 创建一个项目的界面说明

Pycharm确实是一个非常不错的Python开发IDE,尤其对于初学者而言。打开新建项目1.选择新建一个Pure Python项目,新建项目路径可以在Location处选择。2.Project Interpreter部分是选择新建项目所依赖的python库,第一个选项会在项目中建立一个venv(virtualenv)目录,这里存放一个虚拟的python环境。这里所有的类库依赖都可以直接脱离系统安装的python独立运行。3.Existing Interpreter关联已经存..

2021-08-30 23:00:05 1255

原创 python中list、元组、字典相互转换

Python面试题:如何判断字典a在字典b中已知一个dict 比如a = {"a":1},另一个dict比如为b = {"a":1,"b":2},如何判断a是否在与b中。一般在接口测试的时候,返回的参数比较多的情况,如果一个个字段去校验,会比较麻烦,那么如何直接拿一个期望的字典放键值对,判断结果里面是否包含期望的值set实现set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。set的issubset方法,a.issubset(b) :判断.

2021-08-23 00:13:39 147

原创 递归函数代码执行流程

在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。# -*- coding: utf-8 -*-def move(n, a, b, c): print("开头",n,a,b,c) if n == 1: print('%s --> %s' % (a, c)) # 直接搬过去 else: """第一个函数递归调用,直到满足条件退出递归调用,才执行下面的代码, 后面的代码执行次数和函数

2021-07-09 10:31:35 914

原创 python中%d %2d %02d %-2d% %.2d的区别

python中%d %2d %02d %-2d% %.2d的区别%d就是普通的输出了整形数 %2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格。%02d,和%2d差不多,只不过左边补0%-2d将数字按宽度为2,采用左对齐方式输出,若数据位数不到2位,则右边补空格%.2d 输出整形时最少输出2位,如不够前面以0占位。如输出2时变成02,200时只输出200;输出浮点型时(%.2f)小数点后强制2位输出,会四舍五入。比如:num = 1print("%d.

2021-07-05 16:09:12 4239

原创 脚本开头申明的意思:#!/usr/bin/env python3# -*- coding: utf-8 -*-

由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:#!/usr/bin/env python3# -*- coding: utf-8 -*-第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,

2021-07-05 15:18:29 595

原创 python 字符串和decode()解码,encode()编码

计算机系统通用的字符编码工作方式:计算机是有自己的工作区的,这个工作区被称为“内存”。数据在内存当中处理时,使用的格式是Unicode,统一标准。在计算机内存中,计算机使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件。所谓的编码,其实本质就是把str(字符串)类型的数据,利用不同的编码表,转换成bytes(..

2021-07-05 12:18:10 259

原创 airtest之设备管理device

初始化 device如果设备没有被初始化的话会进行初始化,并把初始化的设备作为当前设备。 用法如下: 123456789 def init_device(platform="Android", uuid=None, **kwargs): """ Initialize device if not yet, and set as current device. :param platform: Android, IOS or W

2021-07-02 17:47:58 1127 2

原创 iproxy工具的作用

1、安装usbmuxdbrew install usbmuxd2、iproxy,该工具会将设备上的端口号映射到电脑上的某一个端口,例如:iproxy 8200 8100以上命令就是把当前连接的手机设备的8100端口映射到电脑的8200端口,那么想和设备8100端口通信,直接和本地的8200端口通信就可以了。因此,SSH连接设备就可以这样连接了:ssh -p 8200 [email protected]这样就再也不用依赖Wi-Fi了,而且反应很流畅,当然此工具不仅可以用于SSH,也可以映射.

2021-06-25 15:39:34 3616 1

原创 钩子函数收集测试结果

def pytest_terminal_summary(terminalreporter, exitstatus, config): '''收集测试结果''' # print(terminalreporter.stats) print("total:", terminalreporter._numcollected) print('passed:', len([i for i in terminalreporter.stats.get('passed', []) if i.w

2021-06-24 11:20:50 123

转载 Python 字符串前面加u,r,b,f的含义

1、字符串前加 u例:u"我是含有中文字符组成的字符串。"作用:后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。2、字符串前加 r例:r"\n\n\n\n”  # 表示一个普通生字符串 \n\n\n\n,而不表示换行了。作用:去掉反斜杠的转义机制。(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。 )应用:常用于正则表达式,对应.

2021-06-18 15:37:53 186

原创 通过jenkins自动从gitlab上获取代码,配置自动化测试任务

自动化测试脚本开发完成以后,希望可以把脚本放在公共的环境下提供一个入口供大家一起使用,目前最好的解决方案就是需要把代码部署在Jenkins上,下面看下如何在Jenkins配合自动化测试任务;  1.首先我们需要搭建Jenkins的运行环境;  2.环境搭建完成最重要的是安装插件,插件的安装需要根据自己实际的使用情况安装,没有必要大而全的安装,这样很容易引入一些没有必要的麻烦,比如说插件的漏洞,会让你服务器遭受到不必要的攻击;    目前我的代码托管在公司内部的gitlab,首先我需要在Jenki

2021-05-17 16:36:21 462

原创 Linux系统常用命名和如何在Linux系统下运行python代码

echo是打印变量的值或者给定的字符串比如,输入echo hello或者echo "hello"都是在控制台打印出hello单词    但是我们需要把打印出来的字符串记录到文本文件中,就需要>和>>命令    touch a.txt 新建一个文本文件a.txt    echo hello > a.txt    则a.txt中会记录下hello,但是如果再次执行echo hello > a.txt。则会覆盖之前的hello,    怎样追加...

2021-05-17 15:56:22 232

空空如也

空空如也

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

TA关注的人

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