一个老宅男

当你的才华还撑不起你的野心的时候,你就应该静下心来学习; 当你的能力还驾驭不了你的目标时,就应该沉下心来,历练。

  • 博客(222)
  • 问答 (1)
  • 收藏
  • 关注

原创 xml 文件解析操作之 ElementTree 模块

首先我们了解下 XML 格式Element类型是一种灵活的容器对象,用于在内存中存储结构化数据。每个element对象都具有以下属性:1. tag 标签:string对象,表示数据代表的种类。  2. attrib 属性:dictionary对象,表示附有的属性。  3. text:string对象,表示element的内容。  4. tail:string对象,表示elemen...

2022-11-04 17:15:00 1316

原创 Python configparser模块

1、configparser 模块介绍:一般做自动化测试的时候,会使用到这个模块,用来操作配置文件(ini文件)封装一些常量。比如数据库、邮件、用户名密码、项目常量等等2、ini 文件是一种常用配置文件,ini 文件主要如下:ini 文件格式,由节、键、值组成[section]   # 节  key = value   # key:键,value:值一个配置文件中可以有多...

2022-11-03 11:14:00 5631

原创 Python 迭代器

什么是迭代器:迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退迭代器有两个方法:iter() 和 next() 方法,满足这两个条件即是一个迭代器什么是可迭代对象,Python 中可迭代对象有:列表、元组、字符串、字典、集合等可迭代对象不是迭代器你可能会问,为什么li...

2022-11-01 21:16:00 304

原创 Python 变量作用域

一、Python 中变量作用域分为以下四种,简称 LEGB:Local 局部变量Enclosed 嵌套变量Global 全局变量Built-in 内置变量Local 局部变量:暂时的存在,依赖于创建该局部作用域的函数。函数存,则局部变量存,函数亡,则局部变量亡#局部作用域def fun(): b = 2 print(b) #输出2 fun...

2022-11-01 14:04:00 331

原创 Python 生成器

什么是生成器:生成器是 Python 中的一个对象(按照某种规律,来生成元素的对象),生成器不是列表,保存了产生元素的算法,同时会记录游标的位置(现在拿到第几个元素了),为了下次继续拿数据,而不是从头开始拿数据。可以通过一直调用 next() 方法获取值,这个对象不保存数据,每次调用会返回一个值,即做到了列表的好处,又不占用空间。在 Python 中,这种一边循环一边计算的机制,称为生成器...

2022-11-01 11:49:00 589

原创 Python 列表生成式

列表生成式是一种基于其他 iterable(如集合、元组、其他列表等)创建列表的方法。它还可以用更简单、更吸引人的语法表示 for 和 if 循环语法格式如:list = [expression for iterm in iterable (if conditional)](if conditional) 中的 if 语句可有可无,但是前面的 expression 和 for 循环表达式必...

2022-10-31 20:54:00 850

原创 Python 闭包函数和装饰器

闭包函数定义:基于嵌套函数如果在一个内部函数里,对在外部作用域(但不是全局作用域)的变量进行引用,那么内部函数就被认为是闭包函数。闭包中外部函数返回的不是一个具体的值,而是一个函数。一般情况下,返回的函数会赋值给一个变量,这个变量可以在后面被继续执行调用。def outer(): x = 10 def inner(): # 条件一:inner这是一个内部函数 ...

2022-10-31 17:27:00 243

原创 Python 中匿名函数 lambda 表达式

lambda 表达式,又称匿名函数,常用来表示内部仅包含 1 行表达式的函数。如果一个函数的函数体仅有 1 行表达式,则该函数就可以用 lambda 表达式来代替。lambda 表达式的语法格式如下:name = lambda [list] : 表达式其中,定义 lambda 表达式,必须使用 lambda 关键字;[list] 作为可选参数,等同于定义函数是指定的参数列表,多个参...

2022-09-21 16:20:00 378

原创 Jmeter 命令行压测

