引言:什么是RFS——RobotFramework+Selenium2library,本系列主要介紹web自動化驗收測試方面。
之前一直使用Selenium2Library的0.5.2版本,現在官方推出了1.0.0版本,本人在升級過程中遇到了很多的問題,于是痛下決心要搞定他,終于搞了幾天摸清楚了根本問題,解決了升級后無法加載的問題。
補充一個問題:1.0.0版本的select window在處理模態對話框的時候無法起作用。。。
解決辦法(感謝FIGESZ和吳穹博士的指導):
修改webdrivermonkeypatches.py文件中的:
[python] view plaincopyprint?
#atts = self.execute_script("return [ window.id, window.name, document.title, document.location ];")
atts = self.execute_script("return [ window.id, window.name, document.title, document.url ];")
#atts = self.execute_script("return [ window.id, window.name, document.title, document.location ];")
atts = self.execute_script("return [ window.id, window.name, document.title, document.url ];")
吳博對此的解讀是S2L1.0.0是基于FF的,在IE的處理上這里就算一個bug了。所以其實吳博在給我們的0.5.2版本里也做了同樣的修改的。
我這里先給出解決方案吧,有興趣的同志們可以看看另一篇的解決過程。
==解決方案==
1、針對已經安裝0.5.2版本的朋友,把python27\Lib\site-packages目錄下的Selenium2Library目錄刪除,然后繼續第2步。如果沒有安裝過,請從第2步開始。
(其實不刪除應該也是可以的,因為1.0.0用了easy_install)
2、到官網上下載1.0.0版本的源碼包,地址:https://github.com/rtomac/robotframework-selenium2library
注意下載的時候選擇ZIP下載,不要去下Download里面的,那里面都是坑爹的
。。。
另外,注意到ZIP左下方的branch了么?這個是master,他的主分支,如果你需要iframe支持的話,建議選擇branch下面的iframe分支,選擇之后也是點ZIP來下載。
總之就是下面這2個文件了,選擇你想安裝的進行解壓縮。(區別就是master的對iframe不支持,只支持frame,當然,你也可以自己來修改成支持的,或者使用iframe分支)
3、接下來是一個特殊選擇:
如果你的電腦可以正常連接外網——我指的是這些python和selenium的官方網站——那你完成這步就可以了
。如果是公司局域網無法訪問外網,那么就請跳過此步,直接看第4步了
。如果你不確定是否能聯網,那么在執行install有報錯說無法獲取url的那就是你沒法訪問了,也請看第4步。
把你需要的那個版本的ZIP文件解壓縮后,到命令行進入解壓的目錄,執行python setup.py install即可。他會聯網下載缺少的內容。
首先會下載setuptools-0.6c11-py2.7.egg,他是后面一切安裝的基礎。
setuptools安裝成功之后會下載4個依賴庫,在src目錄下的egg.info目錄里,有一個requires.txt里面有如下內容
[plain] view plaincopyprint?
decorator >= 3.3.2
selenium >= 2.8.1
robotframework == 2.6.3——注:因為我本機已經安裝RF,所以他不再下載
docutils >= 0.8.1
decorator >= 3.3.2
selenium >= 2.8.1
robotframework == 2.6.3——注:因為我本機已經安裝RF,所以他不再下載
docutils >= 0.8.1
他會自動匹配最合適的版本進行下載,最終完成后,你可以在python27\Lib\site-packages目錄下找到相關的目錄,都是.egg結尾的目錄。
除此以外還安裝了一些小的文件,我會在解決過程篇列出。
如果安裝完成后在RIDE中加載Selenium2Library后按F5還是沒看到他被加載進來的話,請看第5步。
4、針對公司局域網無法從外網下載文件的方法。
其實很簡單的,把那些egg文件和目錄在家里下載下來,拷貝或者發到公司里吧。
如果你的公司局域網又不能訪問外網,又不能從外面拷貝或者發送文件進來,那么我只能說悲催的孩子
,我也沒辦法處理這個純斷網環境了。
如果有條件的可以在自己家里把上面的4個文件,都是egg結尾的文件和目錄拷貝過去(圖中Selenium的不用拷貝,pth的不用拷貝),這里老道長也提供一個已經打好壓縮包的,和我說的4個是一致的:
Selenium2Library1.0.0必備離線升級包 http://download.csdn.net/download/tulituqi/4331624
下載下來之后,將里面的所有.egg(文件和目錄)都放入你解壓縮的Selenium2Library1.0.0的源碼目錄內,和setup.py同一級即可。
原文轉自:http://www.anti-gravitydesign.com