zoukankan      html  css  js  c++  java
  • autoit3学习笔记

    一.autoit下载地址:

    http://www.autoitx.com/thread-12964-1-1.html?sid=4zMMSb

    二.默认安装

    三.使用:

    1.在autoit的安装目录下有个Au3Info.exe文件,该文件可以查看windows控件的信息,包括控件ID,类别名,高级模式,控件点击坐标等

       用途是在操作控件函数的参数查询,如:ControlClick ( "标题", "文本", 控件ID [, 按钮 [, 点击次数 [, X坐标 [, Y坐标 ]]]] ),这里面就需要用到Au3Info.exe去查询

    2.结合watir进行使用时需注意的地方

    require 'win32ole'
    require 'watir/windowhelper'
    require 'watir'   
    @autoit = WIN32OLE.new("AutoItX3.Control")
    @ie =   Watir::IE.new
    @ie.goto("D:\\test.html")
    @ie.maximize()
    @ie.file_field(:type,'file').click_no_wait
    sleep(3)
    @autoit.WinWaitActive("选择文件",'')
    @autoit.ControlClick("选择文件",'','ToolbarWindow322',50,180)
    sleep(1)
    @autoit.ControlClick("选择文件",'','Button3')
    sleep(1s)
    @ie.close

    1)在@ie.file_field(:type,'file').click_no_wait这里用到了click_no_wait而没有用click,是因为click之后,就会被挡在那里,你后面的auto..根本就没有执行。

    2)而在下面接着sleep(3)是很有必要的,因为click_no_wait执行速度很快,后面的autoit更快。如果不sleep,你窗口还没有弹出来前,autoit已经执行完了,所以才要加一个sleep。

    3)ControlClick这个函数中,前三个参数是必需的,后面的参数是可选的,其中第三个参数即可以控件ID,也可以是类别名

    4)如果文件运行之后报错:uninitialized constant Autoit (NameError)
      这个是因为你安装的watir时,AutoItX3.dll没装好,需要手工注册下的,
        先看下下面目录下文件是否存在,c:\ruby\lib\ruby\gems\1.8\gems\watir-1.6.2\lib\watir\AutoItX3.dll
        存在的话,再在windows运行输入框中运行下面的命令进行手工注册,试下看:
        regsvr32.exe c:\ruby\lib\ruby\gems\1.8\gems\watir-1.6.2\lib\watir\AutoItX3.dll

    附加上test.html的代码

    <html>
      <head>
        <title>watir处理对话框</title>
         <script language= "javascript" type="text/javascript">
                function clickbutton(flag)
                {
                    if (flag == 1) alert("测试alter对话框");
                    if (flag == 2) prompt("测试prompt对话框");
                    if (flag == 3) confirm('测试confirm对话框', '测试confirm对话框?',"测试结果:"); 
                }
            </script>
        </head>
        
        <body>
            <center>
            <H1>watir处理对话框<H1>
            <hr>
            
            <table border ="2">
                <tr>
                    <th bgcolor = "#aaaaaa">测试内容</th>
                    <th bgcolor = "#aaaaaa">操作</th>
                </tr>
            
                <tr>
                    <td>文件上传</td>
                    <td><input type="file" name="attach[]" /></td>
                </tr>
                
                <tr>
                    <td>alter对话框</td>
                    <td> 
                        <input type="button" name="alterbutton" value="测试alter对话框"  onclick = "clickbutton(1);" />
                    </td>
                </tr>
                
                <tr>
                    <td>prompt对话框</td>
                    <td> 
                        <input type="button" name="promptbutton" value="测试prompt对话框"  onclick = "clickbutton(2);" />
                    </td>
                </tr>
                
                <tr>
                    <td>confirm对话框</td>
                    <td> 
                        <input type="button" name="confirmbutton" value="测试confirm对话框"  onclick = "clickbutton(3);" />
                    </td>
                </tr>
                
                </table>
            </center>
        </body>
    </html>
    
  • 相关阅读:
    linux下常见的网络相关参数简介
    nginx编译安装
    mysql主从同步报错Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
    mysql报错Do you already have another mysqld server running on socket
    php编译安装
    APP测试の: MonKeyRunner___录制与回放
    Python生成指定容量文本文档
    django 误人子弟快速上手
    curl 使用方法
    APP 自动化框架实现结构图
  • 原文地址:https://www.cnblogs.com/zhangfei/p/1787203.html
Copyright © 2011-2022 走看看