????? 在進行web測試過程中,如果遇到選擇本地上傳文件的類似操作,該如何進行自動化呢?Selenium2Library里面提供的關鍵字主要是針對web瀏覽器中的元素進行操作,但是像本地上傳這種win32的應用窗口,是不支持的。的
????? 我們今天就介紹一下支持win32應用的AutoitLibrary。
10.1 ? 安裝Autoit
autoit下載地址:https://www.autoitscript.com/site/autoit/downloads/,版本最新是1.1
下載頁面提供了下載安裝文件和zip文件。
10.2? 使用Autoit
進入安裝目錄,雙擊Au3Info.exe或者Au3Info_x64.exe文件,看字面意思后者應該是支持64位的
使用Autoit可以獲取到win32應用程序各個控件的title、class等屬性,給后續(xù)寫自動化用例使用。
10.3 下載AutoitLibrary
autoitlibrary下載地址(官網):http://www.softpedia.com/get/Programming/Components-Libraries/AutoItLibrary.shtml
autoitlibrary下載后解壓到某個文件夾,然后用管理員身份執(zhí)行命令行。我是放在D:\Python38\AutoItLibrary-1.1這個路徑下。
【關于autoitlibrary安裝后無法使用的問題,可以見 手把手教你學robotframework自動化框架(出坑秘籍,問題匯總) 這篇文章里面的問題9和問題10,有詳細的說明,此處不再介紹】
這里關于AutoitLibrary的安裝和使用還是需要再強調幾點:
1、一定要用管理員身份安裝;
2、如果不能使用、或者卸載重裝,都要進行注冊和反注冊;
3、如果是python3,一定要修改autoitlibray里面文件的源碼,因為python2和python3的語法有很多不同。不用精通python,百度+對比修改即可。
10.4? 使用AutoitLibrary
在ride中引用包,下面的例子是在suite級別引用,這樣用例里面都可以使用該包里面的關鍵字。
在資源文件里面引用也是可以的,這樣suite引用資源文件即可。
按下F5,看下可用的關鍵字(本人寫到這里的時候,發(fā)現AutoItLibrary里面的關鍵字又莫名其妙少了很多,于是按照 出坑秘籍,問題匯總篇幅里面的內容又重新安裝、注冊、反注冊,又好了,實在不知道原因)
我們用一個如下的上傳文件功能作為例子
點擊上傳文件后,我們希望選擇到一個我們提前準備好的文件。那么我們只需要把文件名這個地方寫入文件的路徑即可,然后點擊打開。
具體步驟實現如下圖。
我們看下control set text的語法
strTitle就是我們上面用Autoit工具獲取控件的title,strControl就是control-》classnameNN。strControlText就是我們想設置的值。
strText可以先不管。我們有了上面3個數據,就可以對控件元素進行設置值了。
然后第二行的control click就不用介紹了吧。點擊打開按鈕。
10.5? 熱鍵使用
用AutoItLibrary,我們還可以向計算機發(fā)送鍵盤的指令。使用到的是send指令。
具體可以參考此文:https://www.cnblogs.com/tinghai8/p/5839050.html 。
今天到這里把!