環境說明
- [x] win10
- [x] python版本:3.8.3rc1
安裝清單
軟件版本 | 安裝方法 | 說明 |
---|---|---|
python3.8 | 下載軟件包安裝 | 所有軟件的前提 |
pip命令 | 安裝python時默認安裝 | |
selenium-3.141.0 | pip install selenium | |
SeleniumLibrary-4.2.0 | pip install robotframework-seleniumlibrary==4.2.0 | |
robotframework | pip install robotframework | |
ride | pip install -U https://github.com/robotframework/RIDE/archive/master.zip | 這里安裝的是最新測試版本 |
robotframework-autoitlibrary | pip install robotframework-autoitlibrary | |
安裝配置
selenium安裝
首先檢查pip命令是否安裝:
C:\Users\name>pip
Usage:
pip <command> [options]
Commands:
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
show Show information about installed packages.
check Verify installed packages have compatible dependencies.
……
確保pip命令可用,如果提示“pip不是內部或外部命令”,需要將將pip的安裝目錄(如:C:\Python36\Scripts)添加到環境變量PATH下面。
接下來通過pip命令安裝Selenium:
C:\Users\name>pip install selenium
Collecting selenium
Downloading selenium-3.4.3-py2.py3-none-any.whl (931kB)
26% |████████ | 245kB 576kB/s eta 0:00:02
27% |█████████ | 256kB 570kB/s eta 0:00:02
28% |██████████ | 266kB 536kB/s eta 0:00:0
29% |███████████ | 276kB 530kB/s eta 0:00:0
30% |████████████ | 286kB 586kB/s eta 0:00:0
……
SeleniumLibrary安裝
版本說明
Project | Selenium Version | Python Version | Comment |
---|---|---|---|
SeleniumLibrary 2.9.2 and earlier | Selenium 1 and 2 | Python 2.5-2.7 | The original SeleniumLibrary using Selenium RC API. |
Selenium2Library 1.8.0 and earlier | Selenium 2 and 3 | Python 2.6-2.7 | Fork of SeleniumLibrary using Selenium WebDriver API. |
SeleniumLibrary 3.0 and 3.1 | Selenium 2 and 3 | Python 2.7 and 3.3+ | Selenium2Library renamed and with Python 3 support and new architecture. |
SeleniumLibrary 3.2 | Selenium 3 | Python 2.7 and 3.4+ | Drops Selenium 2 support. |
SeleniumLibrary 4.0 | Selenium 3 | Python 2.7 and 3.4+ | Plugin API and support for event friging webdriver. |
SeleniumLibrary 4.1 | Selenium 3 | Python 2.7 and 3.5+ | Drops Python 3.4 support. |
SeleniumLibrary 4.2 | Selenium 3 | Python 2.7 and 3.5+ | Supports only Selenium 3.141.0 or newer. |
SeleniumLibrary 4.4 | Selenium 3 and 4 | Python 2.7 and 3.6+ | New PythonLibCore and dropped Python 3.5 support. |
Selenium2Library 3.0 | Depends on SeleniumLibrary | Depends on SeleniumLibrary | Thin wrapper for SeleniumLibrary 3.0 to ease transition. |
根據python版本,這里安裝的是SeleniumLibrary 4.3,具體可以根據實際情況安裝。
安裝命令:
pip install robotframework-seleniumlibrary==4.2.0
robotframework安裝配置
直接使用pip命令進行安裝
pip install robotframework
ride安裝
這里安裝了最新的ride,安裝參考官網給出的最新方法進行安裝
pip install -U https://github.com/robotframework/RIDE/archive/master.zip
AutoitLibrary安裝
首先從官網下載autoit-v3-setup.exe根據提示安裝即可,然后進行robotframework-autoitlibrary 1.2.5的安裝,仍舊使用pip命令操作,如下
pip install robotframework-autoitlibrary
安裝過程如下:
C:\Windows\system32>pip install robotframework-autoitlibrary
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting robotframework-autoitlibrary
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c4/4f/7d4d4c6232b7bb4f5c78fee4e46691087adc7b248ffed71cc3dafcc0a507/robotframework-autoitlibrary-1.2.5.tar.gz (696 kB)
|████████████████████████████████| 696 kB 930 kB/s
Requirement already satisfied: pywin32 in c:\users\admin\appdata\local\programs\python\python38\lib\site-packages (from robotframework-autoitlibrary) (227)
Requirement already satisfied: pillow in c:\users\admin\appdata\local\programs\python\python38\lib\site-packages (from robotframework-autoitlibrary) (7.1.2)
Using legacy setup.py install for robotframework-autoitlibrary, since package 'wheel' is not installed.
Installing collected packages: robotframework-autoitlibrary
Running setup.py install for robotframework-autoitlibrary ... done
Successfully installed robotframework-autoitlibrary-1.2.5
安裝完成之后,可以查看一下本機安裝的軟件信息,如下
C:\Windows\system32>pip list
Package Version
------------------------------ -----------
numpy 1.18.4
Pillow 7.1.2
pip 20.1.1
Pygments 2.6.1
Pypubsub 4.0.3
pywin32 227
robotframework 3.2.1
robotframework-autoitlibrary 1.2.5
robotframework-ride 2.0b1.dev1
robotframework-seleniumlibrary 4.2.0
selenium 3.141.0
setuptools 46.4.0
six 1.14.0
urllib3 1.25.9
wxPython 4.0.7.post2
C:\Windows\system32>
安裝autoit主要是為了進行文件上傳的操作。
Autoit使用
安裝完成Autoit之后,這里主要使用的是AutoItWindow Info(x64)、SciTE Script(x64)和Compile Script to .exe(x64)這三個工具。(因為本機是64位的,所有這里使用的都是64位)
首先打開AutoItWindow Info(x64),點擊"Finder Tool"拖拽到上傳文件選擇頁面,如圖
可以看到AotuIt顯示的信息,接下來就是使用SciTE Script(x64)進行編碼操作,具體代碼如下
$path = "C:\Users\admin\Postman\files\發票模塊說明文檔.doc"
ControlFocus("打開","","Edit1")
WinWait("[CLASS:#32770]","",10)
ControlSetText("打開","","Edit1",$path)
sleep(2000)
ControlClick("打開","","Button1")
保存為au3的格式,然后再次使用Compile Script to .exe轉換為exe格式。接下來就是robotframework中使用run關鍵字操作。
Allure報告集成jenkins
在編寫robotframework腳本進行運行,可以集成到jenkins進行運行測試;使用jenkins運行生成比較完整的報告信息。有兩種生成報告的方法,一種是使用robotframework自帶的報告集成到jenkins查看報告信息,還有一種是使用allure生成的報告界面相對漂亮很多。
Robot Framework Plugin插件
使用Robot Framework Plugin插件來生成robotframework報告,首先需要在jenkins中安裝這個查看,然后在項目中配置使用:如圖
說明:
Thresholds for build result 這里根據測試用例執行的實際情況設置范圍
Allure插件
另外一種是使用allure插件生成報告,首先安裝allure插件,然后在項目中修改配置信息。
Allure庫安裝
pip install allure-robotframework
jenkins插件安裝和配置
安裝allure插件這里就不在說明,有疑問可以百度;接下來是Global Tool Configuration,如圖
然后就是具體的項目配置信息,可以按照下面的操作一步步來進行:
第一步:設置自定義工作空間
這里因為jenkins的安裝目錄和本機運行的test測試用例目錄不是同一個,所以針對項目設置自定義工作項目空間,如圖
第二步:修改構建命令
c:
cd C:\Users\admin\AppData\Local\Programs\Python\Python38\Scripts
call robot --listener allure_robotframework;%WORKSPACE%\allure-results E:\Robot_Workspace\rcm_beta\
exit 0
說明
- C:\Users\admin\AppData\Local\Programs\Python\Python38\Scripts是python的安裝目錄
- %WORKSPACE%默認取的是jenkins的工作路徑,這里自定義設置的是項目的工作目錄,即上圖中設置的E:\Robot_Workspace
- robot --listener allure_robotframework,是RF和allure結合的固定命令,用戶生成符合allure格式的日志文件。(網上很多都是pytest框架對應的命令,此處已經不要搞錯,否則后面生成不了報告)
- %WORKSPACE%\allure-results,指定的allure格式的日志文件的存儲路徑
- E:\Robot_Workspace\rcm_beta\是要執行的測試用例的路徑
第三步:構建后allure報告
選擇"Allure Report",在path路徑中設置存放allure相關日志文件的路徑,此路徑必須是“構建”命令中%WORKSPACE%后面的路徑值,這里是allure-results ,如圖
引用:https://www.jianshu.com/p/a0b58f02f4b5
這里有幾個點必須注意,不然生成的報告顯示的數據為空:
- 如果項目test的工作路徑和jenkins的工作路徑不一致,則必須在jenkins中自定義工作空間(或者把項目復制到jenkins的工作空間也是可行的~)
- 想要生成符合allure格式的報告,使用的命令
robot --listener allure_robotframework
- 需要指定allure報告路徑,即
%WORKSPACE%\allure-results
配置完成之后,點擊"立即構建",構建完成可以看到報告如下圖所示
安裝問題
日志亂碼
安裝完成后,第一次運行ride時,使用cmd正常顯示中文,使用RIDE執行用例時控制台和日志均亂碼:
具體解決:Lib\site-packages\robotide\contrib\testrunner[testrunnerplugin.py](http://testrunnerplugin.py/)
將SYSTEM改成OUTPUT
jenkins運行提示不是內部或外部命令
集成到jenkins執行robotframework時,提示pybot不是內部或外部命令
執行的命令:
call pybot.bat -d E:\outputdir E:\Robot_Workspace\rcm_beta
exit 0
第一步:首先在jenkins系統配置-全局屬性中添加pybot命令的環境變量,如圖
鍵:pybot
值:C:\Users\admin\AppData\Local\Programs\Python\Python38\Scripts
配置本地安裝的python的安裝路徑。
第二步:需要切換要執行的命令到安裝python的路徑中,修改如下:
c:
cd C:\Users\admin\AppData\Local\Programs\Python\Python38\Scripts
call pybot.bat -d E:\outputdir E:\Robot_Workspace\rcm_beta
exit 0
再次運行就正常了。