1.自動化分層:UI層實現界面自動化,Service層實現接口自動化,Unit層實現單元測試.
2.UI自動化測試常見的工具有:QTP,AutoIt,Selenium.Selenium是做Web測試最全面的工具支持瀏覽器全面,又模擬在瀏覽器中的操作.
3.單元測試全覆蓋,接口測試覆蓋大部分流程,界面自動化保證主流程即可
4.RF是通用的測試框架:采用表格語法易使用;可使用關鍵字驅動,數據驅動和行為驅動;可利用現有關鍵字組合新關鍵字;可用Python或Java擴展;
5.安裝Python27,Setuptools,RF,wxPython,RF-RIDE
6.New Project-->New Test Suite-->New Test Case
7.Report主要是概括性的報告,總體案例的執行情況.Log則是更為詳細的案例步驟報告.
8.Sava保存當前焦點所在文件,Save All保存全部
9.F5:Search Keywords
10.Library加載測試庫,默認Python\Lib\site-packages目錄下的文件;Resource加載資源,主要是工程相關的資源文件;Variables加載變量文件;Add Scalar定義變量;Add List定義列表型變量.
11.Suite Setup測試套件的初始化文件,Suite Teardown測試套件的收尾文件;Test Setup測試用例初始化,Test Teardown測試用例收尾
12.Project和Suite:二者都可建User Keyword, Scalar, List Variable.Project可建Suite, Directory, Resource;Suite可建Test Case
13.Suite前面多*表示有修改尚未保存
14.Project和最頂層的Test Suite是相通的,可是File也可是Directory.目錄型的Test Suite可包含File型的Test Suite或嵌套Directory型的Test Suite.但Test Case只能在File Test Suite下
15.通常Test Suite里添加Resource, Resource中添加Library
16.Import中的Library是紅色的說明導入失敗,黑色表示導入成功
17.RF內置庫在Python\Lib\site-packages\robot\libraries目錄中
18.Resource主要用來存放用戶關鍵字,Resource下添加User Keyword
19.External Resource主要指還在Project管轄范圍的Resource文件
20.變量:${Var}單個變量,@{listVar}List型變量,&{dictVar}是RF2.9的Dictionary變量
21.Set Global Variable:設定全局變量,該變量在所有的Test Suite和Test Case中都有效;Set Suite Variable:設定File Suite級變量,該變量只在當前的File Suite內有效;Set Test Variable:設定Case級變量,只在當前Case有效
22.環境變量的標識符為%, eg: log %{PATH},RF中只能使用環境變量,不能修改
23.特殊字符串常量:${/},${:},${EMPTY},,${False},${None},${null},${SPACE},${True}
24.RF中的變量都是字符串型的,字符串拼接不需要用+連接,abcd${var}efghabcdABCDefgh
25.創建Scalar變量:${var} Set Variable 'ABCD';創建List變量:@{listVar} Create List 1 2 3
26.Run Keyword If '${var}''ABCD' log 'HAHAHAHA'
27.變量支持索引和截取:${var[2]}或${var[0:2]}
28.Evaluate將后面的表達式放在python中運行
29.List型變量的獲取:@{listVar}[index]或${listVar[index]}
30.對象變量:假設${return}是Request庫中測試接口返回的對象,對象狀態就是${return.STATUS},對象內容就是${return.CONTENT}
31分支:
Run Keyword If con1 do action1
... ELSE IF con2 do action2(...是必須的)
... ELSE do actionN
32.RF標准庫:
Builtin,Collections(處理Python字典和列表), OperatingSystem(操作系統相關), String(字符串處理), XML, DateTime(日期時間轉換), Telnet, Process, Screenshot, Remote(遠程庫)
常用第三方庫:
Selenium2Library, HTTPLibrary, SSHLibrary, FTPLibrary, requestLibrary, DatabaseLibrary, cx_Oracle, PyMysql, JSONLibrary
log ${var}
log many @{listVar}