最近我們將RobotFramework升級至4.1.2,因為Jython的關係這個是目前可以使用Java執行的最後版本。
我們目前Selenium相關的Libraries版本如下:
- Selenium2Library - 3.0.0 (Latest, https://github.com/robotframework/Selenium2Library)
- SeleniumLibrary - 3.0.0 (https://github.com/robotframework/SeleniumLibrary/releases)
- Selenium - 3.8.0
其中Selenium2Library已經沒在維護,也是最後一個版本,它所做的事情僅僅是把keyword forward給SeleniumLibrary。所以升級重點在SeleniumLibrary與Selenium。
而要升級這些Libraries,最重要的就是要知道它們彼此之間的相依,還有python版本的支援度。在我查詢套件的release note之後,因為4.1.2版本的jython只能支援到python 2.7.x,所以能升級的版本就有限制。其中SeleniumLibrary的情況如下:
- SeleniumLibrary 5.0.0 - 不支援Python 2 and Jython
- SeleniumLibrary 4.5.0 - Python 2.7 and Selenium 3.141.0+
- SeleniumLibrary 3.3.1 - Python 2.7 and Selenium 3.4+
所以搭配了Selenium後,以下為我的第一個升級計畫:
- Selenium - 3.141.0
- SeleniumLibrary - 3.3.。主要想確定是否會有deprecated items產生。
升級方式就是把以上原始碼丟到Lib底下,執行robot測試的時候會透過jython重新編譯。在我執行後,出現了urllib3找不到的問題:
我想可能是原本的套件中有包含urllib3,因此我到urllib3的package網站查了release note,找了可以匹配python 2.7的版本:
- urllib3 - 1.26.20 (https://pypi.org/project/urllib3/1.26.20/)
留言
張貼留言