1. 单机压测1.1 准备工作1、压力机上配置好JDK  2、在windows下调试好jmeter脚本,然后上传至压力机上  3、进入Jmeter 的bin目录下需要添加执行权限 chmod -R +x ./*  1.2 单机压测步骤1、执行命令:jmeter -n -t pinter.jmx -l result.jtl    -n:no-gui,命令行模式   ...

2022-07-18 10:38:00 1498

原创 Fiddler抓取https原理

首先fiddler截获客户端浏览器发送给服务器的https请求, 此时还未建立握手。第一步, fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。第二步, fiddler伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器, 客户端浏览器做跟fiddler一样的事。第三步, 客户端浏览器生成https通信用...

2022-06-27 11:48:00 692

原创 电视项目系统架构

一、项目介绍乐优商城是一个全品类的电商购物网站(B2C)。用户能够在线购买商品、加入购物车、下单、秒杀商品能够评论已购买商品管理员能够在后台管理商品的上下架、促销活动管理员能够监控商品销售情况客服能够在后台处理退款操做但愿将来3到5年能够支持千万用户的使用二、系统架构架构图乐优商城架构缩略图,大图请参考课前资料:css系统架构解读整个乐优商城能够分为两部分:后台管理...

2022-06-07 15:17:00 325

原创 Linux 系统下搭建 Gitlab 服务器

1、安装依赖工具// 安装技术依赖yum install -y curl policycoreutils-python openssh-server // 启动ssh服务/设置为开机启动sudo systemctl enable sshdsudo systemctl start sshd2、安装 Postfix 邮件服务器// 安装 postfixsudo yum ins...

2022-04-06 17:10:00 2841 3

原创 CentOS7 防火墙设置命令

1、安装防火墙yum install firewalld systemd -y2、开启防火墙service firewalld start// 或者systemctl start firewalld 3、添加 HTTP 服务到 firewalld注:pemmanent 表示永久生效,若不加 --permanent 系统下次启动后就会失效sudo firewall-cm...

2022-04-04 11:13:00 1398

原创 Moco server Linux 端部署

1、moco-runner-1.1.0-standalone.jar 工具包是 JAVA 开发的,所以先是安装 JDK1.8,且配置环境变量2、自定义个目录,用于统一存放管理文件mkdir moco3、将moco-runner-1.1.0-standalone.jar 和写好的 moco 脚本文件统一放到目录下4、创建个启动文件,用于后期需要启动 moco 服务时执行用,替代掉每...

2022-04-03 18:17:00 1079

原创 Pytest allure excel 接口自动化框架

1、框架结构图2、config 配置数据#_data:2022/4/3#_author:多测师_Evan import osproject_path = "D:\Evan_duoceshi\CodeFile\pytest_allure_excel"excel_data_path = os.path.join(project_path, "data", "test_data.x...

2022-04-03 14:40:00 637 1

原创 Pytest allure 定制化测试报告

1、定制报告Feature:标注主要功能模块Story:标注 Features 功能模块下的分支功能Severity:标注测试用例的重要级别Step:标注测试用例的重要步骤2、Features 定制详解,标注主要功能模块import osimport allureimport pytest@allure.feature("login_module") # 通过 fe...

2022-04-01 17:00:00 686

原创 Pytest allure 生成测试报告

1、之前用到 Pytest 中的插件 --html 生成报告,今天我们看下 Pytest 结合 allure 的使用import pytestimport osclass TestDemo(): def test_01(self): assert 1 == 1 def test_02(self): assert 1 == 0 ...

2022-04-01 15:58:00 701

原创 Allure 环境安装

1、安装 allure 前提条件allure 是基于 Java 的一个程序,需要 Java1.8 的环境,没有安装且配置 Java 环境变量2、在 dos 窗口输入依赖包,下载慢的话可以加上下载镜像源pip install allure-pytest3、下载 Windows allure 工具且配置环境变量...

2022-04-01 11:32:00 1478

原创 Git 操作

一、Git 简介Git 是一个开源的分布式版本控制系统,用于敏捷 高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。二、Git 安装配置这里咱们就介绍 Windows 下的...

2022-01-16 11:04:00 277

原创 VMware 虚拟机安装黑屏问题

一、在安装虚拟机时经常出现虚拟机系统黑屏问题,如下图二、经过实操得出解决方案如下1、启动 VMware 后,不要直接启动我的计算机,先进行配置2、点击 "编辑",选中 "首选项",勾选 "启用虚拟打印机"3、在电脑系统中找到 "命令提示符",注意必须以管理员身份运行4、在命令提示符中输入命令:netsh winsock reset5、关闭 VMware 虚拟机,重启计算机...

2021-08-23 20:21:00 7818 3

原创 Postman(接口自动化测试)

1、Postman 接口测试参数化可能大家都非常的熟悉,但是很多人很难处理参数化后如何断言的问题,特别是当参数中出现中文时,很容易导致在 Runner 页面引入外部文件时导致中文乱码的问题,今天这篇文章就来为大家解决这困扰。。。2、Postman 接口自动化思路,将接口每个场景的参数和预期结果放入到文件中存储,接口中的参数和预期结果值设置成变量形式(注意:变量名称和参数化文件中的参数名称必须一...

2021-05-16 20:46:00 1403

原创 MySQL 数据库中 substring() 字符截取和 concat() 字符拼接

1、MySQL中,substring() 是截取字符串函数使用语法为:select substring(str,pos)select substring(str from pos)select substring(str,pos,len)select substring(str from pos for len)select substring('helloWorld', 6,...

2021-04-11 21:46:00 1849

原创 MySQL 的随机数函数 rand() 的使用技巧

1、在 MySQL 里,随机数函数 rand 不能传参,产生的 0 到 1 之间的浮点数,要是我们需要在 MySQL 产生大于 1 的随机整数,该怎么办呢?这样的需求并不陌生,例如,咱做的文章系统,需要作弊,给文章的浏览量随机加上某个范围内的整数。现在,假设需要产生 234 到 5678 之间的随机整数,MySQL 下怎么实现。我们无法改 MySQL 下 rand 的产生值,但我们可以改...

2021-04-11 19:44:00 1349

原创 MySQL 数据库中 ceil()、floor()、round()、trunc() 函数用法

1、trunc() 函数trunc 返回处理后的数值,其工作机制与 round() 函数极为类似,只是该函数不对指定小数前或后的部分做相应的舍入选择处理,而统统截取。其具体的语法格式:TRUNC(number[,decimals])其中: number 待处理的数值decimals 指明需保留小数点后面的位数。可选项,忽略它则截取所有的小数部分。select trunc...

2021-04-11 19:37:00 2097

原创 BUG 的几种状态

1、New(新的)当某个 bug 被发现的时候(第一次),测试人员需要与项目负责人沟通以确认发现的的确是一个 bug,如果被确认是一个 bug,就将其记录下来,并将 bug 的状态设为 New。2、Assigned(已被指派的)当一个 bug 被指认为 New 之后,将其提交给开发人员,开发人员将确认这是否是一个 bug,如果是,开发组的负责人就将这个 bug 指定给某位开发人员处理...

2021-04-07 14:23:00 7565

原创 MySQL 数据库基本知识点

什么是关系型数据库关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库主流的关系型数据库有 Oracle、DB2、MySQL、SQL Server 等  什么是非关系数据库非关系型数据库的名字叫 Not Only Sql 非关系型数据库通常指数据以对象的形式存储在数据库中,...

2021-04-06 11:29:00 219

原创 测试用例设计方法之等价类和边界值

1、等价类划分法(1)简介等价类就是某个输入域的子集。等价类划分法是把所有可能的输入数据集合划分成若干个子集,每个子集内的元素对于揭露程序中的错误都是等效的,在每个等价类中取一两个数据作为测试的输入数据即可,这样就可以用少量代表性的测试数据取得较好的测试效果。等价类又划分为 “有效等价类” 和 “无效等价类”。有效等价类,就是符合需求规格说明书要求的合理、有意义的输入数据集合。利用有...

2021-04-02 23:08:00 1192

原创 常用的 adb 命令合集

1、adb 常用命令# 启动 adb 服务adb start-server# 关闭 adb 服务adb kill-server# 检查 5037 端口是否被占用,如果被占用则提示:cannot bind to 127.0.0.1:5037adb nodaemon server# 查看当前 adb 版本adb version # 连接模拟器adb connec...

2020-12-22 11:39:00 435

原创 Jmeter 性能测试之反向代理录制性能测试脚本

1、 Jemeter 自带的录制脚本功能,是利用代理服务器来进行录制的新建一个线程组新建一个代理服务器右击工作台 - 添加 - 非测试元件 - HTTP 代理服务器  配置 HTTP 代理服务器配置端口默认为 8888,可修改。但要注意,端口不能被其它程序占用,端口信息要与浏览器设置保持一致 cmd.exe 中使用如下命令检查端口使用情况: ...

2020-12-17 15:40:00 315 3

原创 Python Selenium 自动化实现截屏操作

一、今天小编就为大家分享一篇对 Python 获取屏幕截图的 3 种方法详解1、采用 selenium 中的两种截图方法方法一:save_screenshot()方法二:get_screenshot_as_file()用法一样,都是截取浏览器当前窗口里的内容from PIL import ImageGrabimport timedef screenshot...

2020-12-08 21:27:00 1770

原创 自动化测试之 ddt 驱动 yaml/yml 文件

一、上篇文章我们使用了 unittest + ddt 驱动 json 文件做数据驱动测试,本篇文章我们采用unittest + ddt 驱动 yaml/yml 文件来实现数据驱动测试,话不多说上源码。。。ddt.file_data:装饰测试方法,参数是文件名。文件可以是 json 或者 yaml 类型。注意:如果文件是以 “.yml”或者".yaml" 结尾,ddt 会作为 ...

2020-12-07 21:53:00 2005

原创 自动化测试之 ddt 驱动 json 文件

一、上篇文章我们使用了 unittest + ddt 驱动 excel 文件做数据驱动测试,本篇文章我们采用unittest + ddt 驱动 json 文件来实现数据驱动测试,话不多说上源码。。。ddt.file_data:装饰测试方法,参数是文件名。文件可以是 json 或者 yaml 类型。注意:如果文件是以 “.yml”或者".yaml" 结尾,ddt 会作为 yam...

2020-12-06 21:29:00 856

原创 RF(四则运算及 Evaluate 用法)

1、四则运算${res1} Set Variable ${10 + 10}log ${res1} ${res2} Set Variable ${10 - 3}log ${res2} ${res3} Set Variable ${10 * 10}log ${res3} ${res4} Set Va...

2020-11-05 11:14:00 1982

原创 自动化测试之ddt数据驱动

一、ddt 用途一般进行接口测试时,每个接口的传参都不止一种情况,一般会考虑正向、逆向等多种组合,所以在测试一个接口时,通常会编写多条 case,而这些除了传参不同外,并没有什么区别。这个时候就可以利用 ddt 来管理测试数据,提高代码复用率。ddt => data driver test 数据驱动测试二、安装 ddtpip install ddt三、ddt 模...

2020-10-26 22:59:00 1987 4

原创 自动化测试之 ddt 驱动 excel 文件

一、ddt 用途一般进行接口测试时,每个接口的传参都不止一种情况,一般会考虑正向、逆向等多种组合,所以在测试一个接口时,通常会编写多条 case,而这些除了传参不同外,并没有什么区别。这个时候就可以利用 ddt 来管理测试数据,提高代码复用率。ddt => data driver test 数据驱动测试二、安装 ddtpip install ddt三、ddt 模...

2020-10-26 22:59:00 519

原创 什么是消息队列

一、什么是消息队列?消息队列不知道大家看到这个词的时候,会不会觉得它是一个比较高端的技术,反正我是觉得它好像是挺牛逼的。消息队列,一般我们会简称它为 MQ(Message Queue),嗯,就是很直白的简写。  我们先不管消息 (Message) 这个词,来看看队列 (Queue)。这一看,队列大家应该都熟悉吧。队列是一种 "先进先出"的数据结构。  ...

2020-09-20 10:40:00 120

原创 同步接口和异步接口

1、定义同步调用:当一个支付请求被发送到支付渠道方,支付渠道会很快返回一个结果。但是这个结果,只是告诉你调用成功了,不是扣款成功,这叫同步调用;异步调用:同步请求参数里面会有一个回调地址,这个地址是支付渠道在扣款成功后调用的,这叫异步调用;2、支付异步接口当一个支付请求被发送到支付渠道方,支付渠道会很快返回一个结果。但是这个结果,只是告诉你调用成功了,不是扣款成功,这...

2020-09-20 09:34:00 6286 1

原创 App 自动化环境搭建(基于 Appium)

一、所需要的工具包:1、jdk1.8  #之前已安装过则不需重复安装2、Android-SDK3、appium4、Appium­Python­Client5、node.js6、夜神或逍遥模拟器7、python3.6二、环境搭建流程1、解压 adt-bundle-windows-x86_64-20140702.zip 文件得到如下2、配置安卓环境变量3、安装 Appium 工具4、安装 Python配置 Python 环境变量 在 dos 命令

2020-09-14 15:19:40 248

原创 RF(接口自动化测试)

1、在线下载 RequestsLibrary 测试库pip install -U robotframework-requests -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn2、在 RobotFrameWork RIDE 工具中创建套件,在套件中导入RequestsLibrary 库3、常用关键字4、请求 get 接口${header} Create...

2020-09-03 21:17:17 2917 1

原创 PO 模式 UI 自动化测试框架

一、项目结构1、新建一个工程(一定要创建工程),工程名称自己定义,如:UiAutoTest2、在工程下创建以下几个 pakage 包:--config: --config.py:存放所有的配置文件、如:项目路径和数据,用例路径 globalconfig.py:存放所有的目录路径 --data: data.xlsx:测试数据、如:url地址,账号,密码 --public: -- pages: MethodBaseClass.py:封装所有页面的公共方法,页面定位/操作方法

2020-09-03 21:13:23 1895 1

空空如也

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

TA关注的人

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