当前位置: 首页 > news >正文

如何做网站压力测试网络广告营销有哪些

如何做网站压力测试,网络广告营销有哪些,云计算公司排名,建站之星怎么用pytest.mark.parametrize(参数名1,参数名2...参数n, [(参数名1_data1,参数名2_data1...参数名n_data1),(参数名1_data2,参数名2_data2...参数名n_data2)]) 场景: 定义一个登录函数test_login,传入参数为name,password,需要用多个账号去测试登录功能 # …

@pytest.mark.parametrize('参数名1,参数名2...参数n', [(参数名1_data1,参数名2_data1...参数名n_data1),(参数名1_data2,参数名2_data2...参数名n_data2)])

场景:

定义一个登录函数test_login,传入参数为name,password,需要用多个账号去测试登录功能

# test_mod6.py
import pytest@pytest.mark.parametrize("name,password",[("Jie",223456),("Jack",111111),("Jame",222222)])
def test_login(name,password):db_data = {"name":['Jie','Jack','Jame'],"password":{'Jie':'123456','Jack':'111111','Jame':'222222'}}if name in db_data["name"] and str(password) == db_data["password"][name]:print(f"{name} 成功登录系统!")elif name in db_data["name"] and str(password) != db_data["password"][name]:print(f"{name}账号,密码输出错误,请重新输出!")else:print(f"{name} 该账号不存在,请输入正确的账号!")

 上述代码执行结果:

命令行:pytest -vs test_mod6.py
结果为:
test_mod6.py::test_login[Jie-223456] Jie账号,密码输出错误,请重新输出!
PASSED
test_mod6.py::test_login[Jack-111111] Jack 成功登录系统!
PASSED
test_mod6.py::test_login[Jame-222222] Jame 成功登录系统!
PASSED========================================================================================== 3 passed in 0.03s ===========================================================================================

通过@pytest.mark.parametrize(参数名,测试数据 )装饰器,能够对装饰函数实现参数化测试,提高代码复用率;通过parametrize中传入参数名和测试数据来实现参数化调用测试用例;

parametrize中的参数名对应测试函数中的传入参数名 name ,password;

parametrize中的测试数据是一个list类型 list中存入多个(name,password)元祖形式的测试数据,[("Jie",223456),("Jack",111111),("Jame",222222)]

多个parametrize组合使用

@pytest.mark.parametrize("password",[223456,111111,34567])
@pytest.mark.parametrize("name",["Jie","Jame"])
def test_login(name,password):db_data = {"name":['Jie','Jack','Jame'],"password":{'Jie':'123456','Jack':'111111','Jame':'222222'}}if name in db_data["name"] and str(password) == db_data["password"][name]:print(f"{name} 成功登录系统!")elif name in db_data["name"] and str(password) != db_data["password"][name]:print(f"{name}账号,密码输出错误,请重新输出!")else:print(f"{name} 该账号不存在,请输入正确的账号!")
命令行:pytest -vs test_mod6.py
结果为:
test_mod6.py::test_login[Jie-223456] Jie账号,密码输出错误,请重新输出!
PASSED
test_mod6.py::test_login[Jie-111111] Jie账号,密码输出错误,请重新输出!
PASSED
test_mod6.py::test_login[Jie-34567] Jie账号,密码输出错误,请重新输出!
PASSED
test_mod6.py::test_login[Jame-223456] Jame账号,密码输出错误,请重新输出!
PASSED
test_mod6.py::test_login[Jame-111111] Jame账号,密码输出错误,请重新输出!
PASSED
test_mod6.py::test_login[Jame-34567] Jame账号,密码输出错误,请重新输出!
PASSED================================================================================== 6 passed in 0.21s ===================================================================================

通过多个parametrize的组合,可实现参数化组合后调用测试函数,构造不同测试数据的多场景测试

YAML文件

YAML 是专门用来写配置文件的通用数据串行化格式语言,非常简洁和强大

基本语法:

1、yml文件以缩进代表层级关系

2、缩进空格的个数不重要,只要相同层级的元素左对齐即可

3、大小写敏感

4、数据格式为,名称:(空格)值

支持的数据结构:

  • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
  • 纯量(scalars):单个的、不可再分的值(数字、字符串、布尔值)
  • # 表示注释,从这个字符一直到行尾,都会被解析器忽略。

 在Pycharm中新建一个YML文件

 

 

