<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • python自動化測試用例編寫(教你編寫自動化測試用例)


    前言

    編寫正常的測試用例,一般都是通過excel進行編寫的,當我們進行編寫自動化測試用例的時,也是通過功能用例進行編寫的,那么有沒有方法直接通過python讀取我們的excel然后完成自動化測試用例編寫。

    Python自動化測試用例編寫方法:requests通過excel讀取測試用例

    整體思路

    1.通過Excel編寫測試用例,整理測試數據;

    2.通過Python讀取Excel數據;

    3.將讀出來的數據進行放入到requests中進行請求并做對應斷言。

    整體思路其實很簡單,就是通過python讀取Excel然后在導入我們的requests中進行做接口自動化。

    Python自動化測試用例編寫方法:requests通過excel讀取測試用例

    通過Excel編寫用例

    安靜在網上找了一些開源的接口進行編寫到Excel中,由于接口比較簡單,就寫了用例標題、url地址、請求方法、請求參數、預期結果等操作。

    Python自動化測試用例編寫方法:requests通過excel讀取測試用例

    讀取Excel

    在python讀取Excel的方法有很多,這里安靜就介紹最常用的庫xlrd xlrd可以進行完成對Excel的讀取。xlrd屬于Python的第三方庫,需要重新安裝。

    安裝:

    pip install xlrd

    通過上面的Excel通過Excel完成讀取操作。

    import xlrd

    # 將excel進行實例化

    book = xlrd.open_workbook(‘E:web123.xlsx’)

    # 通過下標方法讀取sheet值

    sheet = book.sheet_by_index(0)

    # 通過name值進行讀取sheet

    # sheet = book.sheet_by_name(‘Sheet1’)

    # 獲取列表的總數

    nrows = sheet.nrows

    # 循環讀取每行數據

    for i in range(1, nrows):

    # 通過每行進行讀取數據

    # print(sheet.row_values(i))

    # 將數據通過組合成dic+t格式

    data = dict(zip(sheet.row_values(0), sheet.row_values(i)))

    print(data)

    安靜在上面簡單的介紹了讀取數據的方法,上述代碼中通過字典的形式獲取到了excel的全部數據內容。

    PS:這里通過字典的形式獲取為了下面使用時好取值。

    Python自動化測試用例編寫方法:requests通過excel讀取測試用例

    request請求用例

    前面已經把用例需要用到的數據都已經存儲下來了,那么接下來的就是需要進行發送請求。

    這里通過requests的方式進行發送請求。先將requests請求進行簡單的封裝。通過把請求方式、請求類型、請求參數放入到requests中。

    def Requests_result(item):

    # 封裝request請求,并讀取數據

    response = requests.request(

    method=item[‘method’],

    url=item[‘url’],

    data=json.loads(item[‘body’])

    )

    result = response.json()[‘reason’]

    # 這里返回實際結果是否和預期值一樣

    return result == item[‘expect’]

    Python自動化測試用例編寫方法:requests通過excel讀取測試用例

    整體代碼

    pytest

    上面已經將各個部分的內容都簡單的做了介紹了,這里就直接上整體代碼,這里通過requests+pytest+excel進行完成的讀取excel數據完成測試用例。

    import xlrd

    import requests

    import json

    import pytest

    def Read_Excel():

    # 將excel進行實例化

    book = xlrd.open_workbook(‘E:web123.xlsx’)

    # 通過下標方法讀取sheet值

    sheet = book.sheet_by_index(0)

    # 循環讀取每行數據

    return [dict(zip(sheet.row_values(0), sheet.row_values(row))) for row in range(1, sheet.nrows)]

    class Test_01:

    def Requests_result(self, item):

    # 封裝請求

    response = requests.request(

    method=item[‘method’],

    url=item[‘url’],

    data=json.loads(item[‘body’])

    )

    result = response.json()[‘reason’]

    print(result)

    return result == item[‘expect’]

    # 通過參數化的方式進行導入excel的數據

    @pytest.mark.parametrize(‘item’, Read_Excel())

    def test_01(self, item):

    response_result = self.Requests_result(item)

    # 斷言請求返回的結果是否為True

    assert response_result == True

    if __name__ == ‘__main__’:

    pytest.main([‘-vs’])

    通過執行發現,我們的requests已經通過excel來完成了測試讀取測試用例。并通過單元測試-pytest完成了判斷是否通過。

    Python自動化測試用例編寫方法:requests通過excel讀取測試用例

    unittest

    上述方法是通過pytest來完成的,那么unittest當然也可以完成。這里通過requests+unittest+ddt+excel進行來完成讀取數據內容。

    import xlrd

    import requests

    import json

    import unittest

    import ddt

    def Read_Excel():

    # 將excel進行實例化

    book = xlrd.open_workbook(‘E:web123.xlsx’)

    # 通過下標方法讀取sheet值

    sheet = book.sheet_by_index(0)

    # 循環讀取每行數據

    return [dict(zip(sheet.row_values(0), sheet.row_values(row))) for row in range(1, sheet.nrows)]

    @ddt.ddt

    class Test_01(unittest.TestCase):

    def Requests_result(self, item):

    response = requests.request(

    method=item[‘method’],

    url=item[‘url’],

    data=json.loads(item[‘body’])

    )

    result = response.json()[‘reason’]

    return result

    # 通過ddt進行讀取數據

    @ddt.data(*Read_Excel())

    def test_01(self, data):

    response_result = self.Requests_result(data)

    self.assertTrue(response_result)

    if __name__ == ‘__main__’:

    unittest.main()

    執行發現,通過unittest的也成功的讀取了excel的數據以及完成了接口內容。

    總結

    這里安靜簡單的介紹了如何通過python進行讀取excel的方法從而實現了接口自動化的類似操作,當然如何運用到公司項目中,這個要看根據公司的項目來做了。

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费