python3 unittest+request+HTMLTestRunner接口自动化(一)

前言

很久之前就打算把接口自动化的文章写了,拖了这么久。现在终于有时间总结一下了,简单来说我采用的是读取Excel文档中的接口参数运行case。主要使用参数化paramunittest来实现,(paramunittest是unittest实现参数化的一个专门的模块),最后用HTMLtestrunner来生成报告

 

代码框架目录

正文代码

(1)首先我们来看一下cinfig.ini里面的内容,这个文件是配置文件,主要用来存一些数据库,邮箱。接口主机基本信息。方便修改和读取啦。



#数据库、邮箱、接口等的配置项,用于方便的调用读取。
[HTTP]
scheme=http
baseurl = xxxxx#接口文档的host也就是域名,如博客域名blog.csdn.net
#port = 8888
timeout = 10.0

[EMAIL]
#on_off是设置的一个开关,=on打开,发送邮件,=其他不发送邮件。
on_off = on
#subject邮件主题
subject = 接口自动化报告
app = Outlook
#发件人
 ### smtp服务器地址## 发信方的信息:发信邮箱,QQ 邮箱授权码##
mail_host = smtp.qq.com
 # 普通端口
mail_port = 25
## 安全链接端口
ssl_port=465

#发件人用户名
mail_user = xxxxxx@qq.com
#邮箱授权码
mail_pass = xxxxxxx
#发件人邮箱
sender = xxxxxx@qq.com

#收件人邮箱,# 多个收件人放在一个list里面

receiver = xxxxx@qq.com,xxxxxx@qq.com
#cc抄送人
cc=xxxxxx@qq.com

[SQL] #数据库

host = ""

(2)封装一个当前路径的函数,用来方便得到当前路径,当然也可以不封装每次获取路径也可。这里我封装了,getpathInfo.py

 


import os

def get_path():
    path = os.path.abspath(os.path.dirname(__file__))#获取当前目录绝对路径
    # path= os.path.abspath(os.path.dirname(os.path.dirname(__file__)))##获取上一级目录绝对路径
    return path

if __name__ =="__main__":# 执行该文件,测试是否正常
    print("测试路径为  %s:"%get_path())


 

(3)读取配置文件里面的内容,方便后期使用啦,readConfig.py 使用自带的configparser模块可以直接读取配置文件


#读取配置文件的方法,并返回文件中内容
import os
import  configparser
from testFile import getpathInfo

##调用实例化,这个类返回的路径为C:\Users\ChenTing\PycharmProjects\interfaceTest\testFile:
path = getpathInfo.get_path()
#返回的路径为C:\Users\ChenTing\PycharmProjects\interfaceTest\testFile\config.ini
config_path = os.path.join(path,'config.ini')
# print(config_path)

config = configparser.ConfigParser()#读取配置文件的方法实例化
config.read(config_path, encoding='utf-8') #读取config_path的文件

class ReadConfig():
    def get_http(self,name):
        http_value= config.get('HTTP',name)
        return http_value

    def get_email(self,name):
        email_value = config.get('EMAIL',name)
        return email_value

    def get_sql(self,name):
        sql_value = config.get('SQL',name)
        return sql_value


# print('HTTP中的baseurl值为:', ReadConfig().get_http('baseurl'))

if __name__ == '__main__':#测试一下,我们读取配置文件的方法是否可用
    A=ReadConfig()
    print('HTTP中的baseurl值为:', A.get_http('baseurl'))
    print("EMAIL中的开关on_off值为:", A.get_email('on_off'))

 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值