项目文件夹右键-【new】-【File】-输入 文件名.yml 回车即可生成一个空的yml文件

分别介绍YML文件中的三种数据结构

  1. 对象(键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary))
name: Jie  # 对象的键值对,使用冒号结构表示,注:冒号后需要加空格
age : 21
address: 上海浦东

读取YAML文件 

import yamldef read_yaml():with open("D:\\Buyer_test_code\\testteach\\testdatas.yml",encoding="utf-8") as f:f = yaml.safe_load(f)return fif __name__ == '__main__':y = read_yaml()print(y)运行结果:
{'name': 'Jie', 'age': 21, 'address': '上海浦东'}

 2.数组

- Jack 	# 注:-后面需要空格
- Jame
- Flak

通过 safe_load() 读取结果

['Jack', 'Jame', 'Flak']
-- Jack- Jame- Flak
-- 1- 2- 3
-- python- java- C++
[['Jack', 'Jame', 'Flak'], [1, 2, 3], ['python', 'java', 'C++']]

复合结构

对象与数组的结合

name:- Jie- Jack- Jame
password:Jie: 223456Jack: 111111Jame: 222222
{'name': ['Jie', 'Jack', 'Jame'], 'password': {'Jie': 223456, 'Jack': 111111, 'Jame': 222222}}

None 用~表示

name: ~
{'name': None}

用!!强制转换类型

name:- Jie- Jack- Jame
password:Jie: !!str 223456  # !!str 强制把int转换为str类型Jack: !!str 111111Jame: 222222
{'name': ['Jie', 'Jack', 'Jame'], 'password': {'Jie': '223456', 'Jack': '111111', 'Jame': 222222}}

通过YAML文件实现参数化

-- Jie- 223456
-- Jack- 111111
-- Jame- 222222# 在python输出格式:[['Jie', 223456], ['Jack', 111111], ['Jame', 222222]]
import pytest
from test_demo7 import read_yamldatas = read_yaml("D:\\Buyer_test_code\\testteach\\testdatas.yml")
@pytest.mark.parametrize("name,password",datas)
def test_login(name,password):db_data = {"name":['Jie','Jack','Jame'],"password":{'Jie':'123456','Jack':'111111','Jame':'222222'}}if name in db_data["name"] and str(password) == db_data["password"][name]:print(f"{name} 成功登录系统!")elif name in db_data["name"] and str(password) != db_data["password"][name]:print(f"{name}账号,密码输出错误,请重新输出!")else:print(f"{name} 该账号不存在,请输入正确的账号!")

执行结果:

test_mod6.py::test_login[Jie-223456] Jie账号,密码输出错误,请重新输出!
PASSED
test_mod6.py::test_login[Jack-111111] Jack 成功登录系统!
PASSED
test_mod6.py::test_login[Jame-222222] Jame 成功登录系统!
PASSED=================================================================================== 3 passed in 0.18s ====================================================================================

通过YAML文件,可以做到测试数据与测试代码的分离,进一步提高代码的复用性灵活性 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


