1.python3 环境的搭建,pycharm安装

2.想要用requests做自动化接口测试,那么就得先安装requests这个第三方库,在命令窗口执行 pip install requests

3.下载HTMLTestRunner.py文件,这个文件很多是兼容python2.X版本的,所以如果是用pytho3.X的同学,记得百度一下,然后再修改,然后把文件拷贝到python3安装路径的Lib文件夹下。如果是python3的同学可以到这里下载:http://pan.baidu.com/s/1jIN28zO

4.接下来就是实战了,简单的登录接口测试

import unittest
import requests
import time
import os
import HTMLTestRunner class MyTest_Case(unittest.TestCase):
def setUp(self):
pass def tearDown(self):
pass def testlogin(self):
url = 'http://120.76.247.73:11013/login'#url地址
headers = {'Content-Type': 'application/json'}#请求头
json = {'source': 'wms', 'mobile': '13600000000', 'password': '1234567'}#body,这里的格式是josn格式
r = requests.post(url=url, json=json, headers=headers)#发送请求,这里需要注意一点,我看网上很多案例都是date="",但是当我用date=的时候就不行了,不知道为啥,一定要用josn才可以。
self.assertEqual(200,r.status_code,'登录失败') def testsearch(self):
url = 'http://120.76.247.73:11013/api.do' # url:接口地址
data = {
"name": "wmsCustomerController.customerFind",
"args": [{"first": 0, "rows": 10},
{
"serachValue": "啥子"
}]
} # data:接口传递的参数 headers = {'Content-Type': 'application/json',
'Authorization': 'Bearer eyJraWQiOiI3ZGRiNjAzYS04OGViLTRhNjYtOGU2Yi04ZTgzMWFiN2NhZTUiLC'
'JhbGciOiJSUzI1NiJ9.eyJpc3MiOiJpc3N1ZXIiLCJhdWQiOiJhdWRpZW5jZSIsImV4cCI6'
'MTUwNjMyODgzMywianRpIjoiQW5jdzAyU2hpUWxOOEZZU05ET0pNdyIsImlhdCI6MTUwNTE'
'xOTIzMywibmJmIjoxNTA1MTE5MTEzLCJzdWIiOiIxMzYwMDAwMDAwMCIsImF0dHJpYnV0ZX'
'MiOiJ7XCJtb2JpbGVcIjpcIjEzNjAwMDAwMDAwXCIsXCIkZXhwaXJhdGlvbi10aW1lXCI6M'
'TUwNjMyODgzMzI4MyxcInVzZXJOYW1lXCI6XCJhZG1pblwiLFwiY3VzdG9tZXJcIjpmYWxz'
'ZX0ifQ.O2YuErC2DgDoNwuzk2hcih5-7Hyfwumzm5BmJDg9eWE4fW577sXfhmBUZINxGzSC'
'6L-5P9Cdz2HY_lxbZGOu0Kkfh8cFOzfrGgLVd0jYTKGdLFnqGJMnfoN6ltXfQjpkHpoPbiG'
'34WkmpfviEpa-mpvdqJXWxkzsG-c934xiV9TZJoMNVeq3qv0fN7gq1HuuTrvzvFYth6NDqD'
'KHF0H_9lAdVrX-mYgQPU1dK1luZyCt_HGqCQg6GZbSBcFBRbEmhohE_mnchgF_14ZZF45XU'
'-DJsc_LSW0vP66gNxILQ_CClgqqlN4mHeieq3m4BMS_4huScRQcdKn7CgM4mYYGTA'}
# header:传递header信息
# files:接口中需要上传文件则需要用到该参数
r = requests.post(url, json=data, headers=headers) # 请求url,获得返回的数据信息
self.assertEqual(200,r.status_code,'查询失败')#这里需要注意一下,状态码是纯数字,不是字符串类型,所以在断言的时候不要写成'200',要不会一直是失败。 if __name__ == "__main__":
report_title = u'WMS接口报告' # 定义脚本内容,加u为了防止中文乱码
desc = u'WMS接口报告测试报告详情:' # 定义date为日期,time为时间
date = time.strftime("%Y%m%d")
time = time.strftime("%Y%m%d%H%M%S") # 定义path为文件路径,目录级别,可根据实际情况自定义修改
# path = 'F:/Python_test/' + date + "/login/" + time + "/" # 定义报告文件路径和名字,路径为前面定义的path,名字为report(可自定义),格式为.html
# report_path = path + "report.html" # 判断是否定义的路径目录存在,不能存在则创建
# if not os.path.exists(path):
# os.makedirs(path)
# else:
# pass # 定义一个测试容器
testsuite = unittest.TestSuite() # 将测试用例添加到容器
testsuite.addTest(MyTest_Case("testlogin"))
testsuite.addTest(MyTest_Case("testsearch"))
# 将运行结果保存到report,名字为定义的路径和文件名,运行脚本
# with open(report_path, 'w+') as report:
# runner = HTMLTestRunner(stream=report, title=report_title, description=desc)
# runner.run(testsuite)
# 定义一个测试容器
# testsuite = unittest.TestSuite()
# filename = 'F:\\temp.html'
with open('F:\\temp.html', 'wb') as fp:
runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=report_title, description=desc)
runner.run(testsuite) # 关闭report,脚本结束
# fp.close()

