autoitv3點擊windows界面


在自動化測試過程中會遇到如下windows安全認證,需要輸入賬號和密碼,這個認證對話框不屬於element元素。無法用selenium操作,需要用autoitv3操作,輸入賬號密碼后,再進行web元素操作。

 

 

有2中方式:

第一種:編寫autoitv3腳本,生成autoitv3 可執行程序,再用java調用可執行程序

autoitv3下載地址

https://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-setup.exe

使用這個編輯器編寫一個腳本,再用腳本生成一個可執行exe文件,這樣在需要輸入賬號和密碼的時候,使用java調用可執行exe。就可以實現輸入賬號和密碼的功能了

 第二種:下載autoitx4java.jar包(需要翻牆),用java程序調用jar包,實現輸入輸入和點擊等操作,jar包下載地址:

https://code.google.com/archive/p/autoitx4java/downloads

同時也需要下載工具JACOB Java COM bridge:

http://sourceforge.net/projects/jacob-project/

JACOB 包包括3個文件:jacob.jar,jacob-1.18-x64.dll,jacob-1.18-x86.dll

也要下載安裝https://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-setup.exe

 

java包和dll文件放置位置

 

 

 

package auto.test;
import java.io.File;
import com.jacob.com.LibraryLoader;
import autoitx4java.AutoItX;
public class AutoITUtil {
    static File file = null;
    public AutoITUtil() {
        // TODO Auto-generated constructor stub
    }
    /**
     * 獲取java虛擬機32位或64位
     * @return
     */
    public     static String getOSVersion(){
          return System.getProperty("sun.arch.data.model");
    }
    public static void setJacobDllFile(){
        String jacobDllVersion = null;
        if (getOSVersion().contains("32")){
            jacobDllVersion = "jacob-1.18-x86.dll";
        }
        else {
            jacobDllVersion = "jacob-1.18-x64.dll";
        }
        file = new File("lib", jacobDllVersion);
        System.setProperty(LibraryLoader.JACOB_DLL_PATH, file.getAbsolutePath());
    }
  //處理window安全對話框 提供參數 tiltle 賬號,密碼
public static void inputWinSecure(String title,String userName,String pwd) throws InterruptedException{ setJacobDllFile(); AutoItX x = new AutoItX(); Thread.sleep(1000); x.ControlSetText(title,"","Edit1",userName); Thread.sleep(1000); x.ControlSetText(title,"","Edit2",pwd); Thread.sleep(1000); x.controlClick(title,"","Button2"); } }


 

 這個window安全對話框的處理,就通調用如下語句來處理:

AutoITUtil.inputWinSecure("Windows 安全", "root", "root");

 

參考:https://www.joecolantonio.com/2014/07/02/selenium-autoit-how-to-automate-non-browser-based-functionality/


免責聲明!

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



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