自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (3)
  • 收藏
  • 关注

原创 数据结构

序列1.内置序列类型概述容器序列容器序列:可以存放不同类型的数据(存放数据的引用(对象))list、tuple、collections.deque扁平序列扁平序列:只能存放同种数据类型,存放的是对象的值,不是引用,扁平序列通常是一段连续的内存空间str、bytes、bytearray、array.array、memoryview可变序列可以进行增删改的序列list、collections.deque、bytearray、array.array、memoryview不可变序列不能被修改

2021-03-20 22:11:31 329

原创 接口自动化测试

接口自动化测试框架结构login.py—业务模块"""规划接口示例:接口名称:登录接口接口类型:token机制(有些项目是cookies--sessionid机制)用途: 1.本身需要做接口测试 2.获取token,给后续的接口做鉴权"""import hashlibfrom pprint import pprintimport requestsfrom configs.config import HOST# 封装一个md5加密函数def get_md

2021-03-20 12:58:00 392 4

原创 appium-常用操作

appium常用操作1.app相关操作启动appdriver.launch_app()#默认启动的是capabilities配置中的app切换appdriver.start_activity('包名', '活动页')后台运行appdriver.background_app(10)#使当前前台运行app切换到后台10秒,然后又切回到前台关闭appdriver.close_app()#默认关闭capabilities配置中的app关闭驱动driver.quit()2.抓取toa

2021-03-19 19:24:08 845

原创 appium-滑动、拖动操作

appium滑动、拖动操作要实现在手机中滑动、拖动操作,首先需要定位到点的坐标,或者使用元素实现滑动、拖动可以使用绝对坐标和相对坐标由于绝对坐标在更换手机或改变分辨率大小后不能重复利用,推荐使用相对坐标首先获得屏幕width、heightscreen_size = driver.get_window_size()#返回一个当前屏幕宽高的字典width = screen_size['width']height = screeen_size['height']1.使用点的坐标实现滑动、拖动

2021-03-18 21:05:45 4071

原创 appium使用之元素定位

appium使用之元素定位使用appium时,可以使用各种各样的元素定位方式,先来看一下这些元素在哪,如下图在appium中可以找到的属性都在这里id定位driver.find_element_by_id('')#这里填入的id就是resource-id#如果resource-id重复,那么使用其他方式定位className定位driver.find_element_by_class_name('')#这里的calssName就是对应appium中的class,#在appium中,

2021-03-17 13:09:30 513

原创 数据模型

数据模型python数据模型是对python框架的描述,主要内容就是python特殊方法的使用通过使用特殊方法,我们使自己定义的对象能够被一些函数所支持意思就是说在自定义的类中实现了某些特殊方法,那么类的实例对象就可以直接调用python的一些内置函数,如len()使类的对象变成了python内置对象,如序列对象例子:import collectionsCard = collections.namedtuple('Card', ['suit', 'rank'])class Deck:

2021-03-11 01:39:41 105 2

原创 微信小程序基础介绍

微信小程序基础介绍什么是微信小程序?微信小程序本质上就是一个计算机软件程序,不同与APP,它依赖与微信平台,可以理解为是嵌套在微信平台中的一个APP。微信小程序的优缺点优点不需要安装,省去了安装的麻烦体积小,节省手机空间使得手机桌面更加简洁可以依靠微信平台传播、获取客户,节省了推广成本开发周期短,节省了开发成本开发门槛相对较低连接线上线下,给生活带来了便利…缺点微信小程序整个体系依赖于微信推送消息有诸多限制小程序不能承载用户的所有需求与其他相关概念的区别与H5的区别

2021-03-09 13:45:34 3046

原创 mybatis环境配置

mybatis环境配置Mybatis是什么?Mybatis是一个基于Java的持久层框架MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射说白了Mybatis就是一个Java连接数据库的框架idea环境配置项目总的结构图1.新建一个普通maven项目如下图:mybatis-study,将src目录删除,然后新建一个模块(mybatis-01)这里将src目录删除新建一个模块的目的是为了

2021-03-04 09:22:10 424 2

原创 adb安卓调试桥

adb安卓调试桥工具adb是什么?adb的全称为Android Debug Bridge,就是起到调试桥的作用,是一个使用计算机来调试手机的工具adb能干什么?运行设备的shell(命令行)管理模拟器或设备的端口映射计算机和设备之间上传/下载文件将本地apk软件安装至模拟器或android设备adb的组成原理adb客户端(运行在PC电脑上)adb服务端(运行在PC电脑上),在任务管理器中后台进程可查看adb守护进程(运行在模拟器/手机/平板中)adb客户端、服

