自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (8)
  • 收藏
  • 关注

原创 pytest中的钩子函数:pytest_addoption(parser)

【代码】pytest中的钩子函数:pytest_addoption(parser)

2023-04-22 13:57:04 362

转载 读取pytest.main([])中自定义参数——钩子函数pytest_addoption()

① pytest_addoption 钩子函数可以让用户注册一个自定义的命令行参数,以便于用户在测试开始前将数据从外部(如:控制台)传递给程序;【程序根据获取的用户传递的自定义的参数值来做一些事情】② pytest_addoption 钩子函数一般和内置 fixture pytestconfig 配合使用, pytest_addoption 注册自定义的命令行参数, pytestconfig 通过pytest配置对象读取参数的值;

2023-04-21 09:33:24 1107

原创 生成器--yiled

直接调用函数,返回的是生成器对象,“”,需要通过 next()获取,并执行到 yiled 时暂停并返回,等下个next()调用时,从 yiled 处继续执行,并执行到程序结束或者下一个 yiled。gg.send(100),发送的值,yiled接收,send_value = yield,将发送的100传给 send_value。

2022-10-28 19:43:48 291

原创 allure

1. @allure.title() ,给每条用例添加标题可以参数化,参数使用被装饰函数的位置参数和关键字参数,并用“{userName}”包起来,比如:@allure.title('这个是用户名“{userName}”')pass2. @allure.step,添加步骤描述可以不参数化,直接装饰方法,@allure.step,报告中步骤描述直接显示方法名。

2022-10-22 11:23:56 326

原创 通过iter_rows()读取excel数据

使用sheet.iter_rows()生成器读取excel更加灵活。

2022-10-21 22:14:25 1583

原创 虚拟环境管理--pipenv

pipenv 集成了pip和virtualenv两者的功能,并优化了两者的一些缺陷。

2022-10-17 15:11:23 762

原创 Jmeter_ant_Jenkins 持续集成

1. Ant 安装与配置 a. 下载 ant 并解压 下载地址:Apache Ant - Binary Distributions b. 配置环境变量 ANT_HOME=D:\apache-ant-1.10.11 path 中添加到 bin的目录:D:\apache-ant-1.10.11\bin c. 修改 jmeter.properties 中, jmeter.save.saveservice.output_for...

2021-09-23 22:44:57 98

原创 Jmeter性能测试

1. 下载Jmeter插件Jmeter-plugins-manager,并放在lib/ext目录下,然后重启Jmeter,会在菜单-选项下多一个 Plugins Manager菜单,打开即可对插件进行安装、升级。下载链接:Install :: JMeter-Plugins.org安装成功后,会自动重启Jmeter,再进入线程组和监听器会多出一些选项,以“jp@gc”开头监听器中:2. 负载测试,逐步增加并发用户数。选择 “jp@gc - Stepping Thread

2021-09-15 19:47:09 101

原创 Jmeter常用函数

1. __Random和__RandomString a.${__Random(1000,9999,)},在1000~9999之间随机生成4位数 b.${__RandomString(3,abcdef123456,)} 从“abcdef123456”随机取出3个书组成一个字符串; c. 也可以从“abcdef123456”中随机取出2~5个字符组成字符串:${__RandomString(${__RandomString(2,5,)},abcdef123456,)}...

2021-09-12 22:49:57 1683

原创 Jmeter编码格式

1. http请求编码 a. HTTP请求后面的“内容编码”,只对请求体有效, 对response-body无效 b. 在HTTP信息头管理器,Content-Type:charset=utf-8,只对请求体有效,对response-body无效 c. 当请求格式为"参数"时,请求参数中有 中文或者特殊符号时,请一定勾选“编码”,密文的密码,很可能会出现=,所以无论什么时候,建议都吧参数的编码勾选上2. HTTP 响应体 编码 a. Jmeter的所有展...

2021-09-11 09:27:32 4017

原创 Jmeter实现webservice(soap)接口测试

1. 使用网上查询天气的webservice接口测试接口地址:http://www.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl首先使用SoapUI工具访问该接口,将整个接口地址全部复制到 Initial WSDL处,点击OK后会自动设别其中的接口输入参数“安徽”后,返回相应数据2. 使用Jmeter实现上面接口测试 a. 新建Http Request取样器, 1. 路径取到接口地址的?前面, ...

