RobotFramework框架系列 – 介紹篇
RobotFramework是一個基於Python語言的,可擴充套件的關鍵字驅動的自動化測試框架,用於驗收驅動的測試(ATDD)
Robotframework除了自帶的庫之外有很多擴充套件的庫,這些庫可以在Robotframework官網裡找到http://robotframework.org/#Libraries
你也可以到github搜尋,肯定有所收穫。
為何使用RobotFramework
-
表格的方式建立測試用例
-
建立high-level的可重用的關鍵字
-
強大易讀的html格式的報告及log,精確到你每個步驟的時間點
-
各平臺通用,包括windows,mac,linux
-
提供簡單建立自定義庫的方式,可以使用自帶API庫,使用python或java語言實現自定義庫
-
提供命令列執行介面,和方便的xml報告輸出,方便整合到CI中,比如jenkins
-
提供豐富的擴充套件庫,比如網頁測試的Selenium,Java GUI,Ssh 。。。
-
雖然是關鍵字驅動的框架,但是同樣不可或缺的也要支援資料驅動的測試【Data-Driven Test】
-
提供內建的變數,適用不同的測試環境
-
提供強大的標籤功能,來歸類測試執行,在測試執行時可以選擇不同的Tag或tag組合進行測試執行
-
提供測試用例和測試套件級別的Setup和tearDown。而且可以全域性,可以區域性覆蓋,非常方便。
-
模組化體系結構支援建立測試,即使是具有多種不同介面的應用程式。
-
支援亂序執行,可以多樣化執行策略
-
支援報告合併,以便讓你可以多機執行,然後合併報告
-
全域性測試超時時間設定,區域性可以覆蓋全域性的設定非常方便,不會測試卡殼
測試框架結構
測試用例大概就是如下這樣子的
*** Settings ***
Test Setup MetaSetup
Test Teardown Close All Browsers #關閉所有瀏覽器
Test Timeout 6 minutes
Resource MetaPortalBusiness.robot
*** Test Cases ***
1. Verify Portal Login Success
[Tags] META
Open chrome browser ${WEB_HOST}
Input username ${CS_NAME}
Input password ${CS_PWD}
Login button
2. Verify Portal Login And Video
[Tags] META
Login normal
Wait switch to video
Verify has video
測試結果:
其他Python環境的安裝方式:
Jython,用java做庫的方式需要這種,首先安裝Jython java -jar jython_installer-<version>.jar
.,,安裝後把jython加入PATH環境變數中
jython -m ensurepip jython -m pip install robotframework
IronPython
.Net platform可以和c#或.net語言溝通的API,僅僅支援IronPython2.7
ipy -X:Frames -m ensurepip ipy -X:Frames -m pip install robotframework
PyPy下安裝
pypy -m ensurepip pypy3 -m ensurepip
pypy -m pip install robotframework
pypy3 -m pip install robotframework
安裝方式:
# Install the latest version pip install robotframework # Upgrade to the latest version pip install --upgrade robotframework # Install a specific version pip install robotframework==2.9.2 # Install separately downloaded package (no network connection needed) pip install robotframework-3.0.tar.gz # Uninstall pip uninstall robotframework # Install 3.0 beta 1 pip install robotframework==3.0b1 # Upgrade to the latest version even if it is a pre-release pip install --pre --upgrade robotframework
驗證安裝
rebot --version有正確版本號輸出
執行:
命令列語法格式:
robot [options] data_sources python|jython|ipy -m robot [options] data_sources python|jython|ipy path/to/robot/ [options] data_sources java -jar robotframework.jar [options] data_sources
RFT3.0以前的使用pybot,jybot,ipybot來執行,執行方式類似
比如我們的測試基於
pybot --variable MUT1:XXX --include=TAGGS -d testreport_Dir TestDir
如果想執行某一些測試,可以指定檔案或目錄執行如下:
robot tests.robot robot path/to/my_tests/ robot c:\robot\tests.robot
也可以同時執行多個檔案或目錄,也支援萬用字元執行
robot my_tests.robot your_tests.robot robot --name Example path/to/tests/pattern_*.robot
相關推薦
RobotFramework框架系列 – 介紹篇
RobotFramework是一個基於Python語言的,可擴充套件的關鍵字驅動的自動化測試框架,用於驗收驅動的測試(ATDD) Robotframework除了自帶的庫之外有很多擴充套件的庫,這些庫可以在Robotframework官網裡找到http://robotfra
RobotFramework框架系列 – TAG選擇執行篇
在測試過程中,肯定會遇到選擇測試用例的事情,所以我們將我們的測試用例打上不同的Tag,然後根據測試需要執行不同的Tag 在執行的時候我們我們的Tag支援簡單的模式匹配,也支援TAG邏輯運算,比如And,or,Not等 簡單的模式匹配有: * 可以匹配空
RobotFramework框架搭建介紹
charm 關鍵字 右鍵 bat文件 row 驅動 切換用戶 span import RF框架搭建介紹 開發平臺:ride | pycharm 註意: 想要用ride,就只能裝python2,python3到2018/8還沒支持。 ride安裝: 依賴:wxpyth
【微框架】之一:從零開始,輕鬆搞定SpringCloud微框架系列--開山篇
一、SpringCloud專案簡介 Spring Cloud: 微服務工具包,為開發者提供了在分散式系統的配置管理、服務發現、斷路器、智慧路由、微代理、控制匯流排等開發工具包。 Spring Boot: 旨在簡化建立產品級的 Spring
從零寫Spring註解版框架系列 IoC篇 (2)實現 @Component、@Autowired、@Qualifier註解
本文承接了上一篇文章的思路進行程式碼實現,並搭建起一個基本可用的基於@Component、@Autowired、@Qualifier 註解的 IoC 框架。 專案 Github 地址為:https://github.com/linshenkx/winter-core 相關文章地址:從
從零寫Spring註解版框架系列 IoC篇 (1) 框架設計
本文的註解版IoC框架跟其他手寫IoC框架的不同之處在與:在實現了 @Component 和 @Autowired 的同時還實現了@Qualifier,並解決單例模式下迴圈依賴的問題,以上3個註解的使用效果參照 Spring 。 專案 Github 地址為:https://githu
【ABP框架系列學習】介紹篇(1)
0.引言 該系列博文主要在【官方文件】及【tkbSimplest】ABP框架理論研究系列博文的基礎上進行總結的,或許大家會質問,別人都已經翻譯過了,這不是多此一舉嗎?原因如下: 1.【tkbSimplest】的相關博文由於撰寫得比較早的,在參照官方文件學習的過程中,發現部分知識未能及時同步
痞子衡嵌入式:飛思卡爾i.MX RT系列微控制器介紹篇(3)- 命名規則
rule 成員 oom 嵌入 信息 100% 規則 控制器 今天 大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是飛思卡爾i.MX RT系列MCU的命名規則。 打開任何一款i.MX RT系列芯片的Data Sheet均可找到如下命名規則表,以i.M
axon框架系列---1、介紹
介紹 Axon是一個輕量級框架,通過直接在架構中解決這些問題,幫助開發人員構建可伸縮和可擴充套件的應用程式。本參考指南解釋了Axon是什麼,它如何幫助您以及如何使用它。 如果您想了解有關Axon及其背景的更多資訊,請繼續閱讀Axon Framework背景。如果您渴望開始使
應用程式框架實戰十六:DDD分層架構之值物件(介紹篇)
前面介紹了DDD分層架構的實體,並完成了實體層超型別的開發,同時提供了驗證方面的支援。本篇將介紹另一個重要的構造塊——值物件,它是聚合中的主要成分。 如果說你已經在使用DDD分層架構,但你卻從來沒有使用過值物件,這毫不奇怪,因為多年來養成的資料建模思維已經牢牢把你禁錮,以致於你在使用面向物件方式進行
Util應用程式框架公共操作類(一):資料型別轉換公共操作類(介紹篇)
本系列文章將介紹一些對初學者有幫助的輔助類,這些輔助類本身並沒有什麼稀奇之處,如何能發現需要封裝它們可能更加重要,所謂授之以魚不如授之以漁,掌握封裝公共操作類的技巧才是關鍵,我會詳細說明建立這些類的動機和思考過程,以幫助初學者發現和封裝自己需要的東西。建立公共操作類的技巧,大家可以參考我的這篇文章——應用
應用程式框架實戰二十一:DDD分層架構之倉儲(介紹篇)
前面已經介紹過Entity Framework的工作單元和對映層超型別的封裝,從本文開始,將逐步介紹倉儲以及對查詢的擴充套件支援。 什麼是倉儲 倉儲表示聚合的集合。 倉儲所表現出來的集合外觀
一、Kubernetes系列之介紹篇
Kubernetes介紹 1.背景介紹 雲端計算飛速發展 - IaaS - PaaS - SaaS Docker技術突飛猛進 - 一次構建,到處執行 - 容器的快速輕量 - 完整的生態環境 2.什麼是ku
Java+Selenium3框架設計準備篇1-TestNG簡單介紹
前面文章我們執行測試用例都是在main方法下,有沒有什麼方法不需要用main方法去執行用例,這就需要單元測試框架的支援,這篇簡單介紹TestNG單元測試框架的安裝和基本使用。 1.什麼是
ABP(現代ASP.NET樣板開發框架)系列之1、ABP總體介紹
基於DDD的現代ASP.NET開發框架--ABP系列之1、ABP總體介紹 ABP是“ASP.NET Boilerplate Project (ASP.NET樣板專案)”的簡稱。 ASP.NET Boilerplate是一個用最佳實踐和流行技術開發現代WEB應用程式的新起點,它旨在成為一個通用的
【微框架】之一:從零開始,輕鬆搞定SpringCloud微服務系列--開山篇(spring boot 小demo)
Spring頂級框架有眾多,那麼接下的篇幅,我將重點講解SpringCloud微框架的實現 Spring 頂級專案,包含眾多,我們重點學習一下,SpringCloud專案以及SpringBoot專案 ————————————————————main———————————————————— 一
深度學習開源框架系列:基礎演算法之傅立葉變換:1:概要介紹
傅立葉變換時數字訊號處理的重要方法之一,是法國數學家傅立葉在1807年在法國科學學會上發表的一篇文章中所提出的,在文章中使用了正弦函式描述溫度分佈,而且提出了一個著名的論斷:任何連續性的週期訊號都可以由一組適當的正弦曲線組合而成。而這個論斷被當時審查論文的著名數
Java學習筆記——淺談數據結構與Java集合框架(第一篇、List)
技術分享 emp 鏈表 adc 下標 -c nod nal integer 橫看成嶺側成峰,遠近高低各不同。不識廬山真面目,只緣身在此山中。 ——蘇軾 這一塊兒學的是雲裏霧裏,咱們先從簡單的入手。逐漸的撥開迷霧見太陽。本次先做List集合的三
值得推薦的android開發框架簡單介紹
ron 事件 能開 android 開發人員 服務端開發 kjpush 流量 htm 一些總結出來的Android高速開發框架,所有都是開源框架,附帶項目地址,是開發學習的絕佳資料。 Direct-Load-apk項目 項目主頁地址:http://www.kymjs
【SSH2框架(理論篇)】--SSH2 Vs 經典三層
ext 深入 acc 而在 穩定性 沒有 實體 框架 框架圖 這幾天一直在學習使用SSH2框架。對於框架本身的使用並非非常困難。相信經過多鍛煉就行熟練的掌握框架的使用,讓我匪夷所思的是在使用框架的時候感覺非常熟悉,好像在哪