robotframework-autoitlibrary離線安裝


由於AutoItLibrary需要依賴pywin32庫。所以要使用AutoItLibrary必須要先安裝好pywin32

1、pywin32下載地址安裝:http://sourceforge.net/projects/pywin32/files/pywin32/

AutoItLibrary下載地址:http://code.google.com/p/robotframework-autoitlibrary/(注意:如果使用命令安裝導包不成功就直接下載並去到對應setup.py目錄執行python setup.py install進行安裝 )
2、64位的機器:除了安裝上面2個之外,還不得不再安裝一個AutoItV3(最新的官網下載地址:http://www.autoitscript.com/site/autoit-news/autoit-v3-3-10-0-released/ ,如果以后有更新請從官網首頁自行下載)。一般情況下裝完這個就能用了。

 
今天需要在win7 64位系統下安裝autoitlibrary庫,起初安裝好了robotframework框架,導入selenium2lib也沒有問題,之后開始安裝autoitlibrary庫。
從下載地址:http://download.csdn.net/detail/liuheng123456/6236097 中下載AutoItLibrary-1.1_x64的安裝壓縮包。
解壓壓縮包后,在dos命令下,進入到解壓的AutoItLibrary目錄,如:把 AutoItLibrary-1.1_x64解壓到E盤下,就執行cd E:\AutoItLibrary-1.1_x64。
執行python setup.py install 安裝AutoItLibrary到python27的lib庫下面。
利用robotframework導入AutoItLibrary庫,始終展現為錯誤信息,無法正常導入。
上網查詢資料發現,win7系統下仍舊需要安裝autoit程序,robotframework才能正常導入AutoItLibrary庫。
查找autoit下載地址:
https://www.autoitscript.com/site/autoit/downloads/
下載auto_it_3.3.12.exe最新版本安裝。
 
安裝完成后仍舊不能正常導入AutoItLibrary庫,郁悶中,再次查找資料,發現需要重新注冊一下autoit的AutoItX3.dll文件才行。
利用cmd進入AutoItX3.dll文件所在路徑,運行系統注銷和系統注冊命令:
c:\Python27\Lib\site-packages\AutoItLibrary\lib>regsvr32 /u AutoItX3.dll
c:\Python27\Lib\site-packages\AutoItLibrary\lib>regsvr32 /s AutoItX3.dll
 
運行成功后,重新利用robotframework導入AutoItLibrary庫,成功導入。

在安裝 AutoItLibrary 用於Robot Framework 時遇到過幾個問題,記錄一下解決方法。

前提:必須使用管理員權限運行cmd。

一、報錯信息

這其中有兩個錯誤要解決:

第一個報錯

Don't think we need to unregister the old one...

這是因為檢測到:在python的目錄下已有該 lib

解決方法:
如我的目錄是D:\Program Files (x86)\Python27\Lib\site-packages\AutoItLibrary,那就需要把這個目錄下的文件清空。

第二個報錯

Traceback (most recent call last):
File "setup.py", line 70, in <module>
subprocess.check_call(cmd, shell=True)
File "D:\Program Files (x86)\Python27\lib\subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '%SYSTEMROOT%\system32\regsvr32.exe /S D:\Program Files (x86)
\Python27\Lib\site-packages\AutoItLibrary\lib\AutoItX3.dll' returned non-zero exit status 3

關於subprocess.check_call這個函數看了下這篇文章:
https://blog.csdn.net/liushuibufuqin/article/details/78892831

解決方法(忘了當時在哪里查到的了,方法可行,但是未必科學):

1、到下載下來的AutoItLibrary-1.1文件夾下,打開setup.py文件;
2、注釋掉第70行(行數可能有偏差)的subprocess.check_call(cmd, shell=True);
3、注釋掉第81行(行數可能有偏差)的subprocess.check_call(cmd)

二、終極原因

以上問題解決后,AutoItLibray 總算安裝成功,但是卻又發現了更詭異的事情:

安裝的庫並不完整!!!

在Robot Framework 中導入AutoItLibray 准備使用了,卻發現使用 click button 之類的關鍵字不生效(顏色都沒標識)。於是,使用 F5 查看關鍵字,確實不完整,有 open 、close 之類的關鍵字,卻沒有 click 等等。

檢查了:
1、AutoItLibray 確實已導入成功,重新導了N次都還是原狀;
2、pywin32 與 python 版本確實是對應的,當時安裝,都選擇了32位,AutoIt 選擇的也是x86版本;

反復查找相關文檔,仍無果,所以只能決定重新安裝,而且選擇64位的python(電腦本就是64位,只是當時怕 python 版本與 pywin32 不兼容才選擇安裝32位的 python)。另外,忘了在哪處看到安裝目錄不要有空格,聯想到當時 python 安裝在Program Files (x86)目錄下,可能也有這個原因,所以在重裝 python 時選擇了沒有空格的目錄。重裝后,以上兩個問題好像並沒有再出現(不太記得了),AutoItLibray 也終於能正常使用。

所以以上發現的問題很有可能都是 python 的安裝本就不正確而導致。因此,要一定注意 python 的版本與安裝目錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM