欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python+unittest+requests實(shí)現(xiàn)接口自動(dòng)化的方法

 更新時(shí)間:2018年11月29日 10:02:13   作者:Silence&QH  
這篇文章主要介紹了python+unittest+requests實(shí)現(xiàn)接口自動(dòng)化的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

前言:

Requests簡(jiǎn)介

Requests 是使用Apache2 Licensed 許可證的 HTTP 庫(kù)。用 Python 編寫(xiě),真正的為人類(lèi)著想。

Python 標(biāo)準(zhǔn)庫(kù)中的 urllib2 模塊提供了你所需要的大多數(shù) HTTP 功能,但是它的 API 有點(diǎn)落后了。它是為另一個(gè)時(shí)代、另一個(gè)互聯(lián)網(wǎng)所創(chuàng)建的。它需要巨量的工作,甚至包括各種方法覆蓋,來(lái)完成最簡(jiǎn)單的任務(wù)。

總之,大家建議大家用Requests吧。

Requests的官方文檔:http://cn.python-requests.org/zh_CN/latest/

通過(guò)下面方法安裝requests

pip install requests 

實(shí)例實(shí)現(xiàn)步驟:

1.采用unittest把每個(gè)接口寫(xiě)成一個(gè)個(gè)測(cè)試腳本

2.一個(gè)測(cè)試腳本中包含一個(gè)接口,但是可以包含多個(gè)測(cè)試用例(即每個(gè)接口需要進(jìn)行多種情況的驗(yàn)證,接口測(cè)試用例名稱已test開(kāi)頭)

3.使用discover(),該方法會(huì)自動(dòng)根據(jù)測(cè)試目錄匹配查找測(cè)試用例文件,并且將查找到的測(cè)試組裝到測(cè)試套件中,因此可以直接通過(guò)run()方法執(zhí)行discover,大大簡(jiǎn)化了測(cè)試用例的查找和執(zhí)行

4.利用HTMLTestRunner生成測(cè)試報(bào)告

文檔結(jié)構(gòu):project項(xiàng)目文件下有以下三個(gè)文件

1.report存放測(cè)試結(jié)果
2.test_case存放測(cè)試用例
3.run_test_case.py執(zhí)行測(cè)試用例文件

案例:

1.get接口測(cè)試用例源碼

# coding:utf-8
import requests
import unittest

class get_request(unittest.TestCase):
  def setUp(self):

    self.get_url = 'https://www.baidu.com/'

  def test_post_01(self):

    url=self.get_url

    r = requests.get(url)

    print r.text

  def tearDown(self):
    pass


if __name__ == "__main__":

  unittest.main() 

2.post接口測(cè)試用例源碼

# coding:utf-8
import requests
import json
import unittest
class post_request(unittest.TestCase):

  def setUp(self):

    self.post_url = '..........' #根據(jù)實(shí)際接口,自己填寫(xiě)

    self.header = {'.......'} #根據(jù)實(shí)際內(nèi)容,自己填寫(xiě)

  def test_post_01(self):

    """正常數(shù)據(jù)"""

    url=self.post_url

    header = self.header

    data = {""}#根據(jù)實(shí)際內(nèi)容,自己填寫(xiě)

    #將data序列化為json格式數(shù)據(jù),傳遞給data參數(shù)

    r = requests.post(url, data=json.dumps(data), headers=header)

    print r.text

  def test_post_02(self):

    """異常數(shù)據(jù)"""

    url=self.post_url

    header = self.header

    data = {""}#根據(jù)實(shí)際內(nèi)容,自己填寫(xiě)

    r = requests.post(url, data=json.dumps(data), headers=header)

    print r.text

 

  def tearDown(self):

    pass

if __name__ == "__main__":

  unittest.main()   

3.執(zhí)行測(cè)試用例源碼

# coding=utf-8
import unittest
import HTMLTestRunner
import time
# 相對(duì)路徑
test_dir ='./test_case'
test_dir1 ='./report'
discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')
# 定義帶有當(dāng)前測(cè)試時(shí)間的報(bào)告,防止前一次報(bào)告被覆蓋
now = time.strftime("%Y-%m-%d %H_%M_%S")
filename = test_dir1 + '/' + now + 'result.html'
# 二進(jìn)制打開(kāi),準(zhǔn)備寫(xiě)入文件
fp = file(filename, 'wb')
# 定義測(cè)試報(bào)告
runner = HTMLTestRunner.HTMLTestRunner(stream=fp, title=u'測(cè)試報(bào)告', description=u'用例執(zhí)行情況')
runner.run(discover) 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 裝飾器功能以及函數(shù)參數(shù)使用介紹

    python 裝飾器功能以及函數(shù)參數(shù)使用介紹

    之前學(xué)習(xí)編程語(yǔ)言大多也就是學(xué)的很淺很淺,基本上也是很少涉及到裝飾器這些的類(lèi)似的內(nèi)容??偸怯X(jué)得是一樣很神奇的東西,舍不得學(xué)(嘿嘿)。今天看了一下書(shū)籍。發(fā)現(xiàn)道理還是很簡(jiǎn)單的
    2012-01-01
  • Python基于回溯法子集樹(shù)模板解決數(shù)字組合問(wèn)題實(shí)例

    Python基于回溯法子集樹(shù)模板解決數(shù)字組合問(wèn)題實(shí)例

    這篇文章主要介紹了Python基于回溯法子集樹(shù)模板解決數(shù)字組合問(wèn)題,簡(jiǎn)單描述了數(shù)字組合問(wèn)題并結(jié)合實(shí)例形式分析了Python回溯法子集樹(shù)模板解決數(shù)字組合問(wèn)題的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • 最新評(píng)論