自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Bug流程规范

本文档定义bug的整个生命周期,规范bug的解决方案及管理流程。Bug在流转的过程中有章可循。规范bug严重等级使开发人员与测试人员能根据此文档准确判断bug的严重程度并加以解决。

2024-03-29 17:11:52 812

原创 Charles工具安装,连接手机抓包

4.4、在手机Wi-Fi中找到Http代理选项,代理配置选择手动,服务器输入上面的ip地址,例如上面的地址 10.102.16.189,端口输入8888(默认端口是8888)3.3、SSL Proxying包含两个配置,一个是Include,里面配置需要抓取的域名,Exclude配置的是不抓取的域名。5.2、聚焦想要查看的接口,在对应的域名中点击鼠标右键,有个Focus选项,勾选完成后,Charles默认显示此域名。4.5、接着打开浏览器,输入chls.pro/ssl,下载证书,进行安装即可。

2024-03-26 19:28:02 1055

原创 python进阶练习(长期更新中。。。)

容器序列:list、tuple和collections.deque这些序列能存放不同类型的数据。扁平序列:str、bytes、bytearray、memoryview和array.array,这些序列只能容纳一种类型。可变序列:list、bytearray、array.array、collections.deque和memoryview。不可变序列:tuple、str和bytes。

2023-09-22 23:52:12 417

原创 python中数据可视化

【代码】python中数据可视化。

2023-08-02 16:49:00 1282

原创 python数据可视化Matplotlib

2.使用内置样式绘制散点图,自定义颜色,颜色映射,自动保存图片。1.绘制简单的折线图。

2023-08-01 23:31:03 278

原创 python类的继承

2.使用代码模拟实物时,可能会给类添加的细节越来越多,属性和方法清单以及文件都越来越长,这时可能需要将类的一部分提取出来,作为一个独立的类。可以将大型类拆分成多个协同工作的小类。1.一个类继承另一个类时,将自动获得另一个类的所有属性和方法。原有的类称为父类,而新类称为子类。子类继承了父类的所有属性和方法,同时还可以定义自己的属性和方法。

2023-07-30 22:33:23 589

原创 python 日常工作中常用的库

pyhton常用库介绍,持续更新中。。。

2023-07-13 19:51:59 282

原创 这个字典问题太坑了

【代码】这个字典问题太坑了。

2023-07-13 10:21:14 44

原创 shell编程基础

如果不想覆盖文件原有内容,而是想要将命令的输出追加到已有文件中,比如你正 在创建一个记录系统上某个操作的日志文件。在这种情况下,可以用双大于号(>>)来追加数据。默认情况下,n为1,表明跳出的是当前的循环。如果你将n设为2,break命令就会停止下一级的外部循环。bash shell用大于号(>)来完成这项功能:command > outputfile。wc命令可以对对数据中的文本进行计数。停止外部循环,break命令接受单个命令行参数值:break n。双圆括号:可以是任意的数学赋值或比较表达式。

2022-12-14 20:51:27 203 1

原创 shell提取字符串

#*/_表示从左边开始删除最后(最右边)一个 _号及左边的所有字符。其中的 0-13 表示右边算起第13个字符开始,3 表示字符的个数。%%_* 表示从右边开始,删除最后(最左边)一个 _号及右边的字符。*_ 表示从左边开始删除第一个 _ 号及左边的所有字符。%_* 表示从右边开始,删除第一个 _号及右边的字符。其中的 13 表示左边第14个字符开始,一直到结束。

2022-11-01 17:23:53 2357

原创 linux中比较两个文件不同之diff

上面的"3c3"和"8c8"表示log2014.log和log20143log文件在3行和第8行内容有所不同;"11,12d10"表示第一个文件比第二个文件多了第11和12行。常用参数:diff file1 file2 -y -W 100(行数)

2022-09-20 19:27:10 782

原创 解决:Permission denied (publickey).fatal: Could not read from remote repository.

这个问题的出现主要是 个人SSH key被我从新覆盖了一遍 可是github上面没有添加这个SSH keydom。(这里的cat 后面加的是你本身存放的SSH key 的路径)此时cat 输入之后 出现 你要的。咱们能够看到 咱们的SSH key就存放在。而后咱们须要查看一下 SSH key。...

2022-08-30 19:54:26 6834

原创 python批量修改文件夹下的文件

shutil.copy("oldfile","newfile") #oldfile只能是文件夹,newfile可以是文件,也可以是目标目录。shutil.copytree("olddir","newdir") #olddir和newdir都只能是目录,且newdir必须不存在。shutil.copyfile("oldfile","newfile") #oldfile和newfile都只能是文件。os.rename("oldname","newname") #文件或目录都是使用这条命令。#重命名文件(目录).