2021-03-03 18:00:02 543 1

原创 mybaits字节编码错误

mybaits字节编码错误错误信息如下:解决方法:修改mybatis核心配置文件和mapper.xml配置文件即可测试成功:

2021-03-02 21:12:04 124

原创 Android系统基础介绍

Android系统基础介绍Android系统发展史Android系统从1.5版本迭代到现在10.0需要注意的几个版本:5.0界面设计技术发生变革,采用全新的MaterialDesign界面,做测试时考虑5.0之前的版本和5.0(含)之后的版本Dalvik虚拟机速度比ART慢,但占用空间小ART虚拟机速度更快,但占用更多资源(空间)(但由于现在磁盘等越来越便宜,所以使用ART)6.0采用全新权限机制,做测试时考虑6.0以前的版本和6.0(含)之后的版本在6.0之前权限机制就是安装时权限:

2021-03-02 16:42:31 1420

原创 jmeter系统参数

jmeter系统参数设置jmeter系统参数设置在函数助手对话框里:配置系统参数这里以__time为例:将生成的结果复制到请求名称中:添加结果树,查看结果,会发现每一个请求都带上了发送请求时的时间:...

2021-02-27 20:01:37 132

原创 jmeter后置处理器

jmeter后置处理器作用当给一个请求添加后置处理器时,那么可以将前一个请求的响应结果传给后一个请求使用场景后一个请求需要前一个请求的响应中的结果作为参数时实施步骤新建测试计划,添加线程组等在加入后置处理器之前先查看前一个请求的响应数据:提取响应数据,方便后面后置处理器使用在请求1中添加后置处理器,如正则表达式处理器,配置如下:在后一个请求中,输入变量作为参数:到了这一步,就使得前一个请求的响应结果中的某个数据通过后置处理器传给了后一个请求...

2021-02-27 19:43:52 211

原创 jmeter测试其他协议

jmeter测试其他协议除了测试http协议,jmeter还可以测试其他协议,如:SOAP协议jmeter测试SOAP协议SOAP协议是一个基于XML的简易协议,该协议都是post方式的请求实施步骤新建一个测试计划,添加线程组,然后添加一个http信息头管理器信息头设置如下:这里添加格式管理为xml格式,是为了满足SOAP协议(SOAP协议就是基于XML的)添加一个http请求,设置如下:添加结果树查看结果:...

2021-02-27 19:10:58 548

原创 jmeter连接mysql数据库

jmeter连接mysql数据库为什么要用jmeter去连接数据库在对数据库进行性能测试(一般测试查询)时,可以借助jmeter工具连接具体步骤在jmeter中新建一个测试计划,并将jdbc连接mysql的jar包导入添加一个配置原件:JDBC Connection Configuration在线程组中添加一个JDBC Request取样器设置取样器内容添加结果树,运行脚本...

2021-02-27 18:47:14 123

原创 接口测试之postman

接口测试之postman接口说白了就是对应计算机中的一个文件夹,一个接口对应一个文件夹http://www.baidu.com/search?usename=‘xxx’&password=‘xxx’这里的search就是一个接口什么是接口测试测试的是后端,对后端逻辑的测试检查数据的交换和传递的正确性,包括登录,商品服务,订单服务等待为什么要做接口测试企业中前后端开发进度不一致(一般前端耗时比后端长,后端先做完了那么就先做接口测试),测试越早介入越好UI界面非常多,项目周期有限,

2021-02-23 11:19:28 173 3

原创 web自动化测试框架

web自动化测试框架所谓框架,就是一种思想,一种整合的思想,就是将所做的事情的各个部分整合到一起构成一个框架。使用selenium构建web自动化测试框架的流程在项目中添加7个包:browserdriver、config、business、test_data、test_case、test_report、test_runbrowserdriver包browserdriver包:专门用来存放游览器驱动config包config包:存放配置文件,config.ini、read_ini.py、fw

2021-02-22 11:33:13 1385

原创 selenium与unittest结合使用

