小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

python接口自動化測試——數據分離讀取Excal指定單元格數據

 靜幻堂 2018-09-15
同桌的你 2018-09-14 19:54:14

一、首先建一個Test_Main類

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import requests <br>import unittest

class TestDenmo(unittest.TestCase):

def setUp(self):

pass

def test_demo1(self):

print ("用例一開始執(zhí)行")

url = '' #此處填寫請求的url

xmlhead = '' #工作中數據以json、xml為主,此處以xml格式為例

xmlbody = ''

data = {'xmlhead' : xmlhead, 'xmlbody' : xmlbody}

result = requests.post(url, data =data)

try:

self.assertEqual(result.status_code, 200)

print ("用例一測試通過")

except Exception as e:

print e

print "用例一測試不通過"

def tearDown(self):

pass

if __name__ == '__main__':

unittest.run()

二、現在開始寫讀取Excal指定單元格的方法了。建一個python文件Read_Excal:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import xlrd

class get_data(object):

def __init__(self, path = ''):

self.filepath = xlrd.open_workbook(path)#打開文件

def datasheet_by_name(self,sheet,row,col):

self.sheetname = self.filepath.sheet_by_name(sheet) #打開Excal中sheet頁名稱為"sheet"的表格

self.data = self.sheetname.cell_value(row,col) #獲取第"row"行第"col"列的數據

return self.data<br>

#以下代碼調試用,調試正常可刪掉或注釋掉

if __name__ == '__main__':

filepath = get_data(path) #此處path填具體路徑

resultdata = filepath.datasheet_by_name(sheet,row,col) #此處三個參數賦予具體值

print resultdata

三、寫完讀取excal的get_data類后,可以封裝一個方法調用get_data.因此建一個python文件base,代碼如下:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

from Read_Excal import get_data

def result_need(sheet,row,col):

resudata = get_data(path).datasheet_by_name(sheet,row,col)#可以在此處賦予path值,也可在Test_Main類中賦值,為了簡便,個人感覺在此處賦值合適些

return resudata

四、寫完了調用get_data類的公共方法,咱們回過頭來看一下Test_Main類.可以把Test_Main類里的數據分離到Excal中,優(yōu)化代碼如下:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import requests

import unittest

from base import result_need #導入公共方法base

class TestDenmo(unittest.TestCase):

def setUp(self):

pass

def test_demo1(self):

print ("用例一開始執(zhí)行")

url = result_need('url',0,0) #此次把URL放到Excal中進行讀取。為了便于維護和安全,也可把URL進行多次分離封裝后,放到setUp()方法中

xmlhead = result_need('xmlhead',0,0)

xmlbody = result_need('xmlbody',13,0)

data = {'xmlhead' : xmlhead, 'xmlbody' : xmlbody}

result = requests.post(url, data =data)

try:

self.assertEqual(result.status_code, 200)

print ("用例一測試通過")

except Exception as e:

print e

print "用例一測試不通過"

def tearDown(self):

pass

if __name__ == '__main__':

unittest.run()

代碼運行成功,至此,所有參數數據和代碼分離。個人感覺cell_value()獲取指定單元格數據的方法,所使用的代碼更簡潔。自動化測試過程中,可以以此為模板添加用例。也可以在此代碼的基礎上繼續(xù)優(yōu)化,和前端配合開發(fā)一個適合自己公司的簡易自動化測試工具,那樣只改一下Excal里的參數,測試起來會更方便。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多