接口公共方法有:数据引擎、http引擎、Excel引擎

1、数据引擎:获取用例、结果检查、结果统计

# -*- coding:utf-8 -*-
from XlsEngine import XlsEngine_rd
import os '''获取用例'''
def getCase():
filepath = os.path.abspath('.')
filename = filepath + "/interfacetest/Data/InterfaceData.xlsx"
data = XlsEngine_rd(filename)
data.xlrd_open()
sheet = data.xlrd_object.sheet_by_index(0)
rows = sheet.nrows
domain = sheet.cell_value(1,1)
header_temp = sheet.cell_value(2,1)
header=eval(header_temp)
case_list=[]
for i in range(3,rows):
case_list.append(sheet.row_values(i))
return domain,case_list,header '''结果检查'''
def resultCheck(actual_result, expect_result):
result = "Failed"
actualre = actual_result.content
area = (expect_result.split(':'))[0]
expect = (expect_result.split(':'))[1]
if area == "response_code":
if str(actual_result.status_code) == expect:
result = "Pass"
actualre = "response_code:"+expect
if area == "content":
expect = expect_result.replace("content:","").encode('utf-8')
actual = actual_result.content
if expect in str(actual):
result = "Pass"
actualre = expect
return result,actualre '''结果统计'''
def countResult(resultlist):
passcount=0
failcount=0
for result in resultlist:
if result[5] == 'Pass':
passcount+=1
else:
failcount+=1
return passcount,failcount

2、http引擎,用于发送请求和响应接收,提供登录方法,供需要登录的接口调用

# -*- coding:utf-8 -*-
import requests def getData(s, url, data, header, method):
re=object
isexcept = False
if method == "post":
try:
re = s.post(url, headers=header, data=data)
except requests.exceptions.ConnectionError,e:
re = e
isexcept = True if method == "get":
try:
re = s.get(url, headers=header, data=data)
except requests.exceptions.ConnectionError,e:
re = e
isexcept = True if method == "delete":
try:
re = s.delete(url+"/"+data)
except requests.exceptions.ConnectionError,e:
re = e
isexcept = True if method == "put":
try:
re = s.put(url)
except requests.exceptions.ConnectionError,e:
re = e
isexcept = True return re,isexcept def login():
s=object
isexcept = False
try:
url="http://baidu.com/login"
header = {"Referer": "http://baidu.com"}
data={"username":"admin", "password":"xxx"}
s=requests.Session()
s.post(url, headers=header, data=data)
except requests.exceptions.ConnectionError,e:
s=e
isexcept = True
return s, isexcept

3、Excel引擎:excel文件操作

# coding=utf-8
import xlrd
import xlwt class XlsEngine_rd(): def __init__(self, filename):
self.xls_name = filename
self.xlrd_object = None
self.xlwt_object = None
self.isopenfailed = True def xlrd_open(self):
try:
#xlrd.Book.encoding="utf-8"
self.xlrd_object = xlrd.open_workbook(self.xls_name)
self.isopenfailed = False
except Exception,e:
self.isopenfailed = True
self.xlrd_object = None
print(e)
return [self.isopenfailed, self.xlrd_object]

Python web功能&接口自动化测试框架搭建——接口用例实现

Python web功能&接口自动化测试框架搭建——接口公共方法

Python web功能&接口自动化测试框架搭建——接口测试模块

Python web功能&接口自动化测试框架搭建——功能测试模块

Python web功能&接口自动化测试框架搭建——测试用例执行和结果收集

Python web功能&接口自动化测试框架搭建——通用模块

Python web功能&接口自动化测试框架搭建——unittest介绍

Python web功能&接口自动化测试框架搭建——环境搭建