selenium与unittest的结合使用import unittestfrom selenium import webdriverfrom HTMLTestRunner import HTMLTestRunnerClass MyTest(unittest.Case): def setUp(self): self.br = webdriver.Firefox() self.br.get("https://www.baidu.com") def tearDown(

2021-02-21 11:48:13 501 4

原创 selenium常用API介绍

selenium常用API介绍文本的清空与提交br.find_element_by_id("xxx").clear()#清空文本br.find_element_by_id("xxx").submit()#提交,当然也可以点击提交按钮提交退出游览器br.close()#关闭当前选项卡br.quit()#退出整个游览器获取页面标题和当前页面源码#这两个都是属性br.titlebr.page_source游览器窗口最大化br.maximize_window()刷新页面br.re

2021-02-20 11:41:06 1153 1

原创 多线程的真正意义所在及锁的问题

多线程的真正意义所在比如在一个main主线程中,有一个耗时的IO操作,或者一个需要用户交互的IO操作,如果没有多线程,只有一个main主线程,那么main中用户交互的IO操作后面的代码就必须等待用户操作之后才会执行,如果有了多线程,那么在等待用户操作的同时,可以去执行其他的线程如:利用多线程相应一个用户的请求时,可以同时相应其他用户的请求,如果将代码全部写在一个main主线程中,那么就必须等待相应完第一个用户后才能对其他的用户做出相应...

2021-02-10 14:54:10 174 3

原创 java方法的自动调用问题

Java方法的自动调用问题背景经常在java里面看到某些方法被自动调用(除了构造函数以外的方法),我们并没有主动的使用Class.方法()去调用方法,而是直接new一个类的时候方法就被调用了,其实最终原因还是该类的父类或者父类的父类里面的构造函数调用了该方法,而这个方法在子类中是通过重写父类的方法的方式去实现的实例如上图:子类重写了父类的方法父类的构造函数调用了该方法当直接在子类中new一个对象时,它首先会执行父类的构造函数(因为没有重写父类的构造函数),而父类的构造函数中调用了say

2021-02-08 11:00:19 1691 2

原创 web安全测试

web安全测试web安全测试是指:检验web产品抵抗网络攻击能力的一个过程web攻击两个特点:1.影响范围广;2.经济损失大安全测试的三种方式代码静态扫描工具:Fortify,sonarqube等内存扫描可以使用杀毒软件黑盒动态测试(也叫渗透测试)模拟黑客对系统进行攻击渗透测试三个阶段(过程)收集信息比如收集ip地址、操作系统、中间件、版本号、数据库类型等等发现漏洞、验证漏洞开始发起攻击利用漏洞渗透测试的两个特点渗透测试是个逐渐渗透的过

2021-02-03 22:54:03 928

原创 web测试

Web测试测试内容:功能,性能,兼容,易用,安全等测试方法:判定表,等价类,场景法等web测试更注重性能和安全测试链接测试该链接将用户带到它所说明的地方,所见即所得该链接页面确实存在保证web应用系统上没有孤立的页面,所谓孤立的页面是指没有链接指向该页面链接指http://xxxxx链接测试工具:Linkbot,Xenu表单测试程序是否检验信息的正确性(可通过填写表单并提交,到数据库验证)(一条有效等价类即可)每一个输入框都要考虑等价类,边界值,正交实验

2021-02-01 22:26:20 3402

原创 java基础

java基础浮点数据类型浮点数据类型float,double不精确,最好不要使用浮点数进行比较,而是使用java的类BigDecimal(银行业务一般使用)浮点型float在后面需要加Flong类型在后面要加L类型转换高转低需要强制转换,如:int a = 5;byte b = (byte)a;低转高不需要两个不同类型数作运算,低容量会自动转换为高容量类型变量类型局部变量在方法内,必须初始化实例变量在类中,方法外(不加static),如果不初始化,那么为默认值,如:0,nu

2021-02-01 22:24:24 90 2

原创 如何使用PostMessage向指定窗口发送消息

PostMessage的第一个参数就是一个HWND类型的窗口句柄这里假设一个场景:使用spy++已经得到窗口句柄的值,如何使用PostMessage1.spy++得到的句柄值是16进制数,需要将其装换为10进制2.将得到的10进制数强转为(HWND)类型3.将转换为HWND类型的10进制数赋值给PostMessage的hWnd即可...

2021-01-31 02:02:34 1269

原创 jenkins持续集成之java发布与总结

jenkins持续集成之java发布1.将项目推送到gitlab2.使用jenkins新建一个任务流水线模式和freestyle都可如上图,填入3个关键信息3.脚本的修改注意点jenkins的工作空间为:/var/lib/jenkins/workspace每当从gitlab上拉取一个项目,/var/lib/jenkins/workspace路径下就会出现一个与gitlab上的任务同名的目录,(默认是同名,也可以使用流水线脚本修改)php项目的发布1.如果是php项目,需要安装php-

2021-01-30 18:33:07 372

原创 jenkins持续集成基础介绍

Jenkins持续集成持续集成就是一点点的发布成果,给用户使用持续集成最大的作用就是实现快速发布Jenkins就是一个工具(软件),用来结合其他工具共同完成持续集成也就是快速发布Jenkins使发布的整套流程自动化,包括拉取项目到Linux,构建运行环境,发布(Jenkins安装在Linux中)介绍Jenkins前先介绍一下GitlabGitlabGitlab同Github和Gitee作用一样,都是用来托管代码(远程仓库)的工具,只不过Gitlab用在内网其本质就是一个软件因为服务器一般

2021-01-27 23:33:57 106

原创 git分支管理与远程仓库

git 分支管理与远程仓库git 分支管理分支就是小仓库,如master就是git默认的第一个分支当然,只有在第一次commit之后,才会出现第一个分支(master)分支的查看查看当前工作空间所有分支:git branch -a分支的创建git branch 分支名git checkout -b 分支名(该命令在创建分支的同时会切换到该分支)创建分支的时候,每个新分支都会复制master分支的内容,自动就作为自己的第一个版本分支的切换git checkout 分支名(

2021-01-27 01:03:22 302

原创 git基础介绍

git基础介绍git就是一个版本控制工具,其他版本控制工具还有:SVN,CVS(老牌),VSS(微软)git环境配置git config --global user.name “yangdaxian”git config --global user.email “xxxxx@qq.com”配置git初始文件git init使用该命令后会出现一个.git的隐藏文件夹master表示第一个默认仓库名(第一分支)将文件放入git暂存区也就是将文件交给git管理(还没有提交)git

2021-01-25 23:48:11 85

原创 其他测试设计方法

其他测试设计方法输入域测试法(1)概念:针对软件系统的输入部分综合运用等价类划分和边界值分析进行测试用例设计的一种方法;(2)测试的值:极限值:类似于边界值上点离点的概念(最大;最小;最多;最少。。。。。);中间范围值:类似于边界值中的内点的概念;特殊值:特殊处理的数据与其他数据处理的方式都不一样;(次边界值)通讯行业:中国(119;110;100086;10010;10000);移动的充值号码(13800138000)日期:传统节日;国庆日;输出域覆盖法(1)概念:某些软件系统(需求)

2021-01-24 20:39:58 220

原创 状态迁移图法和流程分析法

状态迁移图法概念针对有限状态机进行测试,测试在给定条件下能够正确的跳转以及是否存在一些未可达的状态相关术语有限状态机:是为研究有限内存的计算过程和某些语言抽象出来的模型。有限状态机拥有有限个数量的状态,每个状态可以迁移到零个或多个状态,通过给出指令(跳转条件)进行迁移。典型的有限状态机:嵌入式系统(手机,电梯,家用电器,交通信号灯…);游戏(贪吃蛇);Web端软件系统(链接页面)状态:某个时间点的一种表现跳转条件:状态发生变化的输入迁移:状态发生变化的过程状态迁移图法的使用步骤将软

2021-01-24 13:34:25 8725

原创 因果图法

因果图法概念将具有特别复杂逻辑关系的需求转化为判定表的一种中间系统化方法最终会生成判定表因果图就像是一个草稿,帮你理清逻辑关系,借助因果图生成判定表有时候不一定要使用因果图生成判定表,但是需要画出因果图以便分析相关术语原因:可以叫条件桩或者输入条件(输入条件只取布尔量,1;0)结果:可以叫动作桩或者输出条件(输出条件只取布尔量,1;0)中间节点:1.当多个原因(输入条件)不是单纯的与和或的关系,可以利用中间节点存取中间结果,使因果图更加清晰;2.当多个原因(输入条件)都在描述同一件事

2021-01-22 18:17:55 4677 1

原创 判定表法

判定表法概念分析和表达多种输入条件进行组合完成不同动作的一种工具方法。这种方法可以明确且具体的将具有复杂逻辑关系的需求表示出来说白了就是测试组合的方法,如:账号和密码的组合相关术语条件桩:输入条件;条件项:输入条件的取值;动作桩:输出结果;动作项:输入结果的值判定表法的使用步骤将软件需求规格说明书划分成多个需求子片段;分析需求子片段,找出条件桩,条件项,动作桩,动作项;计算条件项的组合数量(每个条件桩的条件项的个数相乘),并生成合并规则;分析生成的组合规则,对相似规则进行合

2021-01-21 17:36:45 4762

原创 等价类划分法与边界值分析法

测试设计方法之等价类划分法与边界值分析法在我们完成测试需求分析之后(在测试方案中的测试设计中的测试用例设计之前)需要对测试用例进行设计,对测试用例设计要用到测试设计方法,但是测试设计方法不只是用在测试用例的设计,还用在文档评审中系统测试的依据:SRS->软件需求规格说明书(黑盒)单元测试的依据:LLD->详细设计说明书,数据库的表结构(白盒)集成测试依据:HLD->概要设计说明书,,接口的规格,接口的内部结构(灰盒)测试设计方法思维导图1.等价类划分法概念从输入(输

2021-01-20 18:31:40 11911

原创 测试需求的分析

测试需求的分析测试需求分析思维导图什么是测试需求分析测试需求分析就是根据测试计划中确定的测试范围,然后利用测试需求分析方法来确定我们真正要测试的点,得到了我们要测试的内容后,再进行测试设计为什么要分析测试需求帮助客户明确他们对最终产品真正需求的一个过程澄清需求信息传递的一些误解明确测试的工作,为后续的测试计划工作提供一个指导不会遗漏测试的内容测试需求分析在哪一步在(系统)测试设计中的测试设计中的测试用例设计之前,就是说进行了测试需求分析之后,才能对测试用例进行设计,编写出完善的测

2021-01-19 22:29:07 2372

原创 代码注入

代码注入代码注入的核心就是注入可以独立运行的代码什么叫可独立运行的代码?就是代码与数据同时注入,且代码中并没有直接使用API,也不直接使用字符串,而是以引用的方式使用API和字符串(意思就是说间接的先使用一个地址,然后这个地址里面放着数据),而不是直接硬编码数据(直接硬编码会造成在当前进程有效,但是换一个进程,数据地址就变了,那么直接硬编码就出引用错误的地址)这样才能保证代码可以独立运行(也就是说这个代码放到任意一个进程中都可以运行)DLL注入为什么可以直接调用API和数据?因为DLL注入是将

2021-01-17 17:01:24 427

原创 WindowsAPI笔记

WindowsAPI笔记GetModuleHandleAHMODULE GetModuleHandleA( LPCSTR lpModuleName);1.如果参数为空,那么返回当前进程的句柄注意:返回的句柄就是该进程在内存中的基址(ImageBase)句柄->基址------牢记2.如果指定了参数,不给扩展名(如:.exe,.dll),那么默认是dll文件该函数就会在程序进程中查找与参数相同的模块字符串找到了,就返回该模块的句柄没找到,返回NULLGetModuleFile

2021-01-17 00:29:44 291

原创 通过修改PE文件导入DLL

通过修改PE文件导入DLL修改思路实例1.查看IDT信息图1由上图我们可以得到以下信息:IDT的RVA信息在文件偏移160h处,值为84CCIDT的大小信息在文件偏移164h处,值为64h1.1转到IDT处查看具体信息转到84CC也就是文件偏移76CC共有5个IID结构体(每个IID20个字节,对应一个DLL相关信息),最后一个IID为NULL由上图我们发现并没有足够空间添加我们的DLL,那么转移IDT2.转移IDT由图1可知IDT在.rdata节区,查看.rdata节区

2021-01-17 00:21:14 936

原创 测试需求在项目各个阶段的区别

测试需求在项目各个阶段的区别

2021-01-16 12:38:25 357

原创 系统测试方案编写(五)

系统测试方案的编写一.系统测试计划与方案的区别系统测试计划是站在管理者的角度,由测试经理或测试组长编写,把控系统测试全过程的一个文档。内容包括:组织形式,测试对象,需求跟踪,通过/失败标准,挂起标准/恢复条件,任务分配,应交付的测试工作产品。系统测试方案是站在技术角度上,由测试设计师编写,根据测试计划规定的目标来给定资源限制和一些具体的方法和方案,是对后续测试工程师工作如何开展的技术层面的指导。内容包括:概述,被测对象,应测特性,不应测特性,测试模型,测试需求,测试设计。二.系统测

2021-01-16 00:38:00 6239

软件测试总流程.xmind

软件测试总流程.xmind

2021-03-17

App自动化测试-appium.xmind

appium安装

2021-03-16

web渗透测试.xmind

web渗透测试.xmind

2021-02-07

空空如也

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

TA关注的人

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