Web Testing Automation :    Using Robot Framework with    Selenium2Library            中華電信           林國瑞、凌鉅泰             2...
Agenda研究動機與目的測試架構與流程測試環境安裝錄製測試個案 - Selenium IDERobot FrameworkSelenium2Library編寫測試個案 - RIDE測試個案撰寫與執行待辦工作事項Demo            ...
研究動機現有測試架構流程 以Firefox搭配Selenium IDE錄製Web測試動作 利用Selenium IDE匯出成JUnit測試個案 擴充JUnit測試個案   Data Generation (Ex: BAN, IDN)  ...
研究目的減少撰寫測試個案的複雜度與時間簡化自動化測試流程對測試人員來說,能單純化其測試環境                    4
測試架構與流程          5
測試環境安裝Prerequisites Python v2.7.3 Oracle Instant Client WebDriver    Internet Explorer WebDriver    Chrome WebDriverS...
錄製測試個案 – Selenium IDE為Firefox extension http://docs.seleniumhq.org/projects/ide/按下 Ctrl+Alt+S 即可呼叫IDE錄製網頁操作              ...
錄製測試個案 – Selenium IDE測試個案可匯出為多種程式語言格式 Ruby Python Java C#不支援匯出為Robot Framework腳本格式(Selenium2Library) 須自行撰寫擴充元件(JavaSc...
錄製測試個案 – Selenium IDE                        9
錄製測試個案 – Selenium IDE掛載Robot Framework格式匯出元件 點選[Options]  [Options]  [Formats]頁籤                                       ...
錄製測試個案 – Selenium IDE匯出的測試個案即可匯入RIDE做進一步的編輯擴充                           11
Robot FrameworkSponsored by Nokia Siemens Networks以Python實作而成Generic Keyword-driven Test Automation 測試腳本由相近於自然語言的Keywords...
Robot Framework擴充性佳 Standard Test Libraries    Builtin Library    Operating System Library    Telnet Library    Colle...
Robot Framework擴充性佳 External Test Libraries    Selenium2Library    DatabaseLibrary    SSHLibrary    其他 也可以Python或Jav...
Robot FrameworkRobot Framework簡介 Introduction Slides                             15
Selenium2LibraryWeb Testing Library for Robot Framework 底層利用Selenium 2 (WebDriver)實作出豐富的網頁操作Keywords Selenium2Library.ht...
編寫測試個案 - RIDE直觀的Robot Framework測試個案編輯器 相關網址優勢 Keyword Auto Completion View Keyword Documentation Validate Keyword Argu...
編寫測試個案 - RIDE                18
測試個案撰寫Test Suites Test Cases的集合並組成一個腳本檔案測試腳本檔主要組成區塊 Settings Variables User-defined Keywords Test Cases              ...
測試個案撰寫Settings 區塊關鍵字 Documentation – 文件說明 Library – Import Test Library Resource – Import Resource File Test Setup/Tea...
測試個案撰寫Settings區塊範例                  21
測試個案撰寫Variables 種類   Scalar Variable : ${variable_name}   List Variable : @{variable_name}   built-in : ${CURDIR}, ${T...
測試個案撰寫Keywords種類 Built-in Keywords Library Keywords User-defined KeywordsUser-defined Keywords區塊 由現有多個keywords再組出highe...
測試個案撰寫User-defined Keywords區塊範例                            24
測試個案撰寫Test Cases 每個Test Case由一連串Keyword Statements組成 Keyword Statement格式    [變數 + <分隔字元>] + keyword + <分隔字元> + 參數1 + <分...
測試個案撰寫Test Cases範例               Test Cases                            26
測試個案執行以Jenkins排程執行Regression Test直接在RIDE呼叫Robot Framework執行測試                               27
測試個案執行         28
測試個案執行Test Report(Summary) 範例Test Log(Detail) 範例                       29
待辦工作事項Refine Selenium IDE匯出Robot Framework格式的擴充元件定義適合FDC環境測試的Keywords 撰寫User Keywords 撰寫Test Library 先實作fdc-test-seleni...
DEMODEMO              31
Upcoming SlideShare
Loading in …5
×

Web testing automation

1,520 views

Published on

Web testing automation : Using Robot Framework with Selenium2Library

Published in: Education
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,520
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
51
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Web testing automation

  1. 1. Web Testing Automation : Using Robot Framework with Selenium2Library 中華電信 林國瑞、凌鉅泰 2013/3/1 1/7
  2. 2. Agenda研究動機與目的測試架構與流程測試環境安裝錄製測試個案 - Selenium IDERobot FrameworkSelenium2Library編寫測試個案 - RIDE測試個案撰寫與執行待辦工作事項Demo 2
  3. 3. 研究動機現有測試架構流程 以Firefox搭配Selenium IDE錄製Web測試動作 利用Selenium IDE匯出成JUnit測試個案 擴充JUnit測試個案 Data Generation (Ex: BAN, IDN) Database Access JavaScript Execution Assertion Extension 以Selenium WebDriver進行測試不足之處 撰寫測試個案需要一定程度的Programming Skill 測試個案不易閱讀 3
  4. 4. 研究目的減少撰寫測試個案的複雜度與時間簡化自動化測試流程對測試人員來說,能單純化其測試環境 4
  5. 5. 測試架構與流程 5
  6. 6. 測試環境安裝Prerequisites Python v2.7.3 Oracle Instant Client WebDriver  Internet Explorer WebDriver  Chrome WebDriverSelenium IDERobot Framework v2.7.6 Selenium2Library Database Library v0.5 Oracle DB API 2.0 Drivers (Oracle 11g, Python 2.7)RIDE v1.1 6
  7. 7. 錄製測試個案 – Selenium IDE為Firefox extension http://docs.seleniumhq.org/projects/ide/按下 Ctrl+Alt+S 即可呼叫IDE錄製網頁操作 7
  8. 8. 錄製測試個案 – Selenium IDE測試個案可匯出為多種程式語言格式 Ruby Python Java C#不支援匯出為Robot Framework腳本格式(Selenium2Library) 須自行撰寫擴充元件(JavaScript)掛載於IDE下 參考其他語言匯出元件(Ex: Ruby, Java) 目前已可為常用的網頁操作指令進行轉換匯出 8
  9. 9. 錄製測試個案 – Selenium IDE 9
  10. 10. 錄製測試個案 – Selenium IDE掛載Robot Framework格式匯出元件 點選[Options]  [Options]  [Formats]頁籤 10
  11. 11. 錄製測試個案 – Selenium IDE匯出的測試個案即可匯入RIDE做進一步的編輯擴充 11
  12. 12. Robot FrameworkSponsored by Nokia Siemens Networks以Python實作而成Generic Keyword-driven Test Automation 測試腳本由相近於自然語言的Keywords敘述組成,讓測 試人員於撰寫與解說測試個案上更輕鬆 可使用多種不同介面與軟體進行測試, Ex: user interfaces, command line, web services…測試腳本檔案格式具彈性 HTML Plain Text TSV(tab-separated values) 12
  13. 13. Robot Framework擴充性佳 Standard Test Libraries  Builtin Library  Operating System Library  Telnet Library  Collections Library  String Library  Dialogs Library  Screenshot Library  Remote Library  XML Library 13
  14. 14. Robot Framework擴充性佳 External Test Libraries  Selenium2Library  DatabaseLibrary  SSHLibrary  其他 也可以Python或Java(需Jython)撰寫自己的Test Library定義新的Keyword支援迴圈與條件判斷式語法支援以Tag為每個Test Case進行分類產生美觀的測試執行結果Report & Log 14
  15. 15. Robot FrameworkRobot Framework簡介 Introduction Slides 15
  16. 16. Selenium2LibraryWeb Testing Library for Robot Framework 底層利用Selenium 2 (WebDriver)實作出豐富的網頁操作Keywords Selenium2Library.html 16
  17. 17. 編寫測試個案 - RIDE直觀的Robot Framework測試個案編輯器 相關網址優勢 Keyword Auto Completion View Keyword Documentation Validate Keyword Arguments Search for Keywords 其他整合Robot Framework,因此可以直接執行測試方便檢視測試結果Report & Log 17
  18. 18. 編寫測試個案 - RIDE 18
  19. 19. 測試個案撰寫Test Suites Test Cases的集合並組成一個腳本檔案測試腳本檔主要組成區塊 Settings Variables User-defined Keywords Test Cases 19
  20. 20. 測試個案撰寫Settings 區塊關鍵字 Documentation – 文件說明 Library – Import Test Library Resource – Import Resource File Test Setup/Teardown – 每個test case執行前後動作 Suite Setup/Teardown – 整個腳本檔執行前後動作 Tags – 為Test Suites加上metadata,在執行與結果 Report上進行篩選與分類 Force Tags Default Tags 20
  21. 21. 測試個案撰寫Settings區塊範例 21
  22. 22. 測試個案撰寫Variables 種類 Scalar Variable : ${variable_name} List Variable : @{variable_name} built-in : ${CURDIR}, ${TEMPDIR}, ${/} … 22
  23. 23. 測試個案撰寫Keywords種類 Built-in Keywords Library Keywords User-defined KeywordsUser-defined Keywords區塊 由現有多個keywords再組出higher-level keyword 可定義參數 可定義回傳值 可包含FOR loops 具備高度重用性 抽象度變高,可讀性也變高 23
  24. 24. 測試個案撰寫User-defined Keywords區塊範例 24
  25. 25. 測試個案撰寫Test Cases 每個Test Case由一連串Keyword Statements組成 Keyword Statement格式  [變數 + <分隔字元>] + keyword + <分隔字元> + 參數1 + <分隔字 元> + 參數2 + …  分隔字元須為tab字元 or 一個以上空格  無傳回值:  Ex: Selenium2Library.Open Browser ${baseUrl}/pac/login  有傳回值:  Ex: ${path}= Get Environment Variable path 25
  26. 26. 測試個案撰寫Test Cases範例 Test Cases 26
  27. 27. 測試個案執行以Jenkins排程執行Regression Test直接在RIDE呼叫Robot Framework執行測試 27
  28. 28. 測試個案執行 28
  29. 29. 測試個案執行Test Report(Summary) 範例Test Log(Detail) 範例 29
  30. 30. 待辦工作事項Refine Selenium IDE匯出Robot Framework格式的擴充元件定義適合FDC環境測試的Keywords 撰寫User Keywords 撰寫Test Library 先實作fdc-test-selenium框架原本提供的功能 網頁操作 資料庫操作 資料產生器 Assertion 擴充與Jenkins整合的部分 30
  31. 31. DEMODEMO 31

×