python3 + pycharm+requests+HTMLTestRunner接口自动化测试步骤的更多相关文章

  1. python3 + pycharm+requests+HTMLTestRunner生成不了测试报告html

    生成不了测试文件,是运行的方式不对.因为在运行的时候,pycharm默认使用unit-test运行,所以没有生成测试报告.至于为什么会这样子,我就不清楚了,不过想了解更多的朋友,可以百度一下. 解决的 ...

  2. python3+requests:接口自动化测试(二)

    转载请注明出处:https://www.cnblogs.com/shapeL/p/9188495.html 前言:上篇文章python3+requests+unittest:接口自动化测试(一):ht ...

  3. Requests+Excel接口自动化测试(Python)

    一.框架结构:  工程目录 二.Case文件设计 三.基础包 base 3.1 封装get/post请求(runmethon.py) import requests import json class ...

  4. 接口自动化测试框架 -- reudom

    reudom Automated testing framework based on requests and unittest interface. 基于 Unittest 和 Requests ...

  5. 接口自动化测试unittest+request+excel(一)

    注: 学习python自动化测试,需要先学习python基础,主要还是多敲代码,多联系,孰能生巧,你也会是一名合格的程序员 python基础学习: http://c.biancheng.net/pyt ...

  6. python3+requests+unittest:接口自动化测试(一)

    转载请表明出处:https://www.cnblogs.com/shapeL/p/9179484.html 简单介绍框架的实现逻辑,参考代码的git地址: https://github.com/zha ...

  7. 【python3+request】python3+requests接口自动化测试框架实例详解教程

    转自:https://my.oschina.net/u/3041656/blog/820023 [python3+request]python3+requests接口自动化测试框架实例详解教程 前段时 ...

  8. pytest+requests+Python3.7+yaml+Allure+Jenkins+docker实现接口自动化测试

    接口自动化测试框架(用例自动生成) 项目说明 本框架是一套基于pytest+requests+Python3.7+yaml+Allure+Jenkins+docker而设计的数据驱动接口自动化测试框架 ...

  9. python+request+HTMLTestRunner+unittest接口自动化测试框架

    转自https://my.oschina.net/u/3041656/blog/820023 正在调研使用python进行自动化测试,在网上发现一篇比较好的博文,作者使用的是python3,但目前自己 ...

随机推荐

  1. Using JConsole

    Using JConsole 转自 https://docs.oracle.com/javase/8/docs/technotes/guides/management/jconsole.html Th ...

  2. OpenNi安装示例

    1.下载OpenNi  https://structure.io/openni 解压,点击运行 选择安装目录,默认即可 安装过程中有弹框,选择 安装 点击 完成 在相应的安装目录下即可找到

  3. 面试题:struts 拦截器和过滤器

    拦截器和过滤器的区别 过滤器是servlet规范中的一部分,任何java web工程都可以使用. 拦截器是struts2框架自己的,只有使用了struts2框架的工程才能用. 过滤器在url-patt ...

  4. 每个程序中只有一个public类,主类?

    import java.io.*; public class GameSaverTest { public static void main(String[] args){ //创建人物 GameCh ...

  5. Luogu 3943 星空

    原题是CF79D Password 很妙的题. 首先我们发现区间操作不太好弄,我们想办法把它转化成单点操作,这样子处理的办法会多一点. 方法当然是差分了. 定义差分数组$b_i = a_i \^ a_ ...

  6. C++面试笔记--面向对象

    说到面向对象,大家第一反应应该就是它的三大特性:封装性.继承性和多态性.那么我们先简单的了解一下这三大特性: (1)封装性:封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的 ...

  7. 多线程学习-基础(一)Thread和Runnable实现多线程

    很久没记录一些技术学习过程了,这周周五的时候偶尔打开“博客园”,忽然让我产生一种重拾记录学习过程的想法,记录下学习研究过程的一点一滴,我相信,慢慢地就进步了!最近想学习一下多线程高并发,但是多线程在实 ...

  8. SpringMvc配置web.xml避免view被dispatcherServlet拦截

    在我们以SpringMvc作为开发框架,开发接口框架时,我们只用到Controller一层,因为数据是交到前端处理的,所以我们是不需要处理视图的.此时,在配置dispatcherServlet时,一般 ...

  9. [译]Javascript 参数(arguments)对象

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  10. python---信用卡ATM

    一  需求 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期未还, ...