前言ddt:数据驱动,说的简单一点,就是多组测试数据,比如点点点的时候登录输入正常、异常的数据进行登录。实际项目中,自动化测试用得很少,但也有人用excel来维护测试数据一、ddt1、安装:pip install ddt (我这里已经安装过了)C:\Users\Administrator>pip install ddt
Requirement already satisfied: ddt in d:\path_python\lib\site-packages (1.2.1)2、先看下我们以前正常登录禅道的传参。登录需要账号与密码,现在只有一...
前言:Requests简介Requests 是使用 Apache2 Licensed 许可证的 HTTP 库。用 Python 编写,真正的为人类着想。Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 有点落后了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。总之,大家建议大家用Requests吧。Requests的官方文档:http://cn.python-requests.org/zh_CN/latest/通过下面方法安...
python进行接口自动化需要依赖于requests库,首先如果没有下载该库,使用pip进行下载到本地:1.进入D:\软件安装文件夹\PYTHON\Scripts目录下(ps:这个看个人安装python位置),使用cmd进入命令界面,输入pip install requests,完成后即可使用
参考示例:期间自己调测可以使用fiddler抓包进行调试,后面再研究使用unitest测试框架进行校验等原文:https://blog.51cto.com/12390959/2369129
常见的post提交数据类型有以下两种:第一种:application/json ,这是常见的json格式,格式如下:{"input1":"xxx","input2":"ooo","remember":false}第二种:application/x-www-form-urlencoded,浏览器原生的form表单,格式如下:input1=xxx&input2=ooo 1、json格式的post请求:import requests
import jsonurl=‘http://www.tuling123.com/openapi/api‘data={‘key‘:‘4b6ce82fbe554a11b99dabfa3a4ae6d9‘,‘info‘:‘我的城市在...
简介按照上一篇的计划,这一篇给小伙伴们讲解一下:(1)多模块使用logging,(2)通过文件配置logging模块,(3)自己封装一个日志(logging)类。可能有的小伙伴在这里会有个疑问一个logging为什么分两篇的篇幅来介绍她呢???那是因为日志是非常重要的,用于记录系统、软件操作事件的记录文件或文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统、软件的活动等重要作用,在开发或者测试软系统...
1.logger.py这个文件放到common目录下,封装日志文件的读取
2.日志保存到logs文件夹
3.封装代码 1 import logging2 import os3 import time4 5 6 # log_path是日志存放路径地址7 get_path = os.path.dirname(os.path.abspath(__file__))8 log_path = os.path.join(os.path.dirname(get_path),"log")9
10
11 # 如果不存在这个logs文件夹,就自动创建一个
12 if not os.path.exists(log_path):os.mkdir(log_path)
13
14 class Log...
基础语法:import pymysql #导入模块
conn = pymysql.connect(host=‘localhost‘,user=‘root‘, passwd=‘123456‘, db=‘test‘, port=3306, charset=‘utf8‘,cursorclass = pymysql.cursors.DictCursor) #连接数据库,cursorclass = pymysql.cursors.DictCursor表示把查询的返回值变为字典格式
cur = conn.cursor() #建立指针
cur.execute("insert into users (username,password,email) values (%s,%s,%s)",("老齐","9988","...
coding=utf-8
"""
===========================
Author:多测师_王sir
Time:2020/5/20 17:24
Wechat:15367499889
Company:上海多测师信息有限公司
===========================
""""""
查询
"""import pymysql
from common.handleconfig import confclass DB:def __init__(self):# 创建一个连接对象self.conn = pymysql.connect(host=conf.get("db", "host"),port=conf.getint("db", "port"),user=conf.get("db", "user"),password...
#coding:utf-8
import xlrd,requests
file_name = r"F:\pythonScript\map_dp\data_center\data_config\second_disaster_of_agriculture_and_natural_gas.xls"
workbook = xlrd.open_workbook(file_name)
sheet1_name = workbook.sheet_names()[0]
sheet1 = workbook.sheet_by_name(Sheet1)
body = sheet1.cell(1, 8).value.encode(utf-8)
print(body)
url = "http://uatrgm.mapfarm.com/akat/disaster/agrometeo_disaster/all_agro...
本地pycharm打开项目,运行自动化项目下载项目代码,并用pycharm打开项目
git clone https://gitee.com/iread9527/iInterface_python.git进入iInterface_python目录下,cd iInterface_python使用pip3 install -r requirements.txt命令,安装python项目依赖的第三方库使用pytest -sv test/weather_test.py命令,确保本地IDE中自动化项目运行成功jenkins中部署python自动化项目新建一个自由风格的项目使用git下载源码,git clone https...
header定义的内容:
返回类型为:字典
在程序中读取header后,类型变成了tuple:
所以会报错:
分析:
header返回类型没有问题
仔细检查发现:
因为无中生有多了两个逗号,所以dict被转成了tuple
去掉即可
难搞哦。。。
变量分为 局部变量 全局变量
然后呢 每次执行测试用例就得去判断有没有需要提取变量出来 有没有需要传变量进去,这个基本上的流程接口自动化都是用到的,也就是内部接口测试。
大体实现逻辑:
先某个测试计划底下,也就是测试集。
设定全局变量还是局部变量
然后要提取的变量名称是什么
在哪个用例返回结果中提取
如果局部变量的话,作用范围在哪些用例中
界面效果:
全局的局部的举例说明:从登录获取token,然后作...
前面一篇我们已经把unittest的常用用法都已经讲过了,可能很多小伙伴有个疑问,unittest框架怎么做数据驱动呢?这节我们就来学习一下。 1、unittest 没有自带数据驱动功能。 所以如果使用unittest,同时又想使用数据驱动,那么就可以使用DDT来完成。 DDT是 “Data-Driven Tests”的缩写。 资料:http://ddt.readthedocs.io/en/latest/ 2、什么是ddt? 测试步骤相同,代码一样,测试数据不同,当我们输入一组测试数据的时候,测试框...
前言
前面学了 jsonpath 可以很好的解析 json 数据,提取出我们想要的内容,对于平常的基本工作没太大的问题,但有一点点小遗憾。
jsonpath 的 python 库功能并不是很强大,不支持过滤器使用正则表达式,一些常用的函数也不支持,对于一些高级语法并不支持。
看到有小伙伴提到 JMESPath 库也可以解析json,于是翻阅了下官方文档,资料很全,功能也很强大
JMESPath 简介
JMESPath 是 JSON的查询语言,您可以从JSON文档中提取和转换元...
参考链接: Python中的命名元组Namedtuple
背景:python自动化测试框架中,不管是UI还是api,都逃脱不掉数据驱动,除去一些框架的数据驱动方式,最直接的就是我们的excel测试用例了,正所谓听说读写,错了,没有听说,哈哈~
另外有一篇关于openpyxl第三方库的使用介绍,这里不再赘述,直接上源码,这里不得不说的是一个叫命名元组的东西,想在这篇中额外介绍这个nametuple是什么东西。
1、namedtuple来自collections模块的函数,...