目錄
一、框架介紹
二、安裝
三、基本語法
四、從xml檔案中獲取到失敗項
robot framework和pytest的區別:
共同點:
作為測試框架,其作用就是幫助我們管理測試用例、執行測試用例、生成測試報告等,這兩款測試框架都可幫我們實現這些功能
區別:
robot framework:
優點:通過關鍵字驅動,可以自定義測試庫,自動提供測試報告;
缺點:不支援複雜的語法,不夠靈活
pytest:
優點:支援很多第三方外掛程式,比較靈活
缺點:需要測試人員有一定的python**能力
robot framework 是乙個基於python的、可擴充套件的、關鍵字驅動的測試自動化框架。
為什麼選擇robot framework
如果你已經安裝了 pip ,通過命令 pip install robotframework 就能安裝robot framework
robot framework的語法學起來可能有點彆扭,我基本上全是用python來自定義測試庫,只利用robot framework框架將測試用例執行起來,自動生成測試報告
01_test.robot 檔案
*** settings ***
test setup a.setupclass
test teardown a.teardownclass
library a.py
*** test cases ***
test_1
[documentation] ***x
[tags] tag
test1
a.py 檔案
class a(base):
@classmethod
def setupclass(self):
pass
@classmethod
def teardownclass(self):
pass
def test_1(self):
pass
執行
通過執行robot.run()函式,就能執行testcases/目錄下的所有.robot檔案
retry是失敗後重試的次數,該選項生效需要配置一下環境引數,詳細請參見
# -*- coding:utf-8 -*-
import robot
testcases = 'testcases/' # 測試用例路徑
include_tag = [''] # 執行的tag
exclude_tag = ['tag1','tag2'] # 不執行的tag
log = 'log.html' # 生成的測試log檔案目錄
report = 'report.html' # 生成的測試報告檔名
output = 'output.xml' # 生成的xml檔名
robot.run(testcases=testcases,
include=include_tag,
exclude=exclude_tag,
log=log,
report=report,
output=output,
retry=1)
import xml.dom.minidom
def getfailcases(output):
context = ''
dom = xml.dom.minidom.parse(output) #開啟xml文件
testlist = dom.getelementsbytagname('test') # 獲取標籤
num=1
for element in testlist:
if element.getelementsbytagname('status')[-1].getattribute('status') == 'fail': # 獲取標籤屬性
suite = element.parentnode.getattribute('name')[3:]
test = element.getattribute('name')
description = element.getelementsbytagname('status')[-1].firstchild.data
if u'parent suite' in description:
if suite in context:
continue
else:
context=context+ suite +'; '+ description+'\n'
else:
context = context+ str(num) + '. '
context= context + suite +' '+ test+ ': '+ description+'\n'
num=num+1
return context
if __name__=='__main__':
res=getfailcases('output.xml')
print(res)
Robot Framework 自動化測試框架安裝
windows下安裝 1.安裝python 安裝文件 2.安裝robotframework 在cmd中用pip安裝,pip安裝文件在這裡 pip安裝文件 pip install robotframework 在cmd中輸入命令列驗證是否安裝成功 pybot version 如成功顯示版本號,則表示r...
RobotFramework測試Rest服務
python有乙個都對http請求封裝的很好的類庫 requests 見這裡 而rest服務就是基於http請求之上的,活躍的社群也有提供了乙個封裝 robotframework requests 見這裡 可以用來方便的測試rest服務 這裡記錄下在使用過程中碰到的問題 1.import的時候,名字...
RobotFramework 資料分離
robotframework 資料分離分為三種 1.run 新增引數 2.外部的python檔案 3.讀取excel run 新增引數 適用於jenkins 使用 v 引數名 引數值 使用外部的python檔案 使用外部的python檔案進行資料分離的話,首先建乙個python檔案,並在裡面定義乙個...