autoitv3点击windows界面

本文介绍两种处理Windows安全对话框的方法:一是通过AutoItV3编写脚本并生成可执行文件,利用Java调用;二是借助AutoItX4Java库直接在Java中实现交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在自动化测试过程中会遇到如下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包(需要FQ),用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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值