Python调用API接口的几种方式 数据库 脚本

Python调用API接口的几种方式

2018-01-08  gaoeb97nd...  转自 one_day_day...
修改
微信分享:
相信做过自动化运维的同学都用过API接口来完成某些动作。API是一套成熟系统所必需的接口,可以被其他系统或脚本来调用,这也是自动化运维的必修课。



本文主要介绍python中调用API的几种方式,下面是python中会用到的库。

- urllib2

- httplib2

- pycurl

- requests 

urllib2

import urllib2, urllib
github_url = 'https://api.github.com/user/repos'
password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm()
password_manager.add_password(None, github_url, 'user', '***')
auth = urllib2.HTTPBasicAuthHandler(password_manager) # create an authentication handler
opener = urllib2.build_opener(auth) # create an opener with the authentication handler
urllib2.install_opener(opener) # install the opener... 
request = urllib2.Request(github_url, urllib.urlencode({'name':'Test repo', 'description': 'Some test repository'})) # Manual encoding required
handler = urllib2.urlopen(request)
print handler.read()
2. httplib2

import urllib, httplib2
github_url = '
h = httplib2.Http(".cache")
h.add_credentials("user", "******", "
data = urllib.urlencode({"name":"test"})
resp, content = h.request(github_url, "POST", data)
print content
3. pycurl

import pycurl, json
github_url = "
user_pwd = "user:*****"
data = json.dumps({"name": "test_repo", "description": "Some test repo"})
c = pycurl.Curl()
c.setopt(pycurl.URL, github_url)
c.setopt(pycurl.USERPWD, user_pwd)
c.setopt(pycurl.POST, 1)
c.setopt(pycurl.POSTFIELDS, data)
c.perform()
4. requests

import requests, json
github_url = "
data = json.dumps({'name':'test', 'description':'some test repo'}) 
r = requests.post(github_url, data, auth=('user', '*****'))
print r.json
以上几种方式都可以调用API来执行动作,但requests这种方式代码最简洁,最清晰,建议采用。

本文出自 “Linux和网络” 博客,转载请与作者联系!

 

转载于:https://www.cnblogs.com/gaoyuechen/p/8245489.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python API自动化分层是指将API自动化测试框架按照不同的层级进行划分,以便更好地管理和组织测试代码。 在分层中,一般会将API的测试代码分为以下几个层级: 1. 顶层测试层:这一层是整个自动化框架的入口,主要负责初始化测试环境和配置,并调用下一层的测试逻辑。 2. 测试逻辑层:这一层主要包含具体的API测试用例和测试脚本。在这一层中,会使用Python的测试框架(如unittest或pytest)来编写和组织测试用例,包括定义测试方法、断言和数据驱动等。 3. 接口封装层:这一层主要为测试逻辑层提供API调用的封装。在这一层中,会使用Python的requests库等工具,对API进行请求和响应的封装,以方便测试逻辑层调用。 4. 数据层:这一层主要负责处理测试数据。在这一层中,可以使用Python数据库连接工具,从数据库中获取测试数据,或者使用数据文件(如JSON或Excel)来读取和管理测试数据。 5. 工具层:这一层主要用于处理一些常用的工具函数或类,以提供给上层调用。例如,可以编写一些通用的数据处理函数、日志记录函数等。 分层设计可以提高自动化测试框架的可维护性和可扩展性。通过将测试代码按照功能和层级划分,可以使代码结构更清晰,各个层级之间的依赖关系更明确。此外,分层设计也能够促进测试用例的复用,以提高测试效率。 总之,Python API自动化分层是一种有效的测试框架设计方式,能够提高测试代码的可读性、可维护性和可扩展性,并提升自动化测试的效率和质量。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值