成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

pytest功能測試數(shù)字驅(qū)動yaml/excel/csv/json

89542767 / 487人閱讀

  數(shù)字驅(qū)動


  數(shù)據(jù)庫的更改進(jìn)而推動自動化技術(shù)功能測試的落實,最后造成檢測結(jié)果的變化。簡單來說就是參數(shù)化設(shè)計的應(yīng)用。


  檢測推動在功能測試中的運用情景:


  測試流程的數(shù)字驅(qū)動;


  測試報告的數(shù)字驅(qū)動;


  配備的數(shù)字驅(qū)動;


  1、pytest融合數(shù)字驅(qū)動-yaml


  完成讀yaml文件,先創(chuàng)建env.yml文件配備測試報告


  工程項目目錄結(jié)構(gòu):


  data文件目錄:儲放yaml文件


  -
  dev:127.0.0.1
  #dev:127.0.0.2
  #prod:127.0.0.3


  testcase目錄:存放測試用例文件


  import pytest
  import yaml
  class TestYaml:
  pytest.mark.parametrize("env",yaml.safe_load(open("./env.yml")))
  def test_yaml(self,env):
  if"test"in env:
  print("這是測試環(huán)境")
  #print(env)
  print("測試環(huán)境的ip是:",env["test"])
  elif"dev"in env:
  print("這是開發(fā)文件")
  print("開發(fā)環(huán)境的ip是:",env["dev"])
  #print(env)

  結(jié)果示例:

01.png

  2、pytest結(jié)合數(shù)據(jù)驅(qū)動-excel


  常用的讀取方式有:xlrd、xlwings、pandas、openpyxl


  以讀excel文件,實現(xiàn)A+B=C并斷言為例~


  工程目錄結(jié)構(gòu):


  data目錄:存放excel數(shù)據(jù)文件

02.png

  func目錄:存放被測函數(shù)文件


  def my_add(x,y):
  result=x+y
  return result

  testcase目錄:存放測試用例文件


  import openpyxl
  import pytest
  from test_pytest.read_excel.func.operation import my_add
  def test_get_excel():
  """
  解析excel數(shù)據(jù)
  :return:[[1,1,2],[3,6,9],[100,200,300]]
  """
  book=openpyxl.load_workbook('../data/param.xlsx')
  sheet=book.active
  cells=sheet["A1":"C3"]
  print(cells)
  values=[]
  for row in sheet:
  data=[]
  for cell in row:
  data.append(cell.value)
  values.append(data)
  print(values)
  return values
  class TestWithExcel:
  pytest.mark.parametrize('x,y,expected',test_get_excel())
  def test_add(self,x,y,expected):
  assert my_add(int(x),int(y))==int(expected)


  3、pyetst結(jié)合數(shù)據(jù)驅(qū)動-csv


  csv:逗號文件,以逗號分隔的string文件


  讀取csv數(shù)據(jù):


  內(nèi)置函數(shù)open()


  內(nèi)置模塊csv


  方法:csv.reader(iterable)


  參數(shù):iterable,文件或列表對象


  返回:迭代器,遍歷迭代器,每次會返回一行數(shù)據(jù)


  以讀csv文件,實現(xiàn)A+B=C并斷言為例~


  工程目錄結(jié)構(gòu):

