- 博客(50)
- 收藏
- 关注
原创 报错:jmeter.log (Permission denied) java.io.FileNotFoundException: jmeter.log (Permission denied)处理办法
jmeter+ant+jenkins自动化测试问题
2022-09-22 22:13:22
1081
原创 错误:failure: repodata/repomd.xml from mirrors.aliyun.com_: [Errno 256] No more mirrors to try.解决办法
因最近在学习docker,设置阿里云镜像仓库后,执行yum软件包索引步骤报错:问题截图:解决步骤:1.删除老仓库cd /etc/yum.repos.drm -rf *.*2.卸载yum包rpm -qa yum yum-3.4.3-150.el7.centos.noarch卸载安装组件rpm -qa | grep yum | xargs rpm -e --nodeps rpm -qa yum #(没有内容就是卸载了)3.下载最新的rpm包在http://mirro
2022-03-21 18:23:44
15342
20
原创 pytest(二)
一、简介1.基于python的单元测试框架,它可以和selenium,requests,appium结合实现自动化测试;2.实现用例跳过skip和reruns失败用例重跑;3.它可以结合allure-pytest插件生成allure报告;4.很方便和jenkins实现持续集成;5.有很多强大的插件:pytest-html(生成html报告的插件)pytest-xdist(多线程运行的插件)pytest-orderding(改变用例的执行顺序插件)pytest-rerunfailres
2021-12-09 23:14:51
1056
原创 pytest(一)
目前有两种纯测试的测试框架,pytest和unittest;unittest应该是广为人知,而且也是老框架了,很多人都用来做自动化,无论是UI还是接口;pytest是基于unittest开发的另一款更高级更好用的单元测试框架;一、pytest简介pytest是一个非常成熟的单元测试框架。灵活和简单;可以结合selenium,requests,appnium完成各种不同的自动化;还可以生成自定义allure报告和Jenkins持续集成;pytes很多强大的插件;pytest-html.
2021-11-28 21:49:38
1915
原创 openpyxl基本使用
做接口自动化测试时,测试用例逐渐变多情况下,如果所有测试用例都通过代码管理将会使得代码十分臃肿,而且维护成本会很高;所以我们一般会通过Excel去管理所有的测试用例,而openpyxl库提供了访问Excel的方法一、openpyxl介绍一个Python库,用于读取/写入Excel 2010 xlsx 、xlsm 、xltx 、xltm 文件不能操作 xls 文件二、openpyxl简单概念Workbook:excel工作表Sheet:工作表中的一张表Cell:其中的一个单元格简.
2021-11-21 21:26:15
6778
原创 HTTP协议
1. HTTP协议介绍HTTP:(HyperText Transfer Protocol)超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互联网上应用最为广泛的一种网络协议。1.1 HTTP协议的特点支持客户端/服务器模式简单快速灵活无连接无状态2. URLURL:(Uniform Resource Locator)统一资源定位符,是互联网上标准资源的地址。HTTP使用URL来建立连接 和传输数据。URL格式http://www.baidu.com/news/inde
2021-11-13 22:53:23
2178
原创 接口测试基础知识(二)
1.接口规范1.1传统接口风格对用户进行操作的相关接口,包括增删改查查询某个用户 GET/POST http://127.0.0.1:8080/myweb/user/getUser?id=11 200查询所有用户 GET/POST http://127.0.0.1:8080/myweb/user/getUserList 200添加用户 POST http://127.0.0.1:8080/myweb/user/addUser 200修改用户 POST h
2021-11-13 22:39:04
393
原创 BeautifulReport使用方法
一、介绍BeautifulReport是一个基于unittest.TestResult模块实现的测试用例模板,可以把测试中的结果整合成一个可视化的HTML测试报告。二.下载BeautifulReport库pip install BeautifulReport或是在settings中添加-代码import unittestimport osfrom BeautifulReport import BeautifulReportwith open(report_file, "wb")
2021-11-11 22:28:22
2049
原创 HTMLTestRunner使用方法
1.下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html2.将HTMLTestRunner.py右键链接另存为3.将HTMLTestRunner.py文件放到当前项目文件venv/Lib/site-packages中;4.HTMLTestRunner.py默认是python2,需要转换成python3,进行如下配置修改:# 94行,import StringI0 ||| import io# 118行,self.fp.write(s)
2021-11-09 22:27:32
14131
16
原创 5.unittest-测试套件、结果输出到文件
一、测试套件:1.方式一:unittest.main()import unittest# 定义测试类,父类为unittest.TestCaseclass TestDemo(unittest.TestCase): # 每个测试方法运行前执行 def setUp(self) -> None: print("setUp") # 每个测试方法运行后执行 def tearDown(self) -> None: print("te
2021-11-08 22:23:25
1377
原创 4.unittest-自动跳过测试用例
unittest中提供了一些跳过用例的装饰器方法1、@unittest.skip(reason) 无条件跳过用例import unittestclass TestCan(unittest.TestCase): # skip无条件跳过 @unittest.skip("跳过测试用例test_01") def test_01(self): print("hello world1") def test_02(self): prin
2021-11-08 22:17:53
766
原创 json库
json库一、json介绍二、python中json标准库的作用三、使用方法一、json介绍JavaScript对象表示法json是轻量级的文本数据交换格式json独立于语言json具有自我描述性,更易理解json比xml更小、更快、更易解析;二、python中json标准库的作用使用json字符串生成python对象由python对象格式化成为json字符串三、使用方法方法功能josn.dump(obj,fp)将python数据类型转换并保存到json格
2021-11-03 22:48:16
379
原创 DDT传递数据文件
这里写目录标题一、传递txt文件(单一参数)二、传递txt文件(多个参数)一、传递txt文件(单一参数)import unittestfrom ddt import *def read_phohe(): """ 读取phone.txt文件中的电话号码数据 :return:返回一个手机号列表 """ li = [] with open("phone.txt", "r", encoding="utf-8") as f: for line
2021-11-03 22:35:48
542
原创 DDT数据驱动基本应用
DDT数据驱动基本应用一、DDT介绍二、DDT基础使用1.传递基础数据类型2.传递一个复杂的数据结构3.多参数的数据驱动一、DDT介绍Data Driver Test 数据驱动测试;作用:由外部数据集合来驱动测试用例执行;数据驱动:它是一种主要设计模式一,数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。说的直白些,就是参数化的应用;核心思想:数据和测试代码的分离优点:当测试数据发生大量变化的情况下,测试代码可以保持不变;什么场景下基于ddt进行设计,这种设计模式的意义?
2021-11-03 22:29:39
2948
1
原创 Pycharm如何设置自动换行
代码编辑区自动换行对所有文件有效:(1) File-> Settings-> Editor-> General;(2) 找到Soft Wraps,勾选Soft-wrap files;(3) 在输入框中添加;*.py,如下图所示;
2021-10-13 21:46:18
10141
原创 PyCharm下载安装主题
一.下载主题在http://www.themesmap.com/theme.html上选择自己喜欢的主题点进去后进行下载。二、如何安装主题1.从主菜单打开编辑器,依次点击 File->Import Setting,选择您的下载的jar文件;2.待编辑器重启之后,依次点击 File->Settings->Editor->Colors and fonts,然后选择你安装的主题即可。或者把下载的主题jar包放在pycharm里的lib文件夹里;...
2021-10-13 10:55:55
2863
原创 Pycharm新建文件时,如何设置自动添加作者时间等信息
通用模板#!/usr/bin/python3.9# -*- coding: utf-8 -*-# @Time : ${DATE} ${TIME}# @Author : super_kun# @Email : xxxxxxxxxxx@xxx.com# @File : ${NAME}.py# @Software: ${PRODUCT_NAME}
2021-10-13 10:13:33
425
原创 PyCharm如何设置 “ctrl+滚轮” 实现字体的放大和缩小
一、PyCharm字体放大的设置File --> setting --> Keymap --> 在搜索框中输入increase —> Increase Font Size(双击) --> 在弹出的对话框中选择Add Mouse Shortcut --> 弹出的对话框后按住ctrl键的同时鼠标滚轮向上滑。二、Pycharm字体缩小的设置:File --> setting --> Keymap --> 在搜索框中输入decrease —>
2021-10-13 10:02:20
2203
原创 jmeter分布式压测,远程机器来运行脚本,察看结果树中的响应数据项为空白问题
问题:在windows分布式压测过程中,远程控制压力机执行脚本,在查看结果树中响应数据为空;已加断言,无报错;如下图,response body内容为空解决办法:1.在控制机,打开jmeter–bin目录下的jmeter.properties文件,查找到mode=Standard 项,去掉【#】注释符号,使其生效;并保存文件;2.重新打开jmeter;再次执行脚本,再次查看查看结果树中的response body;已有内容...
2021-10-08 17:29:49
3055
3
原创 Python文件操作(六)-读取文件位置
读取文件位置1.`tell()`返回文件的当前位置,即文件指针当前位置2.`seek()` 用于移动文件读取指针到指定位置1.tell()返回文件的当前位置,即文件指针当前位置with open("../logs/cc.log", 'rb') as can: print(can.read(100))#从文件读取指定100个字节数 print("=============") print('当前读取文件位置为:', can.tell()) #100执行结果:2.seek()
2021-10-08 16:14:04
2433
原创 Python文件操作(五)-二进制文件
二进制文件1.二进制读取模式`rb`读取模式将读取到的内容写入到文件1.二进制读取模式rt 读取文本文件(默认值)rb 读取二进制文件file_name = "C:/Users/cheng/Desktop/can.jmx"with open(file_name, 'rt', ) as can: print(can.read())执行结果rb读取模式file_name = "C:/Users/cheng/Desktop/can.jmx"with open(file_nam
2021-09-26 22:43:27
580
原创 Python文件操作(四)-写入文件
使用write()来向文件中写入内容如果操作是一个文本文件,则write()需要传递一个字符串作为参数file_name='cc.txt'with open(file_name,encoding='utf-8') as can: can.write("北京市666")执行结果为:使用open()打开文件时必须要指定打开文化所要做的操作(读、写、追加);如果不指定操作类型,则默认是读取文件、而读取文件时不能向文件中写入的;默认为'r',表示只读的;'w'表示可.
2021-09-25 22:56:13
2559
1
原创 Python文件操作(三)read()、readline()、readlines()区别
read()、readline()、readlines()区别1.`read()`2.`readline()`3.`readlines()`读取文件的三个方法:read()、readline()、readlines()。均可接受一个方法参数用以限制每次读取的数据量,通常使用不多1.read()优点:读取整个文件,将文件内容放到一个字符串变量中。劣势:如果文件非常大,容易导致内存泄漏,尤其是大于内存时,无法使用read()方法。总结:不适用于读取大文件2.readline()
2021-09-25 10:12:31
1871
原创 Python文件操作(二)-读取文件
file_name = "cc.txt"try: with open(file_name) as can: # 通过read()读取这个文件内容 content = can.read() print(content)except FileNotFoundError: print(f"{file_name}文件不存在")执行代码,报错调用open()打开一个文件,可以将文件分成两种类型:一种是纯文本文件(使用utf-8等编码编写
2021-09-25 08:18:15
359
原创 Python文件操作(一)
Python文件操作(一)1. 打开文件2. 读文件3. 调用`close()`关闭文件4.with open ...as语句5.`open()` 与 `with open()` 区别1. 打开文件使用open()函数打开一个文件参数:file要打开文件的名字–路径返回值:返回一个对象,这个对象就代表当前打开文件# 创建一个变量,保存文件的名字# 如果目标文件和当前文件在同一级,可以直接使用文件名即可;也可以使用绝对路径filename = "cc.txt"# 在windows系统
2021-09-23 23:10:26
125
原创 MySQL压测工具-Sysbench
一、简介SysBench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。它主要包括以下几种方式的测试:cpu性能; 磁盘io性能; 调度程序性能; 内存分配及传输速度; POSIX线程性能; 数据库性能(OLTP基准测试) ;目前sysbench主要支持 MySQL,pgsql,oracle 这3种数据库。安装:下载rpm包:ck-0.5.2-2.el7.x86_64.rpm,luajit-2.0.4-3.el7.x86_64.rpm,
2021-09-16 22:47:46
1065
原创 Jmeter实战:Jemter将返回值提取写入CSV文件中
1.使用json提取器或者正则表达式提取对应返回值此处提取的是success2.在后置处理器中添加Bean shell后置处理器FileWriter fstream = new FileWriter("D:\\test.csv",true);BufferedWriter out = new BufferedWriter(fstream);//out.write(vars.get("date")+',');//","为了提取多列数据时换列,ou...
2021-09-15 21:22:36
3816
原创 面向对象和类
一、什么是对象对象是内存中专门用来存储数据的一块取悦;对象中科院存放各种数据(比如:数字、布尔值、代码)对象由三部分组成:1.对象的标识(id)2.对象的类型(type)3.对象的值(value)二、面向对象编程Object Oriented Programming,简称 OOP,是一种程序设计思想;OOP 把对象作为程序的基本单元,一个对象包含了数据和操作数据的方法;所谓面向对象的语言,简单理解就是语言中所有的操作都是通过对象来进行的1.面向过程面向过程是将程序的逻辑分解
2021-09-12 21:52:26
128
原创 Jmeter报错:java.net.BindException: Address already in use: connect
Jmeter压测过程中,jmeter响应数据报错java.net.BindException: Address already in use: connect在网上查阅资料得知,报错是因为Windows提供给 TCP/IP链接的端口为 1024-5000,并且要四分钟来循环回收他们。导致在短时间内跑大量的请求时将端口占满了。解决办法:1.cmd中输入regedit命令打开注册表;2.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\TC
2021-09-07 22:48:26
14499
原创 Python函数递归
使用函数递归def fun(n): if n==1: return 1 return n * fun(n-1)print(fun(10))1.在函数的内部调用自己本身2.递归函数本质是一个方法的循环调用,注意:有可能出现死循环3.一定要定义递归的边界(什么时候退出循环)注意:在实际使用中,递归函数由于消耗时间比较长(相比for循环和while循环),所以很少使用。...
2021-09-06 22:19:23
204
原创 logging简单应用
logging的日志等级debug:最详细的日志信息,典型应用场景是 问题诊断info:信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作warning:当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的error:由于一个更严重的问题导致某些功能不能正常运行时记录的信息critical:当发生严重错误,导致应用程序不能继续运行时记录的信息import logginglogging.debug("thi
2021-09-02 17:54:33
141
原创 3.unittest-断言
setUp/tearDown 在每个用例前、后执行setUpClass/tearDownClass 在每个类前、后执行注意:使用之前要添加装饰器@classmethodsetUpModule/tearDownModule 在每个模块前、后执行(用的很少)
2021-08-31 23:03:31
200
原创 2-Yaml实战
步骤1.创建yaml文件2.读取yaml文件实例列表- 1- 2- 3- 4打开yaml文件import yaml# 读取文件file = open("./config/configdata.yaml", "r", encoding="utf-8")data = yaml.load(stream=file,Loader=yaml.FullLoader)# 数据内容展示print(data)# 数据类型展示print(type(data))字符串-
2021-08-31 22:54:56
687
原创 1-Yaml介绍
YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。在自动化测试,数据需要与代码分离当我们的数据与代码分离之后,如果出现有数据的变动,只需要修改数据文件,而不需要修改代码;基于数据来驱动自动化测试的内容数据驱动一般分为两类:Excel、Yaml选择数据驱动类型都是基于测试框架来定义的,也是基于企业实际框架应用来决定的。1.基本规则大小写敏感使用缩进表示层级关系禁止使用tab缩进,只能使用空格键缩进长度没有限制
2021-08-31 21:41:03
149
原创 2.unittest-命令行操作
编写测试用例前,需要创建一个测试类继承unittest里面的TestCase类,继承这个类之后才是真正的使用unittest框架去编写测试用例,编写测试用例的步骤如下:导入unittest模块创建一个测试类,并继承unittest.TestCase()定义测试方法,方法名必须以test_开头调用unittest.main()方法来运行测试用例,unittest.main()方法会搜索该模块下所有以test开头的测试用例方法,并自动执行。...
2021-08-29 23:25:57
561
原创 1-unittest-简介、基本概念、基本示例
一、单元测试框架unittest简介:单元测试:指的是在软件开发当中,对程序的最小单元(函数、方法)进行测试的过程;unittest不仅可以用于单元测试,还可以用于自动化测试用例的开发和执行。组织执行自动化测试用例。并且提供一些丰富的断言方法,判断用例是否通过,最终能够生成测试报告;unittest:更简单,容易上手;pytest:市场份额会更多;一般情况下:能用pytest尽量用pytest,如果团队 的编码能力不允许的情况下可以选择unittest,web自动化选择unittest,接
2021-08-29 23:01:57
734
原创 Jmeter系列(5)-中文乱码修改配置文件
1.bin目录下用notepad++打开jmeter.properties文件,ctrl+F搜索sampleresult.default.encoding;2.添加sampleresult.default.encoding=utf-8,注意需要去除注释#3.重启jmeter生效
2021-08-26 16:15:54
201
原创 python高阶函数
-高阶函数至少要符合以下两个特点中的一个:1.接收一个或多个函数作为参数;2.将函数作为返回值返回;# -*- coding: utf-8 -*-# @Time : 2021/8/23 23:03l = [1, 2, 3, 4, 5, 6, 7, 8, 9]# 定义函数检查任意数字是否是偶数def fn2(i): if i % 2 == 0: return True return False# 定义函数检查指定数字是否大于5def fn3(
2021-08-25 23:05:09
93
原创 Jmeter系列(4)-插件管理工具Plugins Manager
插件管理工具Plugins Manager一、下载插件地址:二、将下载的jar包复制到JMeter中的lib\ext目录下;三、打开jmeter->选项->Plugins Manager;四、安装插件五、常用插件一、下载插件地址:Plugins Manager下载地址:https://jmeter-plugins.org/install/Install/二、将下载的jar包复制到JMeter中的lib\ext目录下;然后重启jmeter;三、打开jmeter->选项-&
2021-08-22 23:20:46
1513
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人