- 博客(87)
- 资源 (13)
- 收藏
- 关注
原创 python3中图像识别的应用open-CV库
python3中图像识别的应用open-CV库什么是open-CV?OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法(百度百科)。代码:定义图像识别的类import cv2import osfrom PIL import ImageGr
2020-12-25 16:52:42
1526
原创 python3中递归算法的应用
python3中递归算法的应用递归算法解决问题的特点:(1)递归就是在过程或函数里调用自身(2)在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。(3)递归算法解题通常显得很简洁,但递归算法解题的运行效率较低,所以一般不提倡用递归算法设计程序。(4)在递归调用的过程中系统为每一层的返回点、局部量等开辟了栈来存储,递归次数过多容易造成栈溢出等。递归的要求递归算法所体现的“重复”一般有三个要求:(1)每次调用在规模上都有所缩小(通常是减半)(2)是相邻两次重复之间有紧密的联系,前一
2020-12-25 16:52:05
488
1
原创 利用Python进行持续集成
利用Python进行持续集成CI 是什么?CI 和 CD 有什么区别?缩略词 CI / CD 具有几个不同的含义。CI/CD 中的“CI”始终指持续集成,它属于开发人员的自动化流程。成功的 CI 意味着应用代码的新更改会定期构建、测试并合并到共享存储库中。该解决方案可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题。CI/CD 中的“CD”指的是持续交付和/或持续部署,这些相关概念有时会交叉使用。两者都事关管道后续阶段的自动化,但它们有时也会单独使用,用于说明自动化程度。持续交付通常是指开发
2020-12-25 16:51:12
1212
原创 理解自动化测试框架设计
理解自动化测试框架设计为什么需要设计测试框架?首先我们需要明确一点,自动化测试工具或程序的开发与一个软件产品的开发在本质上是没有区别的,特别是从技术层面上来说,更是如出一辙。我们开发一套软件产品,也是为了能够帮助客户解决某些层面的问题,提升效率或降低成本,正因为有客户需要才有开发这套产品的价值。同样的道理,我们开发一套自动化测试工具,当然是为了更好地给测试团队使用进而提高测试团队的执行效率,提升软件产品的质量,所以这套工具的客户即为测试团队成员,因为他们有需要,因为他们不想把时间花费在一些重复的劳动上,
2020-12-25 14:04:56
359
原创 python3中反射的应用
python3中反射的应用什么是反射?在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性它可以把字符串映射到实例的变量或者实例的方法然后可以去执行调用、修改等操作。它有四个重要的方法:getattr 获取指定字符串名称的对象属性setattr 为对象设置一个对象hasattr 判断对象是否有对应的对象(字符串)delattr 删除指定属性import randomclass Student: def __ini
2020-12-24 09:11:04
205
原创 Robot Framework 自动化测试框架
Robot Framework 自动化测试框架安装配置简介一款python编写的通用的自动化测试框架。具备良好的可扩展性。支持关键字驱动。可以同时测试多种类型的客户端或者接口。可以进行分布式测试。主要用于验收测试和验收测试开发(ATDD)。特点易于使用,采用表格式语法,统一测试用例格式重用性好,可以利用现有关键字来组合新关键字支持变量支持创建基于数据驱动的测试用例结果报告和日志采用HTML格式,易于阅读提供标签以分类和选择将被执行的测试用例平台、应用无关功能全面,支
2020-12-09 17:39:52
21691
2
原创 软件配置管理组织
软件配置管理组织配置管理角色项目经理职责制定相关项目计划任命SCM组织和人员,比如SCM经理,CMO和各级CCBs帮助制定并评审软件配置管理计划(SCMP)监督SCM活动的实施参与各类评审活动配置管理员CMOØ管理配置库,管理基线库Ø作为CCB的执行秘书,操作CCB工作流程Ø配置状态记录与发布变更控制委员会CCB人员组成项目经理或SCM经理兼任组长CMO (执行秘书)软件分析设计师高级程序员SQA人员职责授权对CIs进行选择,分类, 标识授权建立各种基线代表各
2020-12-01 13:24:46
1165
原创 软件配置管理原理
软件配置管理原理流程中引入配置管理员角色用于管理配置变更什么是配置工具的引入能够帮助配置管理员自动化处理,工具应该具备下面的特征:Ø维护一个文件库Ø创建和存放文件的多个版本Ø提供权限锁定的机制Ø能够标识一组文件的版本Ø从配置库中提取/找回文件的版本概念一套应用技术上和管理上的指导和监督的方法。用来:识别和记录配置项的功能特征和物理特征控制这些特征的变更记录和执行变更的处理和执行的状态以及验证其是否符合特定的需求。简单讲,配置管理就是通过对在软件生命周期的不同的时间点上的软件
2020-12-01 13:16:53
973
原创 分布式版本管理工具Git-操作基本命令
分布式版本管理工具Git-操作基本命令git与svn的区别1 集中式版本管理工具2 分布式版本管理工具3 svn与git的区别**集中式(**SVN)**分布式(**Git)是否有中央服务器有。开发人员需要从中央服务器获得最新版本的项目然后在本地开发,开发完推送给中央服务器。因此脱离服务器开发者是几乎无法工作的没有中央服务器,开发人员本地都有 Local Repository网络依赖必须要联网才能工作,而且对网络的依赖性较强,如果推送的文件比较大而且网络状况欠
2020-11-30 12:20:39
178
原创 分布式版本管理工具Git
分布式版本管理工具Git安装yum -y install git检查版本git version配置GIT服务器为git添加单独的用户,本步骤是出于远程仓库的安全考虑,不是必须的groupadd gituseradd git -g git # -g 参数后是组名passwd git # 需要设置git用户的密码,比如密码设置为git123456,也可以直接按回车密码设空。禁用shell登录本步骤是出于用户登录的安全考虑,不是必须的 vi /etc/passwd修改文件中下面这
2020-11-30 12:18:27
131
原创 初识Redis之redis的基础操作
初识Redis之redis的基础操作Redis(Remote Dictionary Server ),即远程字典服务, Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库,并提供多种语言的API。 Redis是现在最受欢迎的NoSQL数据库之一 。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,
2020-11-25 18:34:58
105
原创 性能测试之LoadRunner11安装步骤
性能测试之LoadRunner.11在win10中安装步骤win10中安装loadrunner需要借助辅助工具QA安装QA辅助工具,解压到目录中将压缩包解压到目录中,以QA身份运行exe文件安装过程中两个弹出警告框均选择否点击完整安装程序直接下一步执行安装完成loadrunner11后对软件进行破解操作退出程序,把下载文件中的lm70.dll和mlr5lprg.dll覆盖掉…\HP\LoadRunner\bin下的这两个文件注意:win7的话一定要以管理员身份运行启动程序,启动
2020-11-21 15:37:44
1543
原创 性能测试之LoadRunner函数使用方法
LoadRunner函数web_url语法int web_url( const char *StepName, const char *url, <List of Attributes>, [EXTRARES, <List of Resource Attributes>,] LAST );参数说明URL:请求的URL地址RecContentType:响应头中ContentType的值Referer:上一步的url地址Mode : 录制级别:HTML或HTTP
2020-11-21 11:28:30
271
原创 性能测试之LoadRunner11脚本录制方法
性能测试之LoadRunner11脚本录制方法loadrunner录制脚本提供了两种方法,需要注意的是普通的录制方式只能支持IE浏览器,由于越来越多的网站已经不再支持IE,录制脚本无法进行,就可以采用代理录制的方式来解决这个问题方法一:普通录制选择开始> 程序 > HP LoadRunner > Applications>Virtual User Generator,将打开VuGen 起始页。点击New Script,进行协议选择,默认选择HTTP协议,录制脚本,点击Crea
2020-11-21 11:26:45
2597
原创 性能测试之Jmeter中Bean shell使用
Jmeter之Bean shell使用一、什么是Bean ShellBeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;BeanShell是一种松散类型的脚本语言(这点和JS类似);BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简的解释器jar文件大小为175k。BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。二、Jmeter有哪些Bean S
2020-11-20 16:22:14
810
1
原创 PE装载win10系统原理解读
PE装载win10系统原理解读什么是系统引导?使用PE装载系统之后,还需要让电脑在开机的时候能识别电脑中的系统,这个过程就是系统引导。目前主要有两种引导方式:legacy引导和UEFI引导,这两种引导方式区别在于,Legacy引导对应的必须是MBR硬盘模式,UEFI引导对应的必须是GPT硬盘模式。电脑用哪种引导方式可以在电脑主板BIOS里设置,这两种引导方式互不兼容。现在大部分还是以legacy引导方式居多,但品牌机(台式机、笔记本)现在出厂预装的系统都是UEFI引导方式。UEFI是比较新的引导
2020-11-14 11:54:32
2249
2
原创 Jmeter性能测试面试基础问答
性能测试基础简述实施软件性能测试的流程?a.性能需求分析 挑选用户使用最频繁的功能来做测试,比如:登陆,搜索,提交订单 确定性能指标,比如:事务通过率为100%;90%的事务响应时间不超过5秒;并发用户为1000人时CPU和内存的使用率在70%以下b.性能测试计划 确测试时间和测试环境和测试工具的选择 注明测试通过指标以及业务场景 准备性能测试数据c.搭建性能测试环境 注意这里测试环境一定要和线上正式环境保持一致d.通过性能测试用例,编写性能测试脚本,准备性能测试数据 性能测
2020-11-10 21:06:25
5972
原创 Python3中Faker常用方法
Python3中Faker常用方法以下内容以ZH-CN和ZH-TW包为准地理信息类city_suffix():市,县country():国家country_code():国家编码district():区geo_coordinate():地理坐标latitude():地理坐标(纬度)longitude():地理坐标(经度)postcode():邮编province():省份 (zh_TW没有此方法)address():详细地址street_address():街道地址street
2020-11-10 20:23:33
928
原创 Python3之Faker生成测试数据
Python3之Faker生成测试数据什么是Fake Faker是一个Python包,开源的GITHUB项目,主要用来创建伪数据,使用Faker包,无需再手动生成或者手写随机数来生成数据,只需要调用Faker提供的方法,即可完成数据的生成。安装pip install Faker官方文档:https://faker.readthedocs.io/en/master/初始化:关于初始化参数locale:为生成数据的文化选项,默认为en_US,只有使用了相关文化,才能生成相对应的随机信
2020-11-10 20:22:21
910
转载 使用CSV数据文件设置参数化
使用CSV数据文件设置参数化参数的不同方式jmeter中参数化方式很多,以下讲解两种常见的参数化方式方式一:接着在之前创建的脚本的基础上,右键点击 配置元件---->CSV Date Set Configa.页面参数设置文件名:脚本的存放路径,可以点击直接选择,这里可以读取CSV和txt格式的数据文件编码:一般选择UTF-8变量名:我这里根据测试数据选择username,password 注意中间需要使用逗号完成忽略首行:这里第一行不需要则选择True分隔符:数据中文件中分割符合
2020-11-06 19:20:38
2886
原创 性能测试工具-jmeter
性能测试工具-jmeterjmeter安装步骤:参考博客:https://www.cnblogs.com/auguse/articles/11647133.htm性能测试的分类基准测试:单线程测试,在测试的时候使用单线程多次进行测试,可以调换到服务器某个硬件,例如 CPU 内存压力测试:模拟大规模用户访问系统,看系统在极限情况下也就是CPU、内存或者网络消耗完的情况下服务器所能承受的最大的负载(线程)。负载测试:在规定了软硬件资源(CPU使用率在75% 内存使用在80%)的请求下,测试服务器的
2020-11-06 19:19:09
254
转载 常见的http状态码
常见的http状态码状态码是开发者需要了解的一项内容,日常开发中浏览器会返回给我们一些状态码,然后我们可以根据状态码所代表的含义进行问题解决。1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。2XX (成功) 都表示服务器成功处理了请求的状态代码,说明网页可以正常访问。200(成功) 服务器
2020-11-06 19:17:20
274
原创 web接口之数字签名
web接口之数字签名什么是数字签名所谓数字签名(Digital Signature)(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名的实现数字签名的简单实例是直接利用RSA算法和发送方的秘密密钥。对被签名的数据进行加密。当接收方收取本块密文时,使用发送方的公开密钥进行解密,如果能够还原明文,则根据公开密钥体制的特点(公开密钥加密的密文只能用秘密
2020-11-06 19:16:01
983
原创 接口测试之Mock测试应用
接口测试之Mock测试应用什么是Mock测试?Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取的比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。Mock 分类测试中的 Mock 可以大致分为两类:mock 数据和 mock 服务。Mock 数据即 mock 一个对象,写入一些预期的值,通过它进行自己想要的测试。主要适用于
2020-10-31 18:00:29
634
原创 接口测试之WebSocket
接口测试之WebSocketWebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。W
2020-10-31 17:06:28
500
原创 接口测试之requests库基本用法
requests库的用法使用requests模拟浏览器发出请求安装pip isntall requests官方文档:https://requests.readthedocs.io/en/master/中文文档:https://requests.readthedocs.io/zh_CN/latest/requests库常用方法:requests.requests()requests.get(‘https://github.com/timeline.json’) #GET请求requests
2020-10-31 17:04:36
244
原创 Cookie、Session和token机制的区别
Cookie、Session和token机制的区别常用的会话跟踪技术是Cookie与SessionCookie通过在客户端记录信息确定用户身份Session通过在服务器端记录信息确定用户身份Cookie机制在程序中,会话跟踪是很重要的事情。理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。例如,用户A在超市购买的任何商品都应该放在A的购物车内,不论是用户A什么时间购买的,这都是属于同一个会话的,不能放入用户B或用户C的购物车内,
2020-10-31 16:57:42
147
2
原创 接口测试之JSON
什么是 JSON ?JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)JSON 是轻量级的文本数据交换格式JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。JSON 具有自我描述性,更易理解JSON 与 XML 的相同之处:JSON 和 XML
2020-10-31 16:56:43
731
原创 接口测试之wireshark和fiddler的应用
抓包工具wireshark和fiddler1.wireshark说明过滤规则说明过滤地址ip.addr==192.168.10.10 或 ip.addr eq 192.168.10.10 #过滤地址ip.src==192.168.10.10 #过滤源地址ip.dst==192.168.10.10 #过滤目的地址 过滤协议,直接输入协议名icmp http 过滤协议和端口tcp.port==80tcp.srcport==80tcp.dstport==80
2020-10-31 16:55:08
512
原创 接口测试之HTTP 与 HTTPS 协议的区别
HTTP 与 HTTPS 协议的区别HTTP又称为超文本传输协议 ,为了传输文件产生的,它属于应用层协议,基于传输层TCP协议,但随着互联网的演进,最初的静态文件传输已经演变成动态生成“文件”再传输。http 请求方式GET --- 通过请求URI得到资源POST --- 用于添加新的内容PUT --- 用于修改某个内容DELETE --- 删除某个内容CONNECT --- 用于代理进行传输,如使用SSLOPTIONS --- 询问可以执行哪些方法PATCH --- 部分文档更改PRO
2020-10-31 16:52:44
4111
10
原创 接口测试面试基础问答
接口测试什么是接口?接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。为什么要做接口自动化:成本收益比较高,介入项目测试时机提前了,能更早的发现bug,因为不需要在等前端页面开发完成,后端接口开发完成,就可以展开测试常见接口分类系统内部服务层级之间的接口调用,比如后端服务应用层调用service层的接口,service层掉用DAO层的接口,这个地方
2020-10-31 16:51:02
141
转载 Appium移动端测试之元素定位
Appium移动端测试之元素定位定位元素规则从示例代码,大家就可以发现,和Selenium Web自动化一样,要操作界面元素,必须先 定位选择到该元素。Appium是基于Selenium的,所以 和 Selenium 代码 定位元素的 基本规则相同:find_element_by_XXX 方法,返回符合条件的第一个元素,找不到抛出异常find_elements_by_XXX 方法,返回符合条件的所有元素的列表,找不到返回空列表通过 WebDriver 对象调用这样的方法,查找范围是整个界面通过
2020-10-26 13:38:13
349
转载 appinm移动端测试环境搭建
appium移动端测试环境搭建安装client编程库自动化程序需要调用客户端库和 Appium Server 进行通信。pip install appium-python-client安装Appium ServerAppium Server 是用 nodejs 运行的,基于js开发出来的。Appium组织为了方便大家安装使用,制作了一个可执行程序 Appium Desktop,把 nodejs 运行环境、Appium Server 和一些工具 打包在里面了,只需要简单的下载安装就可以了。App
2020-10-26 13:36:52
1700
原创 selenium之在web页面拖动滚动条
selenium之在web页面拖动滚动条调用JavaScript代码使用JS脚本拖动到指定地方虽然WebDriver提供了操作浏览器的前进和后退方法,但对于浏览器滚动条并没有提供相应的操作方法。在这种情况下,就可以借助JavaScript来控制浏览器的滚动条。WebDriver提供了execute_script()方法来执行JavaScript代码。用于调整浏览器滚动条位置的JavaScript代码如下:<!-- window.scrollTo(左边距,上边距); -->wind
2020-10-24 17:19:32
588
原创 移动端测试ADB 操作命令
移动端测试ADB 操作命令ADB是什么?adb 称之为:Android 调试桥 (Android Debug Bridge )是一种允许模拟器或已连接的 Android 设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对 Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。可以在Android SDK/platform-tools中找到 adb 工具或下载 ADB Kits 。ADB命令语法adb 命令的基本语法如下:adb connenct
2020-10-24 17:18:24
1175
原创 Python3+selenium自动化之数据驱动(DDT)
Python3+selenium自动化之数据驱动(DDT)什么是数据驱动?在测试活动中经常会使用相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离, 这样的测试脚本设计模式称为数据驱动。例如:当我们测试某个网站的登录功能时,往往我们会使用不同的用户名和密码来验证登录模块对系统的影响,那么如果我们每一条数据都编写一条测试用例,这无疑是增加了代码量,代码重复冗余很多,这时候我们可以使用不同数据执行相同的用例测试不同的场景。实施数据驱动步骤1.创建测试数据2.封装读取数据的方法,保
2020-10-24 17:17:12
1929
原创 PythonUI自动化测试之PO(Page Object)模式
PythonUI自动化测试之PO(Page Object)模式什么是PO模式?PO模式(Page Object):页面-对象模式一个页面是一个类,元素在页面中,所以每个元素的定位信息是这个类中的一个变量;这个页面的常规业务操作是这个类中的一个个成员方法。PO模式是自动化测试框架中很重要的一种设计模式。PO模式将页面定位和业务操作分开,分离测试对象(元素对象)和测试脚本(用例脚本),提高用例的可维护性。PO模式主要内容:1、将页面封装成对象2、页面对象内封装业务方法3、元素定位方法和获取数
2020-10-24 17:16:18
1950
原创 Python+selenium+unittest单元测试框架
Python+selenium+unittest单元测试框架为什么要做单元测试unittest是python的单元测试框架。是受测试框架JUnit 的启发,它提供了组织管理测试用例的功能,灵活的执行测试用例,生成可视化测试报告的功能注意:unittest自己本身没办法实现测试报告的生成,需要借助于插件来完成单元测试之后,才是集成测试,单个单个的功能模块测试通过之后,才能把单个功能模块集成起来做集成测试,为了从底层发现bug,单元测试时可以减少合成后出现的问题。越早发现bug越好,这样可以早点发
2020-10-24 17:15:00
923
原创 CentOS7中换源安装Docker
CentOS7中安装Docker官方安装手册参考https://docs.docker.com/engine/install/centos/确定是Centos7及以上版本cat /etc/redhat-releaseyum安装gcc相关yum -y install gccyum -y install gcc-c++卸载旧版本sudo yum remove docker \ docker-client \ doc
2020-10-23 12:23:41
187
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人