2022-08-09 20:31:09 470

原创 python中get()和items()用法

如果键不在字典中,想要自己设置返回值,可以这样处理,dict.get('键','model') ,键在字典中,则返回键对应的值,键不在字典中,则返回model。python字典的get方法会返回指定键的值,dict.get('键'),返回“键”对应的“值”,如果键不在字典中则返回默认值None。items()方法把字典中每对key和value组成一个元祖,并把这些元祖放在列表中返回。如果只有一个参数,直接返回的是每一对key,value对应的元祖。2. python中items()方法遍历字典。...

2022-08-08 20:49:54 983

原创 python中extend(扩展)和append(追加)的区别

extend()函数用于在列表末尾一次性追加一个序列中的多个值(用新列表扩展旧列表),这个序列是列表中具体的元素,而不是列表本身。append()在列表末尾添加新对象,这个对象可以是列表本身。

2022-08-05 19:22:12 328

原创 Linux nohup bash cm_watch.sh >> run.log 2>&1 &

使用nohup命令提交作业,如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件。2>&1就是用来将标准错误2重定向到标准输出1中的。此处1前面的&就是为了让bash将1解释成标准输出而不是文件1。至于最后一个&,则是让bash在后台执行。1 代表STDOUT_FILENO 标准输出(一般是显示屏,准确的说是用户终端控制台),> 直接把内容生成到指定文件,会覆盖原来文件中的内容[ls > test.txt],...

2022-08-05 17:05:32 391

原创 Python批量将TXT文件转为Excel格式

代码】Python批量将TXT文件转为Excel格式。

2022-07-25 19:29:39 5739 2

原创 Python中os和sys模块

当模块和自己写的脚本不在一个路径下时,在脚本的开头写sys.path.append("xxx")sys.path.exists()判断文件是否存在,返回值boolean。os.path.dirname()获取当前运行脚本的绝对路径。sys.path返回一个列表,可以使用列表的append方法。os.path.join()连接两个或更多的路径名组件。sys.path.append()添加到系统环境变量。os.path.abspath()获取文件绝对路径。Python3解决方法。...

2022-07-25 17:19:39 231

原创 python3数字(Number)函数

函数返回数字x的平方根fabs() 函数类似于 abs() 函数,但是他有两点区别:seed([x])解读:当seed()没有参数时,每次生成的随机数是不一样的,而当seed()有参数时,每次生成的随机数是一样的,同时选择不同的参数生成的随机数也不一样。......

2022-06-27 22:29:23 112

原创 python面试总结

1.python怎么连接MySQL数据库?导入pymysql模块步骤:1)建立与数据库的连接2)得到游标3)通过游标执行sql语句4)获取数据库的内容5)进行数据库的查看6)关闭游标,数据库2.python怎么获取当前系统时间?1)导入datetime模块2)导入time模块3.python中的数据类型有哪些?int整型、float浮点型、complex复数、string字符串、Boolean布尔型list列表、tuple元组、set集合、dictionnary字典4.python中怎么设

2022-06-17 23:48:02 134

原创 测试理论总结(一)

1.你是如何把控、推进测试流程的?首先,测试之前,我会做好测试计划、测试人力分配、工作量的估算、测试策略、测试风险评估等;其次,测试中,我会尽量严格按照测试计划来执行,如果实际测试中出现问题,也会随机应变的进行处理,不会耽误测试进度;最后,测试工作完成之后,我会组织本组人员进行项目复盘总结,针对测试过程中出现的问题进行分析,以便后续工作避免再次发生。2.讲一讲你了解的测试基本理论?1)测试需求分析:测试工作之前,我们会拿到一个产品需求文档,针对这个文档,我们会和产品经理、交互、视觉、相关开发和测试人员进行一

2022-06-12 22:34:50 1663 1

原创 MySQL基本操作总结

一、数据库管理1.创建数据库create database A;2.查询当前连接下的所有数据库show database;3.使用数据库use A;4.删除数据库删除数据的方式有三种:delete < truncate < drop(1)delete from table_name where xxx;有条件的删除并不会真的把数据删除,可以通过事务回滚机制找回rollback(2)truncate table table_name;执行后立即生效,

2022-05-26 20:58:16 491

原创 adb常用命令总结

1.获取设备列表和设备状态adb devices2.安装/卸载appadb install 包信息adb install -r 包信息 //覆盖安装adb install -d 包信息 //安装的版本比手机上的版本低adb uninstall pkname //卸载3.将PC机上的文件push到手机上adb push 文件 /sdcard/4.将手机上的文件pull到PC机上adb pull /sdcard/50.zip(文件) D:\bac

2022-05-19 20:33:16 5569

原创 Linux面试题总结