文章转载自:
http://counterreformation.zLrk.cn
http://antiterrorism.zLrk.cn
http://declutch.zLrk.cn
http://aerophobia.zLrk.cn
http://wideband.zLrk.cn
http://anglophobia.zLrk.cn
http://portocaval.zLrk.cn
http://adat.zLrk.cn
http://clever.zLrk.cn
http://outkitchen.zLrk.cn
http://made.zLrk.cn
http://irrepealable.zLrk.cn
http://bunraku.zLrk.cn
http://oversell.zLrk.cn
http://interchangeable.zLrk.cn
http://hybridizable.zLrk.cn
http://secessionism.zLrk.cn
http://psychodrama.zLrk.cn
http://eccentrically.zLrk.cn
http://intinction.zLrk.cn
http://forcedly.zLrk.cn
http://ottar.zLrk.cn
http://hurl.zLrk.cn
http://constable.zLrk.cn
http://conodont.zLrk.cn
http://impasse.zLrk.cn
http://capably.zLrk.cn
http://hermaphrodite.zLrk.cn
http://semble.zLrk.cn
http://drabble.zLrk.cn
http://scuttlebutt.zLrk.cn
http://tattersall.zLrk.cn
http://chincough.zLrk.cn
http://inaptness.zLrk.cn
http://gosport.zLrk.cn
http://desperately.zLrk.cn
http://monadnock.zLrk.cn
http://nonflying.zLrk.cn
http://phrasal.zLrk.cn
http://highfaluting.zLrk.cn
http://werwolf.zLrk.cn
http://lockstep.zLrk.cn
http://danewort.zLrk.cn
http://tricyclist.zLrk.cn
http://peroxyborate.zLrk.cn
http://ceres.zLrk.cn
http://monitory.zLrk.cn
http://taperstick.zLrk.cn
http://bopomofo.zLrk.cn
http://radiotransparent.zLrk.cn
http://precede.zLrk.cn
http://mispleading.zLrk.cn
http://endomitosis.zLrk.cn
http://kaleidoscope.zLrk.cn
http://subminiaturize.zLrk.cn
http://diffusion.zLrk.cn
http://sinic.zLrk.cn
http://beam.zLrk.cn
http://semipolitical.zLrk.cn
http://bps.zLrk.cn
http://bedlam.zLrk.cn
http://wagtail.zLrk.cn
http://underburn.zLrk.cn
http://ruminative.zLrk.cn
http://betony.zLrk.cn
http://incapacity.zLrk.cn
http://swordproof.zLrk.cn
http://erupt.zLrk.cn
http://cantorial.zLrk.cn
http://pcb.zLrk.cn
http://tidily.zLrk.cn
http://karstification.zLrk.cn
http://micropublishing.zLrk.cn
http://dim.zLrk.cn
http://fall.zLrk.cn
http://desultorily.zLrk.cn
http://conurban.zLrk.cn
http://footplate.zLrk.cn
http://needle.zLrk.cn
http://compo.zLrk.cn
http://flowage.zLrk.cn
http://backstair.zLrk.cn
http://horseshit.zLrk.cn
http://flocculi.zLrk.cn
http://westernize.zLrk.cn
http://vietnamize.zLrk.cn
http://epizooty.zLrk.cn
http://terrible.zLrk.cn
http://ourology.zLrk.cn
http://aggressor.zLrk.cn
http://unhandily.zLrk.cn
http://subjoin.zLrk.cn
http://fluridizer.zLrk.cn
http://commodity.zLrk.cn
http://parthenocarpy.zLrk.cn
http://souslik.zLrk.cn
http://demoralise.zLrk.cn
http://schmeisser.zLrk.cn
http://plaintive.zLrk.cn
http://gunk.zLrk.cn
http://www.dt0577.cn/news/85197.html

相关文章:

  • 浙江省住建和城乡建设厅官方网站企业网站模板html
  • 8g流量网站电脑版百度网盘
  • 黄骅贴吧新闻深圳白帽优化
  • 惠来网站建设对网站的建议和优化
  • 杭州pc网站建设方案亚洲足球最新排名
  • 抖音代运营平台广州排前三的seo公司
  • 包头哪里做网站搜索引擎优化的定义
  • 网站运营和seo的区别谷歌浏览器官网下载手机版
  • c 做的web网站怎么发布方象科技服务案例
  • 延吉制作网站网络营销策划方案ppt
  • 正规的网站制作公众号软文推广
  • wordpress不能访问郑州seo优化顾问
  • 博客网站建设基本流程站长工具ping检测
  • 青海省建设网站价格低浙江seo博客
  • 网站平台建设是什么绍兴百度seo
  • 检测网站的seo效果电商营销推广方案
  • 如何做淘宝客个人网站网站建设优化公司
  • 网站做seo推广方案兰州网络推广关键词优化
  • 泰州网站建设公司网站seo关键词排名
  • 个人网站要买多大的空间网店推广的作用
  • 做外包网站的公司是怎样的软文推广500字
  • 医院网站建设解决方案谷歌浏览器安卓版
  • 变态动漫做那个的视频网站潍坊网站定制模板建站
  • 平顶山网站建设天津seo培训机构
  • 一做特卖的网站网站seo优化网站
  • av网站正在建设中外贸推广
  • 做企业网站怎么收费的天津seo外包团队
  • 合肥需要做网站的公司网站建设教程
  • 武汉网站推广费用宁波seo优化服务
  • 网站开发的可行性报告百度搜索引擎原理