04.png

  data目錄:存放csv數(shù)據(jù)文件


  func目錄:存放被測函數(shù)文件


  def my_add(x,y):
  result=x+y
  return result


  testcase目錄:存放測試用例文件


  import csv
  import pytest
  from test_pytest.read_csv.func.operation import my_add
  def test_get_csv():
  """
  解析csv文件
  :return:
  """
  with open('../data/params.csv')as file:
  raw=csv.reader(file)
  data=[]
  for line in raw:
  data.append(line)
  print(data)
  return data
  class TestWithCsv:
  pytest.mark.parametrize('x,y,expected',test_get_csv())
  def test_add(self,x,y,expected):
  assert my_add(int(x),int(y))==int(expected)


  4、pytest結(jié)合數(shù)據(jù)驅(qū)動-json


  json:js對象,是一種輕量級的數(shù)據(jù)交換格式。


  json結(jié)構(gòu):


  對象{"key":value}


  數(shù)組[value1,value2...]


  查看json文件:


  1.pycharm


  2.txt記事本


  讀取json文件:


  內(nèi)置函數(shù)open()


  內(nèi)置庫json


  方法json.loads()json.dumps()


  以讀json文件,實現(xiàn)A+B=C并斷言為例~


  工程目錄結(jié)構(gòu):


  data目錄:存放json數(shù)據(jù)文件


  func目錄:存放被測函數(shù)文件


  def my_add(x,y):
  result=x+y
  return result


  testcase目錄:存放測試用例文件


  import json
  import pytest
  from test_pytest.read_json.func.operation import my_add
  def test_get_json():
  """
  解析json數(shù)據(jù)
  :return:[[1,1,2],[3,6,9],[100,200,300]]
  """
  with open('../data/params.json','r')as file:
  data=json.loads(file.read())
  print(list(data.values()))
  return list(data.values())
  class TestWithJson:
  pytest.mark.parametrize('x,y,expected',test_get_json())
  def test_add(self,x,y,expected):
  assert my_add(int(x),int(y))==int(expected)


  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129050.html

相關(guān)文章

  • 做完自動化測試,但別讓不會匯報毀了你...

    摘要:前端自動化測試百度搜索功能實戰(zhàn)可以與結(jié)合生成測試報告。以網(wǎng)頁版本的百度為例,百度首頁呈現(xiàn)的功能新聞網(wǎng)頁貼吧知道音樂圖片視頻地圖等,我們以百度網(wǎng)頁的搜索功能為例,使用結(jié)合自動化測試框架,完成一個搜索功能的測試。 ...

    HelKyle 評論0 收藏0
  • 利用xdist實現(xiàn)自動化測試用例并行執(zhí)行

    摘要:在測試行業(yè),如果利用作為腳本語言開發(fā)自動化測試用例,可用的框架有等主流可供選擇,個人感覺較之和應(yīng)該算是現(xiàn)階段最靈活,功能最全面,擴(kuò)展最豐富的框架了。不知道各位在做自動化的時候有沒有遇到過用例數(shù)過多,單機(jī)執(zhí)行效率不高的困擾。 在測試行業(yè),如果利用python作為腳本語言開發(fā)自動化測試用例,可用...

    tabalt 評論0 收藏0
  • 使用Django+Pytest,教你搭建在線自動化測試平臺

      小編寫這篇文章的主要目的,就是教給大家,如何使用Django+Pytest,并用Django+Pytest搭建在線自動化測試平臺,具體怎么做呢?下面給大家做一個詳細(xì)的解答?! ∫弧y試平臺:  解決分散用例執(zhí)行方式,提供統(tǒng)一測試用例執(zhí)行過程、用例管理、測試報告  主要是基于:  fastapi+vue.js  django+vue.js  django  二、搭建過程  2.1使用django...

    89542767 評論0 收藏0
  • 說說Python中的單元測試

    摘要:必然的,他們會拋棄標(biāo)準(zhǔn)庫中的,使用或者發(fā)明自己心儀的單元測試框架。究其原因,一些人會說時間寫代碼都不夠,哪還有空寫單元測試。最后我的個人觀點,單元測試其實還有一個非常重要的作用,就是替代函數(shù)文檔注釋。希望從今天起,你的代碼也都有單元測試。 單元測試是每種編程語言必學(xué)的課題,是保護(hù)開發(fā)者的強力護(hù)盾,每個程序員都在時間允許的情況下盡可能多的寫單元測試,今天我們不討論其必要性,只拋磚引玉聊一...

    chengjianhua 評論0 收藏0
  • 2021年軟件測試工具總結(jié)——單元測試工具

    摘要:單元測試框架作為的標(biāo)準(zhǔn)庫,是其他單元測試框架的基礎(chǔ)。可以和和配合使用編寫單元測試。官網(wǎng)地址單元測試覆蓋率工具單元測試中還需要用到代碼覆蓋率工具。代碼覆蓋率統(tǒng)計工具用來發(fā)現(xiàn)沒有被測試覆蓋的代碼,完善單元測試的覆蓋率。 在應(yīng)用程序中,單元是具有一個或多個輸入和單個輸出的軟件中最小可測試部分。單元...

    qingshanli1988 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<