- 博客(21)
- 收藏
- 关注
原创 locust工具学习笔记---自定义负载策略
在实际测试场景中默认的每秒生成一定用户数的场景不能满足测试需要,此时就需要自定义压测用户数的加载策略。在LoadTestshape类中可以使用get_run_time()方法来获取测试运行的时间,使用此方法可以用来控制压测的总时间。在脚本文件中定义一个继承LoadTestshape类的类,locust在启动时发现文件中有使用这个类会自动启动。#启动策略:前10秒钟-30秒用户数为10,30秒-60秒启动总用户数是30,大于60后启动总用户数是60个用户。#启动策略:每隔10秒钟增加启动10个用户。
2023-03-31 12:00:15
333
原创 Locust性能测试
from locust import HttpUser, task, between, tagimport requests,sysfrom moka_login import Loginfrom env import ENVimport loggingsys.path.append('../')requests.packages.urllib3.disable_warnings()class MyTaskCase(HttpUser): wait_time = between(1,
2022-01-20 17:53:05
990
原创 python类装饰器
类装饰器from client.env import ENVimport requestsrequests.packages.urllib3.disable_warnings()import urllib3import base64import requestsfrom api.executor_log import ExecutorLoggerimport jsons = requests.session()log = ExecutorLogger()class Login(
2022-01-20 00:39:44
670
1
原创 python定时任务&轮询
实现定时任务和多线程import jsonpathfrom api.executor_log import ExecutorLoggerimport requestsfrom test.wayne_test2 import loginrequests.packages.urllib3.disable_warnings()from client.env import ENVrequests.packages.urllib3.disable_warnings()import configpars
2022-01-20 00:30:35
2420
原创 Python装饰器实现登陆-函数装饰器
装饰器封装:#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2022/1/15 5:06 下午# @Author : Wayne# @Email : wayne@wayne.com# @File : wayne.py# @Software: PyCharmfrom client.env import ENVimport requestsrequests.packages.urllib3.disable_war
2022-01-19 23:44:56
759
1
原创 python操作数据库
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/11/23 12:34 上午# @Author : Wayne# @Email : wayne@wayne.com# @File : month_test.py# @Software: PyCharmimport pymysql'''数据库操作'''import pandas as pdconnect = pymysql.connect(host='XX
2022-01-19 23:34:51
914
原创 pytest
```python#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/7/4 2:32 上午# @Author : Wayne# @Email : wayne.com# @File : test_1.py# @Software: PyCharm#pytest使用练习# from time import sleep## while 1 > 0:# print('1234567')# .
2021-10-24 05:33:49
128
原创 switch 列表式函数
def case1():print(1)def case2():print(2)def case3():print(3)def case4():print(4)switch = {‘case1’: lambda: case1(),‘case2’: lambda: case2(),‘case3’: lambda: case3(),‘case4’: lambda: case4(),}case = lambda case_name: switch.get(case_name)()ca
2021-10-22 16:56:42
108
原创 pytest+allure
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/7/4 2:32 上午# @Author : Wayne# @Email : wayne.com# @File : test_1.py# @Software: PyCharmimport pytestimport allureclass TestClass: # @allure.step('步骤1:setup_class') def s
2021-07-09 11:49:56
188
1
原创 docker配置python环境
一、创建docker 容器:docker run -it ubuntu安装ssh服务:apt install openssh-serverapt updateapt upgrade启动ssh服务:service ssh start设置ssh服务自动启动:echo 'service ssh start'>>~/.bashrc给docker设置密码:wayne@WaynedeMacBook-Pro ~ % passwd使用命令vim /etc/ssh/sshd_
2021-05-29 14:37:04
1809
原创 内网穿透+搭建网盘+搭建私服gitlab+搭建私有笔记
配置私有云盘 nextclouddocker run -d -p 8080:80 nextcloud8080端口对应的是nextcloud云盘服务启动之后本地访问的端口配置完成后需要配置跨域的操作:array (0 => ‘127.0.0.1:8000’,1 => ‘nextcloud.waynejmm.top’,2 => ‘82.156.239.227’,),配置frp客户端 frpc:配置客户端:每个服务对应一个客户端的访问配置:[tmp]type = http
2021-05-15 02:13:02
1742
2
原创 替换字符串中未知参数的值 类似$code
获取请求体中未知参数:mokaJwtCodedata = { "loginType": "10", "bus": 20, "mokaJwtCode": "$moka_code" }from string import Templatedata = { "loginType": "10", "bus": 20, "mokaJwtCode": "$moka_code" }s = Template(str(data))#给此参数赋值
2021-04-08 19:57:42
191
原创 python操作数据库
#coding:utf-8import pymysqlimport configparserimport jsonclass OperationMysql: global host, username, password, port, database, dataconfig,sql1 def executeSQL(self,dataconfig,sql): connect = pymysql.connect(**dataconfig) curso
2021-04-08 14:48:01
94
原创 下载npm依赖包输入 npm install 命令的时候出错
ERR! errno ERR_TLS_CERT_ALTNAME_INVALID在下载npm依赖包输入 npm install 命令的时候出错 以下是错误信息错误信息:Wayne@192 30.0.3 % npm --registry http://registry.cnpmjs.orginstall -g appium npm ERR! code ERR_TLS_CERT_ALTNAME_INVALID npm ERR!errno ERR_TLS_CERT_ALTNAME_INVALID npm
2021-04-02 00:05:18
529
2
原创 UI登录后获取cookie供接口调用(selenium+python)
from selenium import webdriver# import requests, time, json, refrom datetime import datetime, timedeltafrom time import sleep# from lxml import etreeimport socketfrom hashlib import sha1import requestsclass Driver(object): def driver(self):
2021-03-29 01:38:43
475
原创 selenium 安装与环境配置
selenium 安装与环境配置selenium的安装官网下载地址:https://www.python.org/57安装:傻瓜式安装,点击下一步,直至finsh,不要安装在系统盘1、安装完成后,看下这个目录D:\python27\Scripts,有没pip.exe和easy_install.exe(一般都有,没有的话得重新安装一次了)2、将D:\python27和D:\python27\Scripts,添加到环境变量path下环境配置:计算机右键属性-高级系统管理-环境变量-path3、安装
2021-03-04 13:34:46
457
1
原创 安装配置-Appium
Appium的安装和配置&Mac随着学习的增加,发现有一些环境配置和程序的初始化,每次使用都需要在重新回忆或者搜索。而且有的步骤写的很全 但是还是会在安装过程中出现各种错误,增加了成本。所以自己打算记录使用到的程序或者环境配置。安装Homebrew强烈推荐所有macOS上的软件使用Homebrew进行安装,使用brew安装过的软件,不再需要sudo命令。打开终端,运行:/usr/bin/ruby -e “$(curl -fsSLhttps://raw.githubuserconten
2021-02-22 15:28:34
150
1
原创 获取apk包中,文件包名和启动名
# -*-coding:utf-8-*-import os,reimport subprocessdef getAppBaseInfo(parm_aapt_path, parm_apk_path): get_info_command = "%s dump badging %s" % (parm_aapt_path, parm_apk_path) #使用命令获取版本信息 aapt命令介绍可以相关博客 output = os.popen(get_info_command).read(
2021-02-21 18:38:57
880
原创 接口自动化数据依赖-jsonpath获取json串中任何字段值
接口自动化数据依赖-2上一篇说了一下接口自动化数据依赖的简单应用,感觉写的有点复杂了,可以用来解决在平时调用时出现的取值问题,此篇是在自动化项目中实现更好的方式,设置一个config.py文件,在调用过程中,作为临时数据存储。需要的数据set进这个大字典中,取值的时候直接从这个大字典中根据key进行取值。# coding:utf-8from auto_api.Public import configsimport jsonpath#可以获取json字符串中所有位置的字段def se
2020-12-22 21:44:16
1402
原创 接口自动化多数据依赖-excel用例
接口自动化多数据依赖代码Python+requests 进行接口自动化,excel管理测试用例,解决多参数数据依赖的问题。代码import xlrd#解决接口依赖问题#模拟上一个接口调用的返回值,json_data上一个接口返回的字典格式 dict,如果不是字典需要转为字典json_data = {'city':'郑州','like':'网球','room':{'town':'门头沟'}}#body2属于此接口的body内容,举例子定义了一个。body2 = {'name':''}#取到的
2020-07-02 17:46:05
1080
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人