總網頁瀏覽量

關於我自己

我的相片
人生的必修課是接受無常,人生的選修課是放下執著。

2016年6月30日 星期四

【Windows 7 64-bit】【 自動化測試】【Robot Framework】從範例WebDemo開始

Python 2.7.x下載頁面:https://www.python.org/downloads/
等一下會使用Chrome瀏覽器來測試,故先檢查Python2.7資料夾內是否有chromedriver.exe
For Chrome下載網址:http://chromedriver.storage.googleapis.com/index.html?path=2.22/


download robotframework 的範例WebDemo-20150901.zip

下載完成後解壓縮到D:


先架起Server

「以系統管理員身分執行」命令提示字元
>cd D:\WebDemo
>python demoapp/server.py


連到localhost:7272執行範例檔中的測試,並產出執行結果

再開一個命令提示字元
>cd D:\WebDemo
>robot login_tests
*若出現'robot' 不是內部或外部命令、可執行的程式或批次檔。則要
【Step 3】 Input “pip install robotframework"
【Step 4】 Input “pip install robotframework-selenium2library"
【Step 5】 input “pip install robotframework-ride"
【Step 6】 input “pip install robotframework-DatabaseLibrary"
【Step 7】 input “pip install pygments"
【Step 8】 input “pip install pymssql==2.1.1"
*若執行有false,執行PIL-1.1.7.win32-py2.7.exe(下載點:http://effbot.org/downloads/PIL-1.1.7.win32-py2.7.exe),而不是用
cd C:\Python34\Scripts
easy_install.exe pip
安裝pip

全部pass才是正確的
Output D:\WebDemo\output.xml
Log  D:\WebDemo\log.html

Report D:\WebDemo\report.html


--------------↑執行成功↑----------------
接下來開啟Robot Framework IDE,以了解這個範例檔案是怎麼撰寫的
由命令提示字元輸入ride.py
File > Open Directory

開啟D:\WebDemo\


每一個小機器人icon的項目,都是一個可以單獨run的test case
1. Login Tests > Gherkin Login > 打勾Valid Login
2. Click 「Run」標籤頁
3. Click 「Start」 button

執行完畫面像這樣

Click 「Text Edit」標籤頁檢視程式碼

Click 「Edit」標籤頁,在此可快速輸入API和Keyword,便能自動在「Text Edit」標籤頁生成程式碼

由於我們引用Selenium2Library,從↓可以查詢所有能拿來用的API
http://robotframework.org/Selenium2Library/doc/Selenium2Library.html#Introduction

試著新建一個Test Case
1. 「Login Tests」上按滑鼠右鍵
2. Click 「New Suite」

3. 輸入一個名字.EX:ETest

4. 「ETest」上按滑鼠右鍵
5. Click 「New Test Case」

6. 為此次Test Case命名

7. EX:想要用"Open Browser"這個API
http://robotframework.org/Selenium2Library/doc/Selenium2Library.html#Input%20Text找到所需參數

8. 回到RIDE輸入如下↓

9. EX:想要用"Input Text"這個API
http://robotframework.org/Selenium2Library/doc/Selenium2Library.html#Input%20Text找到所需參數

10. 開啟Chrome瀏覽器
11. 按F12開啟debug模式
12. locator就是Web上某個元件的id,auto run時才能識別對象是誰
   找出輸入框的id是lst-ib

13. 回到RIDE輸入如下↓
*"robot"是想要在list-ib元件輸入的字串

14. EX:想要用"Maximize Browser Window"這個API
http://robotframework.org/Selenium2Library/doc/Selenium2Library.html#Input%20Text找到所需參數(不用參數)
*將Browser最大化可避免執行auto run時,有些元件因沒在畫面中導致錯誤

15. 填入「Edit」標籤頁

16. 由於「Google 搜尋」沒有id,換一個方法
   滑鼠右鍵 > Copy > Copy XPath
   會得到→//*[@id="tsf"]/div[2]/div[3]/center/input[1]


17-A方法.  EX:想要用"Submit Form"這個API
http://robotframework.org/Selenium2Library/doc/Selenium2Library.html#Input%20Text找到所需參數

填入「Edit」標籤頁

17-B方法.
可以看到在lst-ib輸入"robot"時,會出現idv框列出模糊比對結果,就擋住了「Google 搜尋」按鈕

所以再分別使用
"Focus"←焦點轉移,關閉idv視窗
"Click Button"←才可以點到「Google 搜尋」按鈕




18. 「Text Edit」標籤頁會產生這些code


19. 打勾open brpwser
20. Click 「Run」標籤頁
21. Click 「Start」 button
20. 等著看執行結果囉




沒有留言:

張貼留言