1.线程和进程的概念进程:进程是一个具有独立功能的程序在一个数据集合上的一次动态执行的过程。线程:线程是进程的实体,是CPU调度和分配的基本单位,是比进程更小的能独立运行的基本单位。进程 线程 资源分配的最小单位 系统调度的最小单位 有独立的地址空间 无独立的地址空间,线程可以共享本进程的地址空间 进程间相互不影响 同一进程间的线程同步或互斥,不同进程的线程可以并发运行 一个进程含有一个或多个线程 一个线程只属于一个进...

2022-05-15 17:44:16 1119

原创 接口测试面试题总结

什么是接口?接口就是API,application program interface,应用程序接口。接口本质上是程序开发的函数和方法,提供参数和返回值。模块与模块之间相互作用的部分,A模块向B模块发送数据并且B模块向A模块响应数据。什么是接口测试?A模块发送不同的数据,B模块也能响应不同的结果值,我们判断响应值是否与期望值一致。没有接口文档怎么做接口测试?1)首先了解被测试的业务,理解设计层面和需求层面的业务2)如果确实没有接口文档,我会先做一部分(大概10%),然后组织开发针对完成的部.

2022-05-04 18:05:01 1176

原创 Appium定位之手机特有操作

滑动操作 思路:1.点击取消更新,不点击跳过2.获取屏幕尺寸3.x1>x2,y1=y2x1=屏幕尺寸的宽*0.9x2=屏幕尺寸的宽*0.1y1=y2=y*0.5# -*- codeing = utf-8 -*-# @Time : 2022/3/31 19:52# @Author :su# @File : ky_left_slip.py# @Software : PyCharmfrom time import sleepfrom testcase...

2022-04-25 21:12:25 314

原创 Appium元素列表定位和xpath定位

列表定位什么时候使用列表定位:id属性值重复时列表定位使用:find_elements# -*- codeing = utf-8 -*-# @Time : 2022/3/29 20:02# @Author :su# @File : ky_register.py# @Software : PyCharmfrom testcase.kyCapability import check_cancelBtn,check_skipBtn,kydrivercheck_cancelBtn()c

2022-03-31 19:40:32 950 2

原创 JMeter监听器

断言结果 图形结果显示图线为随时间变化曲线,X轴不是时间轴,是取样器个数的均匀分布轴具体参数含义:样本数目:运行时得到的取样器响应结果个数最新样本:最近一个取样器结果的响应时间平均:所有取样器结果的响应时间平均值偏离:所有取样器结果的响应时间标准差吞吐量:每分钟响应的取样器结果个数中值:所有取样器结果的响应时间中间值查看结果树 聚合报告具体参数含义:Label:取样器名称Samples:运行时得到的取样器响应结果个数Average:所有取样器结果的..

2022-03-29 19:12:53 266

原创 Appium定位方式代码

selenium定位和appium定位区别Selenium定位:1.id(html id 唯一)2.name定位3.class定位4.xpath定位Appium定位:1.id(app项目 不唯一)定位2.name定位不支持3.class定位支持4.xpath定位(不推荐),不支持绝对路径定位,支持相对路径定位5.列表定位注意:1.某些元素,使用Appium无法直接识别,只能使用UiAutomatorViewer工具(Android SDK)进行识别2.UiAutomatorVie

2022-03-25 17:57:12 2991

原创 appium自动化安装与卸载测试

# -*- codeing = utf-8 -*-from appium import webdriver# 例子:使用appium对app做安装卸载测试# 1.构造字典===》Capability===》appium服务端desired_caps={}desired_caps['platformName']='Android'desired_caps['platformVersion']='11'desired_caps['deviceName']='a17aa10f'# 安装被测试

2022-03-24 19:37:55 2219

原创 非GUI模式下运行JMeter和SOAP WebService

1.cmd命令进入jmeter的bin目录2.在bin目录下运行:jmeter -n -t D:\Users\W9012195\Documents\TeamTalk\download\W9012195\apache-jmeter-5.4\backups\feedback-breeno-000001.jmx -l D:\Users\W9012195\Documents\TeamTalk\download\W9012195\apache-jmeter-5.4\backups\feedback-breeno-

2022-03-22 17:27:46 739

原创 JMeter检查点

Jemeter中常用检查点有:内容检查断言Jmeter中的检查点是通过添加断言来完成的。实例:判断用户是否正确登录论坛,检查用户登录后,有没有在论坛的首页出现用户名步骤:①将前置处理器(用户参数)参数化的脚本另存一份②找到登录后的页面请求,该页面包含了登录成功后的用户名③添加--断言--响应断言④设置响应断言断言响应字段的含义响应文本:服务器响应文本,普通http响应,勾选 Document(text):Apache解析的服务器响应内容,若普通http请求,不勾选

2022-03-17 20:41:35 1277

原创 JMeter事务和集合点

一、Jmeter事务作用:业务包含多个请求步骤:①添加-逻辑控制器-事务控制器②添加-监听器-聚合报告③观察聚合报告二、集合点作用:“性能测试”理解为“多用户并发测试”,但是真正的并发是不存在的,为了更真实的实现并发概念,需要在压力的地方设置集合点步骤:①添加-定时器-Synchronizing Timer②设置集合点的人数③设置脚本循环次数④注意设置timeout的值线程数:虚拟用户数20Ramp-up:代表在多少秒内,启动上述的所有的虚拟用户10循环次数:脚本整体一共运

2022-03-15 20:40:23 1308

原创 JMeter录制脚本和参数化

一、BadBoy录制过程:New testNew step录制、暂停按钮File-export to Jmeter注意点:使用BadBoy录制并导出成.jmx的脚步,导入到Jmeter后,需要修改step1的controller二、Http代理服务器录制(适用于APP)Jmeter自带http proxy server,支持HTTP协议脚本录制第一步:启动Jmeter后,右键点击测试计划(Test Plan)添加 - Threads - Threads Group(线程组)第

2022-03-10 20:16:55 2184

原创 性能测试相关

1. 性能测试在一定的负载情况下,系统的响应时间等特性是否满足特定的性能需求负载测试(Load Testing)负载测试关注的是不同负载水平的系统性能指标。为了得到压力数确定下的性能指标。可以找到系统的最大用户数和最佳用户数。压力/强度测试(Stress Testing)压力测试关注在**超高负载(超过系统最大用户数)**的情况下,系统是否还能稳定处理,如果不能稳定处理,那么系统还能坚持多久。其重点是关注系统是如何失效的,以便于指定系统正式上线后的风险控制措施。配置测试(Configuratio

2022-03-07 16:43:56 589

原创 appium客户端和服务端安装详细攻略,环境配置踩过的坑

1. 环境架构2. 搭建appium客户端①下载安装python,最新版本即可,官网:https://www.python.org/getit/配置python环境变量PATH:②下载安装pycharm,最新版即可,官网:https://www.jetbrains.com/pycharm/③给python增加appium运行库,uillib3和selenium是appium客户端运行的依赖,可自行网上下载注意安装顺序:pip install 路径/urllib3-1.26.8-py2.py

2022-02-18 18:41:00 3029

原创 Python标准库中与字符串有关的模块

模块 描述 string 字符串操作相关函数和工具,比如Template类 re 正则表达式:强大的字符串模式匹配模块 struct 字符串和二进制之间的转换 c/StringIO 字符串缓冲对象,操作方法类似于file对象 base64 Base 16,32,64数据编解码 codecs 加码器注册和基类 crypt 进行单方面加密 difflib 找出序列间的不同 hashlib 多种不同安全哈希算法和信息摘

2022-01-14 11:14:04 137

原创 Python中的功能函数

Python中有五个运算内建函数用于数值运算1.abs()返回给定参数的绝对值。如果参数是一个复数,那么就返回math.sqrtprint(abs(-1))print(abs(10.))print(abs(1.2-2.1j))print(abs(0.23 - 0.78))结果:110.02.41867732448956470.552.coerce()(python3中已弃用)数据类型转换函数。如果有一个操作数是复数, 另一个操作数被转换为复数,否则,如

2022-01-06 17:44:56 1530

原创 Python 对象。与所有Python 对象有关的三个属性是什么?

Python面向对象三大特性:封装、继承和多态。1.封装用自己的话说就是,将内容封装到一个地方,从这个地方调用被封装的内容。第一步:将内容封装到某处通过对象直接调用被封装的内容:#创建类class Foo: def __init__(self,name,age): self.name = name self.age = age#根据Foo创建对象obj1 = Foo("suxuefeng",22)#通过对象obj1直接调用name和ag

2021-12-30 17:34:33 1579

原创 Python中更新模型和访问模型

1.更新模型分类 Python类型 可变类型 列表、字典 不可变类型 数字、字符串、元组 我们可以通过内建函数id()来确认对象的身份在前后是否发生了变化,例如:x = "python numbers and strings"print(id(x))x = "are immutable?!?"print(id(x))i = 0print(id(i))i = i + 1print(id(i))list = ["ammonia",23,34,"me"]

2021-12-28 16:38:01 435

GIT基本原理及常用命令

Git 是什么? Git 是目前最流行的分布式版本控制系统,一个版本管理工具。

2024-04-30

appium详细的环境配置

appium详细的环境配置

2022-02-15

空空如也

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

TA关注的人

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