该框架分为四个包:xc_datas.xc_driven.xc_report.xc_tools. xc_datas:存放数据,xc_driven:存放执行程序,xc_report:存放生成的报告,xc_tools:存放一些工具 实现代码如下: #无token情况下,只支持get.post请求 import unittest from HTMLTestRunner import HTMLTestRunner from ddt import ddt,data from xctest_api.xc_to…
[第一步]:引入HTMLTestRunner包 1.下载HTMLTestRunner,下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 下载下来的py文件需要经过修改才能用于Python3.X,具体修改之处如下: 修改汇总: 第94行,将import StringIO修改成import io 第539行,将self.outputBuffer = StringIO.StringIO()修改成self.outputBuffer = io…
简单介绍 ​ DDT(Date Driver Test),所谓数据驱动测试,简单来说就是由数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变.通过使用数据驱动测试的方法,可以在需要验证多组数据测试场景中,使用外部数据源实现对输入输出与期望值的参数化,避免在测试中使用硬编码的数据,也就是测试数据和用例脚本代码分离. ​ DDT它其实就是一个装饰器,它会根据你传递进来的数据来决定要生成几个测试用例. ​ 使用的意义 1.代码复用率高:一个测试逻辑只需要写一次,可以多条测试数据复用,同时提高测…
一.重构post请求方法 上一张讲了如何使用requests库发送post请求,但是有时候,我们写脚本,不可能这么简单,代码完全不可复用,重复工作,那我们是不是可以想象,把我们的get,post请求,分别分装起来呢,等我们要使用的时候就直接调用好了. 废话不说,直接实例. 二.实例 1.我们先抓取一个接口,这边我直接抓了一个app接口,使用charles抓包.就用它了.如何抓包略. 2.代码实例 定义一个发送post的函数,传url,data参数, 返回 结果,最后调用这个函数 def send…
一.post请求 前面讲了,我们get请求的时候,引入requests的包,然后直接使用get方法,那么post是不是一样的? 1.首先我们先引入requests import requests 2. requests.post(),从提示的代码我们可以看到,需要传的参数,有请求的URL,data字典等: 3.那我们怎么写呢?看下面,post(接口地址,字段data),一般我们post一个接口的时候,内容比较多,我们单独维护一个字典 代码实例: #先定义一个字典data,post请求一个地址im…
1.概念 requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求. 2.安装 2.1 通过pip安装 ->打开命令行,windows->cmd,unix->终端; ->输入 pip install requests 2.2 下载代码后安装 git clone git://github.com/kennethreitz/requ…
# _*_ encoding:utf-8 _*_ import json import requests #post请求 payload = {"cindy":"hello world", "} r = requests.post('http://httpbin.org/post',data=payload) print (r.text) #输出结果,data数据传输到form里面 # { # "args": {}, # "d…
# _*_ encoding:utf-8 _*_ import requests #请求博客园首页,无参数的get请求 r = requests.get('http://www.cnblogs.com/cindy-cindy/') print (r.status_code) print (r.text) #在博客园内搜索内容,有参数的get请求 par = {"Keywords":u"小女子的测试之路"} r1 = requests.get('http://zzk.…
前言 requests库的好,只有用过的人才知道,最近这个库的作者又出了一个好用的爬虫框架requests-html.之前解析html页面用过了lxml和bs4, requests-html集成了一些常用爬虫库的优点,依然是为人类服务:HTML Parsing for Humans. 目前只支持python3.6 环境准备 requests-html的GitHub地址https://github.com/kennethreitz/requests-html,使用pip就能直接安装了. pip i…
获取token 在做接口自动化的时候,经常会遇到多个用例需要用同一个参数token,并且这些测试用例跨.py脚本了. 一般token只需要获取一次就行了,然后其它使用unittest框架的测试用例全部调用这个参数,那么如何实现呢? 虽然python里面有个全局变量global,但这个只是针对于在同一个.py里才有效,跨脚本就不起作用了. 解决思路 1.首先把公共数据单独抽出来,用一个文件去管理,如yaml文件 2.写一个读yaml文件的get_token()函数放到a.py,去读取需要的数据 3…