python web自动化测试框架搭建(功能&接口)——接口公共方法的更多相关文章

  1. python web自动化测试框架搭建(功能&接口)——接口用例实现

    测试用例基类: # coding=utf-8 import unittest import Logger log = Logger.Loger() class BaseCase(unittest.Te ...

  2. python web自动化测试框架搭建(功能&接口)——接口测试模块

    Python接口测试采用python读取excel的方法,通过requests库发送请求和接收响应.模块有: Data:用于存放excel用例的,用例格式: iutil: 接口公共方法,数据引擎.ht ...

  3. python web自动化测试框架搭建(功能&接口)——功能测试模块

    功能测试使用selenium,模块有: 1.futil: 公共方法,如元素高亮显示 # coding=utf-8 """高亮显示元素""" ...

  4. python web自动化测试框架搭建(功能&接口)——测试用例执行和结果收集

    由于unittest框架中结果收集在不同文件中,所以此处重写结果收集方法,加入执行时间,失败信息,失败截图等 TestRunner.py # coding=utf-8 import sys impor ...

  5. python web自动化测试框架搭建(功能&接口)——通用模块

    1.通用模块: config.conf: 公共配置文件,配置报告.日志.截图路径,以及邮件相关配置 [report] reportpath = E:\workspace\WebAutomation\s ...

  6. Python web自动化测试框架搭建(功能&接口)——unittest介绍

    Python UnitTest测试框架介绍 1)         TestCase:所有测试用例类继承的基本类, TestCase的实例就是测试用例 2)         TestSuite:测试套件 ...

  7. python web自动化测试框架搭建(功能&接口)——环境搭建

    自动化测试框架一般需要实现以下通用功能 执行前准备 结束后清理 执行步骤输出 执行结果输出 错误.失败截图 测试报告 发送邮件 日志 需要的软件和python第三方库有: 通用: JDK Eclips ...

  8. 基于python的自动化测试框架搭建

    滴~ 今日打卡!   好多天没来打卡了.博主最近一直在把碎片化知识转化为知识体系的过程中挣扎.Python语言.selenium.unittest框架.HTMLTestRunner框架都有所了解,也写 ...

  9. selenium +python web自动化测试环境搭建

    基础框架搭建 1.安装python 2.安装selenium cmd输入pip install selenium 问题:在python中输入from selenium import webdriver ...

随机推荐

  1. [Web 前端] 017 css 浮动

    1. 文档流 指盒子按照 html 标签编写的顺序依次从上到下,从左到右排列 块元素占一行 行内元素在一行之内 从左到右排列 先写的先排列 后写的排在后面 每个盒子都占据自己的位置 2. 浮动的特性 ...

  2. 词频统计小程序-WordCount.exe

    一. 背景 ​ 最近顶哥为了完成学历提升学业中的小作业,做了一个词频统计的.exe小程序.因为当时做的时候网上的比较少,因此顶哥决定把自己拙略的作品发出来给需要的人提供一种思路,希望各位看官不要dis ...

  3. Java集合概括总结及集合选用

    Collection 1. List ArrayList :Object数组,是一个数组队列,相当于动态数组.它由数组实现,随机访问效率高,随机插入.随机删除效率低. LinkedList :是一个双 ...

  4. Javascript之谈对象

    谈谈如何理解对象 使用预定义对象只是面向对象语言的能力的一部分,ECMAScript 真正强大之处在于能够创建自己专用的类和对象.面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意 ...

  5. python 导入re模块语法及规则

    正则表达式是功能比较强大的模块,应用在很多地方,抓网页,数据分析,数据验证等,下面讲述python 导入re模块语法及规则. 1,re模块语法 re.match 从头开始匹配 re.search 匹配 ...

  6. springboot多数据源&动态数据源(主从)

    多数据源 使用Spring Boot时,默认情况下,配置DataSource非常容易.Spring Boot会自动为我们配置好一个DataSource. 如果在application.yml中指定了s ...

  7. 搜索(DFS)---矩阵中的连通分量数目

    矩阵中的连通分量数目 200. Number of Islands (Medium) Input: 11000 11000 00100 00011 Output: 3 题目描述:   给定一个矩阵,求 ...

  8. Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍

    原文:Elasticsearch7.X 入门学习第五课笔记---- - Mapping设定介绍 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本 ...

  9. wxpython菜单栏、子菜单栏、弹出菜单栏、状态栏小程序学习源代码分享

    #coding=utf-8 import wx class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self,None,-1, ...

  10. ssm框架搭建整合测试

    下载各种jar包 mybatis下载 https://github.com/mybatis/mybatis-3/releases mysql驱动下载 http://mvnrepository.com/ ...