Python自動化 作為代碼小白,我是這樣成為自動化大神的

前言

robotframework(簡稱robot)

robot是一款自動化測試的工具,能夠實現接口自動化測試、UI自動化測試。

它的主要特色就是:

1、由 關鍵字 驅動來完成測試用例

2、測試用例格式可以為txt/html等,非代碼的形式,支持中文哦

3、由python實現,開源。


這裡有2個重要的概念需要大家先掌握一下:

關鍵字、庫

簡單來說:

關鍵字是,已經實現的功能,可以直接拿來使用。

庫是:按功能領域,將關鍵字分門別類存放。

我們以商場的例子來做說明。請看以下2個圖:


Python自動化 作為代碼小白,我是這樣成為自動化大神的


Python自動化 作為代碼小白,我是這樣成為自動化大神的


在圖中,商城提供了5大功能領域(robot中的庫)。在每個功能領域當中,都有許多具體的功能(robot中的關鍵字)。


我們在逛商場(ps:帶著你的錢)時,是根據自己的需求去不同的功能庫當中,使用不同的功能。

那麼,圖中的每一個具體的功能(比如H&M),就是已經實現好了的,直接可以使用的功能,即Robot中的關鍵字

假設我現在進入此商城,我要做的事如下:

第一步:去護膚品區域(庫 ) 買 MAC口紅(使用某一功能)

第二步:去餐飲區域(庫) 吃 麼子烤肉(使用某一功能)

第三步:去休閒區域(庫) 電影院 看哪吒之魔童降世(使用某一功能)

我要做的事,可以認為是robot中一個測試用例,此用例分為三個步驟,每一個步驟都是使用某一現有的功能。


總結下來:

商場 == RobotFramework

餐飲/休閒/服務/護膚品/飾品 == 庫

費大廚/電影院/adidas/MAC == 關鍵字

所以,robotframework當中,有非常豐富的庫,並且每一個庫當中都有對應的關鍵字集。

robot測試用例 = 按業務需求組合 關鍵字

想對關鍵字和庫有更多專業的瞭解,請擢博客:https://www.cnblogs.com/Simple-Small/p/9641643.html


Robot環境搭建

1、python環境+robotframework第三方庫:

由於robotframework是python實現的,是一個python第三方庫,所以需要安裝python版本。

robotframework完美支持python2和python3。建議安裝python3.7+,編碼處理非常友好。

2、安裝編寫用例的工具

編寫robot用例的工具比較多,有ride、notepad++、sublime、eclipse等。。

無論用哪種工具,對於robot腳本而言,語法都是一樣的,可以在任意其它工具中打開。

使用ride的朋友們請注意:ride工具現在也支持python2和python3,但兼容性有待考察。

個人更傾向於使用eclipse,關鍵字展示、高亮、自動提示等體驗非常友好。

具體安裝和工具使用請擢博客:https://www.cnblogs.com/Simple-Small/p/9229397.html

Robot- 輕鬆實現自動化用例

以web自動化為示例,演示robotframework的用法。使用的用例編寫工具:eclipse+RED插件。

要實現的自動化web用例如下:

前置打開google瀏覽器,訪問:http://www.lemfix.com/步驟1、點擊右上角的登陸鏈接元素定位://a[text()="登錄"]2、輸入用戶名: XXXXX元素定位:id=user_login3、輸入密碼:123456789元素定位:id=user_password4、點擊登陸按鈕元素定位://input[@name="commit"]斷言登陸失敗,提示帳號或密碼錯誤。元素定位:id=navbar-user-menu


問題:robotframework如何實現web自動化?

答案:關鍵字!!

在robotframework當中,想做任何事情,首先想到的就是關鍵字。

找到web網頁操作的關鍵字,然後去使用它。

第一步:安裝SeleniumLibrary,具備web自動化操作的能力。

在robotframework當中,由SeleniumLibrary(非robot自帶,需要安裝)庫提供對網頁的操作關鍵字(功能)。

1) 安裝SeleniumLibrary:pip install --upgrade robotframework-seleniumlibrary


第二步:創建Robot工程,引入SeleniumLibrary庫。

1、創建robot工程:

在eclipse當中,File -> New -> Robot Project(沒顯示則要去Other選項中找)


Python自動化 作為代碼小白,我是這樣成為自動化大神的


2)創建robot測試用例:


Python自動化 作為代碼小白,我是這樣成為自動化大神的


Python自動化 作為代碼小白,我是這樣成為自動化大神的


3) 在robot工程中中導入SeleniumLibrary(導入了才有可以使用關鍵字)。

注意:庫名不能錯,大小寫敏感。

1)引入方式:在robot腳本中,settings區域當中,引入外部資源。腳本如下:

<code>*** Settings ***Library    SeleniumLibrary /<code>

2)引入時,庫名下會有紅色波浪線,如下圖所示,選中它,按Ctrl+1


Python自動化 作為代碼小白,我是這樣成為自動化大神的


3)按Ctrl +1 後,會有如下圖所示的提示,雙擊:


Python自動化 作為代碼小白,我是這樣成為自動化大神的


4)以上操作後,會自動打開robot工程的red.xml文件 ,保存文件即可。


Python自動化 作為代碼小白,我是這樣成為自動化大神的


5)保存成功之後,可在robot工程當中,看到第三方庫存在。具體效果如下圖所示:


Python自動化 作為代碼小白,我是這樣成為自動化大神的


第三步:利用SeleniumLibrary當中的關鍵字,完成web用例


Python自動化 作為代碼小白,我是這樣成為自動化大神的


總結

從上面的簡單示例當中,可以看到,使用現成的關鍵字,未用一行代碼,就實現了自動化的用例實現。

robotframework當中,只要掌握了關鍵字的用法,就是這樣輕鬆的做自動化測試!

當然,如果我們掌握了更多的測試思想和框架設計思想,可以更好的利用此工具完成自動化測試工作。


疑惑:那我還需要學代碼嗎?

既然robotframework這樣的工具就可以實現自動化測試,那是不是沒有必要學習代碼 ?

答案是否定的。

1、工具不是萬能的,始終都有侷限性。很多時候,它現有的功能,並不能夠完全適配我們的測試項目。

​ 工具解決不了的問題,我們需要對它做擴展或另行處理。還好,robot本身支持python/java語言對它做擴展。

2、如果只會用工具,工具的侷限性就是你的侷限性。掌握代碼,你可以做更多的事情。

​ 工作當中,除了寫用例之外,我們還要完成領導的各個小需求。比如自動收集數據?比如定製化的報告?

​ 同時,也需要各種小手段來提高測試效率。

3、未來,要開發能夠適應公司測試項目的 通用型的測試平臺呢??

所以,工具要會,代碼更要會。


分享到:


相關文章: