1.只运行某一条case 把光标移动到某一条case后面,然后右键,选择"Run..."来运行程序 此时,pycharm会只运行光标所在位置的这一条case 2.如果想执行全部case,需要把光标移动到  "if __name__ == "__main__": "后面,一般情况下会运行全部的case: 但是如果在 "if __name__ == "__main__": "下面添加了测试套件,同样把光标移动到…
工作中,使用python的requests库进行接口自动化测试是一个比较不错的选择,今天就以某网站的免费接口为例,展示以get请求进行批量执行测试用例.话不多说直接开讲 分析一下接口信息, 请求地址:http://apis.juhe.cn/simpleWeather/query, 请求参数:city和key,都是必传 请求方式:get或post,以下以get为例 返回结果:info,wid等 注意:该网站免费接口每天有请求次数限制,在调试的时候注意下不要超过规定次数,不然只能等到第二天才能使用了…
01实战之分离测试固件 在UI 自动化测试中,不管编写哪个模块的测试用例,都需要首先在测试类中编写测试固件初始化WebDriver类及打开浏览器,执行登录,才能进行下一步业务逻辑的操作,测试用例执行完成后还需要关闭浏览器,这部分的代码如下: import unittest from selenium import webdriver import time, os class InitTest(unittest.TestCase): @classmethod def setUpClass(cls…
转自https://my.oschina.net/u/3041656/blog/820023 原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,写python的接口自动化测试框架 1.首先,我们先来理一下思路. 正常的接口测试流程是什么? 脑海里的反应是不是…
python+requests接口自动化测试框架实例详解   转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python…
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件并生成测试报告. 简单实例 实例讲解 一. 项目路径获取 project_name:项目名称,需更换为自己项目的名称 project_path:项目路径,获取思路 os.path.abspath(__file__):获取当前文件路径 split(project_name)[0]:通过项目名切割出项目…
梳理python+unittest接口自动化测试框架的思路: 1.确定目录: cases:存放测试用例的py文件:config:存放一些数据库,环境地址等固定不变的信息: core:核心的文件, cases:测试用例test_cj.py,代码如下: import unittest import os import jsonpath from core.my_requests import MyRequest from conf.setting import default_host from c…
python版接口自动化测试框架:https://gitee.com/UncleYong/my_rf [框架目录结构介绍] bin: 可执行文件,程序入口 conf: 配置文件 core: 核心文件 db_fix: 数据库操作 log: 日志文件 mockserver:测试用例需要用到的mock服务 reprot: 测试报告 test_case: 测试用例(数据文件),# testSelect.py文件用例对应的mock项目在mockserver目录下 README.md: 说明文件 报告…
把写好的测试用例放在指定目录下,使用discover函数扫描该目录,并根据关键字自动筛选需要执行的用例.本例使用Python3.6版本. # 遍历指定目录,批量执行测试用例 import unittest case_dir = 'D:\\test_case' def suites_run(): '''运行测试套件,批量执行测试用例''' # discover函数遍历指定目录,按条件过滤文件,返回测试套件列表 discover_suites = unittest.defaultTestLoader…
思考:当存在多个脚本,每个脚本中有多条测试用例时,我们该如何批量执行呢?分析:首先创建2个测试用例脚本(.py文件),每个脚本有2条测试用例,然后批量执行全部测试用例 #Test_01.py # coding=utf-8 ''' Created on 2019-1-3 @author: 丹姐 Project:测试项目1 ''' import unittest class Test01(unittest.TestCase): @classmethod def setUpClass(cls,driv…
1,明确什么叫自动化测试,什么叫接口自动化测试,如何设计接口测试用例,已登录为例 自动化测试:解放人力来自动完成规定的测试. 自动化测试分层模型:UI层,不论WEB端还是移动端,都是基于页面元素的识别和定位来模拟用户行为.UI变化频繁. UI层,有个selenuim+python 进行12306自动购票系统,有Appium+python https://ke.qq.com/user/index/index.html#cid=192413&tid=100227964&fr=2&ter…
工作原理: 测试用例在excel上编辑,使用第三方库xlrd,读取表格sheet和内容,sheetName对应模块名,Jenkins集成服务发现服务moduleName查找对应表单,运用第三方库requests请求接口,根据结果和期望值进行断言,根据输出报告判断接口测试是否通过. 1. 数据准备 数据插入(容易实现的测试场景下所需外部数据) 准备sql (接口需要重复使用,参数一定得是变量) 2.集成部署(运维相关了解即可) 平滑升级验证脚本加入自动化 3.自动化框架实现 调用mysql exc…
经过上两篇文章的讲解,我们已经完成接口自动化的基础框架,现在开始根据实际项目丰满起来. 在PyCharm中新建项目,项目工程结构如下: config:配置文件夹,可以将一些全局变量放于配置文件中,方便调用.例如:URL地址.端口,开发如经常更换端口在配置文件中便可修改. data:测试用例表格文件夹,存放测试用例.xls和读取写入excel表的文件. demo:程序公共类文件夹,存放程序公共类,例如:POST/GET请求,获取Token等. kit:相关测试工具,压缩.发送邮件. main:程序…
批量执行 在我们测试接口的时候,有时候希望执行所有的测试用例,前面讲的都是测试单个的接口,postman提供了我们批量执行接口的功能 点击Runner 然后我们点击run 执行完会统计出我们的结果,失败了一个,成功了三个,失败的原因是我们设置的断言是响应时间少于800ms,实际结果是1147ms 数据驱动 数据驱动就是数据的不同造成结果的不同,比如登录的接口,我们要测账号正确,密码为空,账号密码错误等等情况,那我们会想,可不可以把这些数据放到一个文件里面,然后让一个接口循环读取这个文件里的数据去…
公司新来两个妹子一直吐槽这个接口测试用例用excel维护起来十分费脑费事,而且比较low(内心十分赞同但是不能推翻自己),妹子说excel本来就很麻烦的工具,于是偷偷的进行了二次改版. 变更内容如下: 1.代码结构   image.png 2.新增测试报告网页版和版本管理 3.新增用例代码化 一.封装一个获取用例的模块   image.png 用例的写法可以按照yml文件的写法,后缀的文件都可为.conf..config..ini.[]中的是测试用例场景,下面的参数内容对应接口用例参数. 简单介…
一.接口自动化测试的流程 1.需求分析 1.1请求(url,方法.数据) 2.挑选需要做自动化测试的接口 3.设计自动化测试用例 4.搭建自动化测试环境 5.设计自动化执行框架(报告.参数化. 用例执行框架) 6.编写代码 7.执行用例(unittest.pytest) 8.生成测试报告(htmltextrunner\allure) 二.用例设计 2.1单接口 模板:id,模块,接口名称,请求url,用例名称,请求方法,请求参数类型,请求参数,预期结果,实际结果,备注 注意:单接口颗粒度放的比较…
现有四个测试用例分别在两个.py文件中,如何执行这些文件? unittest中有这样处理:unittest.TestLoader().discover() 第一个文件test_case1.py from selenium import webdriver import unittest class Baidu_Link(unittest.TestCase): def setUp(self) -> None: self.driver = webdriver.Chrome() self.driver…
如果多个测试用例在不同的类中,又需要一次性执行完所有的测试用例,则可以使用到Junit中的批量执行测试方法. 方法一 这种方式非常简单,不需要额外多写一行代码,Eclipse 本来就支持以项目或包为单位来批量执行测试用例.右键点击项目--->Run As--->Run Configurations. 点击“Search..”按钮. 选择工程/工程下的指定包.点击“OK”回到运行配置窗口,点击“Run”按钮运行所选中范围下的所有测试用例. 第二种 这种方法引入一种“测试套件”的概念,JUnit…
MySQL数据库有一个自动提交事务的概念,autocommit.含义是,如果开启autocommit, 则每一个语句执行后会自动提交.即一个语句视为一个事务. 在python使用的MySQLdb中,默认是不开启autocommit的.所以,只有在显示commit后,数据库操作才会真正提交.或者在rollback()后,回滚到上一次commit的状态. #!/bin/env python #coding=utf-8 import MySQLdb class MYSQL(object): def _…
使用CMD命令执行测试用例 当我们在ride中设计好测试用例后,我们可以使用ride的界面工具来选择和运行测试用例. 系统也会提供比较好的报告和日志的浏览功能. 但是这样的自动化,毕竟是需要手工介入的.通常,我们是希望能够和Jenkins等配置管理工具结合,实现代码发布,测试自动化运行. Jenkins本身提供了插件来管理和运行robotframework架构,这里介绍下怎么使用robot工具,通过命令行来管理和运行相应的用例. 其实方法很简单,首先我们打开cmd窗口,输入 robot 命令:r…
paramiko 远程控制介绍 Python paramiko是一个相当好用的远程登录模块,采用ssh协议,可以实现linux服务器的ssh远程登录.首先来看一个简单的例子 import paramiko #实例化ssh客户端 ssh = paramiko.SSHClient() #创建默认的白名单 policy = paramiko.AutoAddPolicy() #设置白名单 ssh.set_missing_host_key_policy(policy) #链接服务器 ssh.connect…
公司项目启用新框架,前后端分离,所以接口测试成为测试工作中不可缺失的一个环节,现在将从0开始搭建接口自动化测试框架的路程,一步步记录下来. 开发语言我们采用Python+第三方库Requests,测试框架使用Unittest. 前期在网上看了很多相关接口自动化的视频,都是采用Python+Requests,看了视频感觉还是比较方便的.在Pycharm中新建一个工程,新建demo.py #!/usr/bin/env python # coding=utf-8 import requests imp…
Postman v6的使用 Postman: 简单方便的接口调试工具,便于分享和协作.具有接口调试,接口集管理,环境配置,参数化,断言,批量执行,录制接口,Mock Server, 接口文档,接口监控等功能 JMeter: 开源接口测试及压测工具,支持Linux及无界面运行 LR: 商业版接口性能测试工具,简单易用,功能强大 SoupUI: 开源,WebService接口常用测试工具,也可以测试Rest接口及接口安全 官方下载地址:https://www.postman.com/download…
为了便于维护,python接口自动化测试用例可以利用xlrd模块读取excal表格进行数据分离.我们可以利用xlrd模块的row_values()和cell_value()两种方法读取Excal表格. 一.首先,写一个运行测试用例的Test_Main类: #!/usr/bin/python # -*- coding: UTF-8 -*- import requests import unittest import jsonclass TestDemo(unittest.TestCase): de…
在测试接口时,一个接口会先写好测试用例,这个用例主要针对功能,传入参时考虑到各种场景,正常的,异常的,如:参数缺省,参数传一个六位数字写用例时考虑边界情况等. 一个接口设计用例时有可能会十几条到几十条都有可能,多个接口就有很多了,这时候我们可以考虑到自动化测试接口. 采用数据驱动方式,把数据写在excel表格中,代码做封装,用数据驱动测试,两部分相互独立.python中用ddt模块来做数据驱动,代码简单好维护,调试也方便. 自己写的框架,结构如下: common:公共层,放读取表格数据,发送re…
项目背景 公司内部的软件采用B/S架构,目的是进行实验室的数据存储.分析.管理. 大部分是数据的增删改查,但是由于还在开发阶段,所以UI的变化非常快,难以针对UI进行自动化测试,那样会消耗大量的精力与时间维护自动化脚本,对于小团队来说就得不偿失了. 针对此种情况,选用接口测试较为有效. 工具选择 针对接口测试的自动化工具也很多,例如Soup UI.Postman.robotframework,甚至jmeter这样的性能测试工具都可以进行接口测试. robotframework测试框架有很多的第三…
1.首先,我们先来理一下思路. 正常的接口测试流程是什么? 脑海里的反应是不是这样的: 确定测试接口的工具 —> 配置需要的接口参数 —> 进行测试 —> 检查测试结果(有的需要数据库辅助) —> 生成测试报告(html报告) 那么,我们就根据这样的过程来一步步搭建我们的框架.在这个过程中,我们需要做到业务和数据的分离,这样才能灵活,达到我们写框架的目的.只要好好做,一定可以成功.这也是我当初对自己说的. 接下来,我们来进行结构的划分. 我的结构是这样的,大家可以参考下: ​​​​…
前言 很多小伙伴不知道什么是框架?框架有哪些东西? 一步步从需求分析到报告生成告诉你如何搭自动化建框架. 学完unittest后这里基本上可以搭建一个简易的项目框架了,我们可以用一条run_main.py脚本去控制执行所有的用例,并生成报告,发送邮件一系列的动作. 如需要源码,请关注博客,谢谢你的支持. 目录 1.新建工程 2.脚本设计 3.结果校验 4.生成报告 5.生成邮件 新建工程 1.打开pycharm左上角File>New Project,在Location位置输入项目名称:e:\te…
1.首先,我们先来理一下思路. 正常的接口测试流程是什么? 脑海里的反应是不是这样的: 确定测试接口的工具 —> 配置需要的接口参数 —> 进行测试 —> 检查测试结果(有的需要数据库辅助) —> 生成测试报告(html报告) 那么,我们就根据这样的过程来一步步搭建我们的框架. 接下来,我们来进行结构的划分. 我的结构是这样的,大家可以参考下: ​​​​​​  common:存放一些共通的方法 result:执行过程中生成的文件夹,里面存放每次测试的结果 testCase:用于存放…
以青云客机器人和图灵机器人接口示范python发送get和post 发送请求,我们这里主要使用Python的一个第三方包(需要先安装):requests. Python3自带的http.client和urllib.request都能发送http请求,不过相对来说使用较麻烦,第三方库requests让发送请求更简单,支持自动编码解码,会话保持,长连等. requests安装: pip install requests # 等待安装完成即可 验证是否安装成功:打开命令行,输入python,在pyth…