2021-09-09 22:50:37 1738

原创 Jmeter操作数据库

1. a. Variable Name Bound to Pool:数据库连接池的名称,可以有多JDBC Connect Configuratuion,每个连不同的数据,起不同的数据库连接池名称,引用时直接使用链接池名称即可. b. Database URl中,操作一条sql语句时,可以不添加“?allowMultiQueries=true”,但是如果同时操作多条sql语句时,需要加上,否则会请求失败2. a. jdbc request 中需要填写前面数据库配置中取的 ...

2021-09-09 22:17:37 958

原创 Jmeter_ForEach控制器&保存响应到文件

1. 添加 HTTP请求默认值,存接口域名,接口域名一致,所以可以放在线程组外面,测试计划中2. JSON提取器,提取所有数据后会组成列表。$..datas[0:10].appId,提取datas节点下前10(0~9)个字典中的appId值。如单独取匹配中的第一的值,则使用${appid_0};第二个值,则使用${appid_1}...3. ForEach控制器,相当于python中的for循环,会循环上一步提取到个10个值。需要从该循环中取appid值的 批量详情接口和下载

2021-09-02 17:05:03 565

原创 JsonPath

1. 安装jsonpathpip install jsonpath2. 运算符3. 代码实例import jsonpath, jsonjson_str = '''{ "school": { "teachers": [ { "id": "101", "name": "老师1", "addr": "湖南长沙",

2021-06-29 17:07:34 917

原创 Python中的拆包

def param(pos_param, *args, **kwargs): print(f"pos_param:{pos_param}, type:{type(pos_param)}") print(f"args:{args}, type:{type(args)}") print(f"kwargs:{kwargs}, type:{type(kwargs)}")#固定传参param(1, 2, 3, "name", age=12)my_tuple = (1, 2, 3.

2021-06-02 19:11:44 104

原创 PyCharm中debug调试

PyCharm中debug调试按钮介绍

2021-05-29 14:18:52 122

原创 robotframework_数据驱动(很鸡肋)

*** Settings ***Test Template 两个数相加 *** Keywords ***两个数相加 [Arguments] ${a} ${b} ${sum} Evaluate ${a}+${b} [Return] ${sum}*** Test Cases *** num1 num2个位数相加 2 6两位数相加 22 66小数点相加 2.2 6.6...

2021-05-25 19:55:51 264

原创 robotframework_api测试

1. 安装robotframework-requestspip install robotframework-requests2. 发起请求a. Create Session:创建一个与服务器的会话参数:alias:别名,作为当前会话的标识url:服务器地址,基本地址,不是接口地址b. Post Request:发起post请求alias:选择一个会话的别名,来自于Create Sessionurl:接口地址,不包含服务器地址data:请求提参数返回值:r.

2021-05-25 19:41:48 253

原创 RF_知识框架总结

2021-05-22 14:07:17 80

原创 RF_pybot命令

1. pybot在D:\Python36\Scripts\路径下格式:pybot [参数] 测试用例全路径执行标签是 success的用例,且将输出文件存到report中的命令如下:pybot -i success -d ./report C:\Users\Administrator\Desktop\rf\xx_web_robot[参数]中常用参数2. eclipse中设置参数a. 点击run图标后面的三角,并选择 Run Configurations......

2021-05-22 13:52:03 240

原创 RF_自定义关键字

1. 用例套件中,直接定义 用户关键字*** Keywords ***两个数求和 [Arguments] ${a} ${b} [Documentation] 实现a+b ... a:数字1 ... b:数字2 Log ${a} + ${b} ${result} Evaluate ${a} + ${b} #实现a+b数字加 [Return] ${result}

2021-05-22 13:27:13 1093

原创 RF_3种变量定义方式

1. 测试用例中直接定义参数,定义的变量是局部变量*** Test Cases ***测试用例04--定义变量方式1,函数内部: ${var}= Set Variable hello, world #定义变量 @{mylist}= Create List a b c #定义列表 &{mydict1}= Create Dictionary name=jike age=18 #定义字典方式1 &

2021-05-22 11:20:08 1725

原创 robotframework+eclipse+red环境搭建

1.https://robotframework.org/#tools; robotframework管理,查看red的安装2. 官网安装,jdk_1.8版本以上,python3,robotframework(pip install robotframework)Oracle Java 1.8+https://www.java.com/ RED feature only: Eclipse Photon (v 4.8) or newerhttps://www.eclipse.org/dow...

2021-05-22 11:05:49 329

原创 Appium知识整理

2021-04-26 19:20:07 69

原创 Jmeter分布式设置

1. Jmeter分布式:一台主控机, n 台负载机 计算并发数时,主控机设置10个线程数,那么并发数就是:n(n台负载机)乘以102. 分布式配置注意事项:一致性分布式机器要在同一个局域网 Jmeter版本要一致(将主控机的Jmeter直接复制到助攻机上,Jmeter版本肯定一致) Jmeter的插件版本要一致(将主控机的Jmeter直接复制到助攻机上,Jmeter版本肯定一致) jdk版本要一致——大版本要一致,小版本可不一致,比如:1.8.0_xxx 都算是大版本一致...

2021-04-13 18:10:14 252

原创 Json提取器和正则提取器

1. Json提取器假设返回体为:{ "key1": "OK", "key2": { "k1": "value1", "k1": "value2" } "k1": "value3"}提取 "k1": "value2",json提取器的写法:1. 绝对路径:$.key2.k1;会提取到2个k1的值,用 变量_1 代表第一个值,变量_2代表第二个值2. 相对路径:$..k1;会提取到3个k1的值,用 变量_1 代表第一个...

2021-04-01 19:49:38 1028

原创 用户参数和用户定义的变量

1. 用户参数2. 用户定义的变量区别:1. 用户定义的变量,jmeter 启动时获取参数值,后面重新获取值时,值不会再变化;而用户参数,jmeter 启动时获取参数值,后面重新获取值时,值都会变化2. 用户定义的变量是全局变量,各线程组都可以访问;而用户参数是局部变量,只能单线程组访问...

2021-04-01 17:52:15 1065

原创 ADB 常用命令

1. adb --help 查看帮助手册2. adb devices 检测连接到电脑的安卓设备 3. adb logcat > 路径\log.txt 收集log日志并保存到log.txt文档中 4. adb pull <手机路径> <本机路径> 从手机上拉取信息放到本地电脑上 adb push <本机路径> <手机路径>从本地推信息到手机上 5. adb shell 登录设备shell, 进入到...

2021-03-22 19:39:02 82

原创 Appium环境搭建

1. 安装Node.js2. Appium server 两种安装方式: a. 通过 Nmp 命令来安装 nmp install -g appium 等待命令执行完成 b. 安装appium desktop版本 https://github.com/appium/appium-desktop/releases3. 安装jdk1.8.64以上版本4. Android sdk 下载 Android ADT 工具,并...

2021-03-19 19:55:52 60

原创 allure 报告优化与 Jenkins中生成allure

1. 生成allure 报告文件通过命令行跑开启程序跑用例并生成allure报告文件:pytest --alluredir=allure_report 通过main函数:pytest.main(["--alluredir","allure_report"])2. 生成allure测试报告allure serve allure_report3. 优化报告格式测试用例类加装饰器,@allure.suite("xxxx"),将一类测试用例加到测试套件中 测试用例(方法)加装饰器,@allure

2021-01-26 19:34:50 312

原创 SQL必知必会数据库数据

1. 打开地址:https://forta.com/books/0672327120/2. 下载 mysql_scripts.zip

2020-12-28 15:37:42 872

原创 xpath 轴定位

1. ancestor:祖先节点(包括父节点,祖父节点,祖祖父节点,...)2. parent:父节点3. preceding-sibling:当前元素节点标签之前的所有兄弟节点4. following-sibling:当前元素节点标签之后的所有兄弟节点5. preceding:当前元素节点标签之前的所有节点6. following:当前元素节点标签之后的所有节点使用语法:/轴名称::节点名称例如://span[text() = " 买地1607932701"]...

2020-12-14 18:03:00 256

原创 pytest 简介2

1. pytest 中的DDT,使用格式:@pytest.mark.parametrize()import pytesttest_data = [{"name":"jike1"},{"name":"jike2"}]#第一个参数接受数据,并传给后面的函数@pytest.mark.parametrize("datas", test_data)def test_get_names(datas): name = datas["name"] print(f"姓名有:{name}").

2020-11-26 19:39:58 153

原创 pytest 简介1

1. pytest是三方库,需要安装 pip install pytest2. 使用 pytest 框架,命名需要按照一定格式命名py文件名需要以“test_”开头,或者以“_test”结尾,但是不能同时满足 测试类名,需要以“Test”开头 测试用例方法需要以“test_”开头 测试类中不可以有“__init__”构造方法3. pytest 会自动收集用例,自动收集当前目录及子目录下符合命名规范的用例当前在 test_a.py 文件,用例会收集“test_a.py”,“...

2020-11-21 16:43:07 192

原创 python实现webserver接口测试

"""https://blog.csdn.net/weixin_43790276/article/details/89853310"""#python2 中需要安装 suds, 而且先需要安装client,不然会报错#python3 中需要安装 suds-py3, "pip install suds-py3"#导入Clientfrom suds.client import Client# url需要以“?WSDL(不区分大小写)”,前面是具体的接口地址# WSDL 是网络服务描述语言(W.

2020-11-19 19:24:03 333

原创 Jenkins安装,配置与使用

1. 安装下载:直接去官网下载,https://www.jenkins.io/download/,直接下载 LTS 版本 安装:点击下载的 msi 文件安装。注意点:安装插件时,先选不安装推荐的插件(需要很长时间才能安装完成,先跳过,后面需要哪个插件再单独安装)2. 配置创建一个项目,并直接选“立即构建”, 构建时会自动创建一个workspace文件夹,即 Jenkins 的工作目录 Jenkins -> Manage Jenkins -> Manage Plugins 安装需要的

2020-10-30 23:19:59 380

原创 Python中 logging 日志记录

import logging#from common.handle_path import LOGGER_FILE_PATHclass Handle_MyLogger(): def handle_mylogger(self): #logger 收集日志 debug,info,warning,error,critical #handler 输出日志的渠道,是控制台还是指定文件 #创建日志器 my_logger = logging.getLogger('mylogger') #.

2020-10-19 16:25:48 91

原创 python中mock使用

from unittest import mockimport requestsdef blockApi(): print("这个是一个未完成的接口,无法调用") resp = requests.request("GET", url = "http://123123123.com.cn") return resp.status_code def test_api(): print("这个接口需要调用blockApi接口") #由于blockApi()接口开发无法调用,所此次用moc.

2020-10-12 18:08:02 151

原创 python读取yaml格式配置文件

yaml文件内容:LOGIN: url: "http://xxx:8080/login/" data: {"username":"jike2021","password":get_md5("12345qwert")} user: tester: 'jike' age: 18 bl: 'true' f: 1.2 l: [1,2,3,4,'a']读取配置文件代码:import yamlclass Handler_Yaml():

2020-10-02 22:36:04 449

原创 python读取config配置文件

创建一个配置文件,“case.config”,内容格式如下,[DOEXCEL]do=[1,3][NAME]tester=jikeage = 18获取配置文件信息:#配置文件处理#configparser 可以读取配置文件的信息#section option valueimport configparsercf = configparser.ConfigParser()#读取配置文件cf.read('case.config',encoding='utf-8')#

2020-09-24 17:42:52 732

Windows7下FTP服务器搭建

Windows 7系统下FTP服务器搭建及使用!!!!!!!!!!

2018-07-27

软件评测师教程(清华大学出版社)

软件评测师教程(清华大学出版社),软件评测师考试官网制定教程!!!

2018-07-27

2009~2017软件评测师真题及答案

2009~2017年软件评测师考试真题及答案,答案解释很详细!!!

2018-07-27

软件评测师考试考点分析与真题详解(最新版)

软件评测师考试考点分析与真题详解(最新版),书中选取了2005年-2009年的软件评测师试题中的重点和难点部分作为例题,并给出了这些例题的详尽分析和解答

2018-05-23

Python高手之路

Python学习的好书,基础学习后,学习该本书,可以提高Python

2018-05-23

Python 飞机大战图片素材

Python开发小游戏---飞机大战,所需图片素材收集,比较齐全。。。。。

2018-03-05

SSH_常见错误与解决方案

SSH_常见错误与解决方案

2012-05-03

PLSQL基础教程

PLSQL基础教程

2012-05-03

空空如也

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

TA关注的人

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