• robotframework踩坑7--使用AutoIt脚本实现自动上传


    1、将下面代码保存为 upload_file.html

    <html>
    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
        <title>upload_file</title>
        <link href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" />
    </head>
    <body>
        <div class="row-fluid">
            <div class="span6 well">
                <h3>upload_file</h3>
                <input type="file" name="file" />
            </div>
        </div>
    </body>
    <script>src="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.js"></script>
    </html>

    2、用浏览器打开后,应该是这样

    3、打开 SciTE Script Editor 脚本编辑器,编写脚本(上篇博客有介绍如何识别windows控件,AutoIt基础语法 !!)

    ;等待打开窗口出现 
    WinWaitActive("打开","",10)
    
    ;聚焦到需要上传的元素
    ;ControlFocus("[Class:#32770]", "", "Edit1")    ;安全的写法
    ControlFocus("打开", "","Edit1")
    
    ;上传文件
    ControlSetText("打开", "", "Edit1", "C:Userscai-xiaobaiDesktopupload_file.txt")
    Sleep(2000)
    
    ;点击打开按钮
    ControlClick("打开", "","Button1");

    4、使用 Compile Script to .exe 编译脚本

    5、将编译后的脚本放入robotframework中执行

    *** Settings ***
    Library           AutoItLibrary
    Library           SeleniumLibrary
    
    *** Test Cases ***
    demo1
        open browser    file:///C:/Users/cai-xiaobai/Desktop/uploadfile.html    gc  #gc指代谷歌
        Maximize Browser Window
        click element    xpath=//*[@name="file"]
        sleep    5
        Evaluate    os.system("d:\upfile.exe")    #执行 AutoIt 脚本
        close browser

    6、最后执行脚本就ok了~~~~

    喜时之言,多失信;怒时之言,多失体
  • 相关阅读:
    webAPI 控制器(Controller)太多怎么办?
    mysql Unknown error 1054
    .NET MVC项目设置包含Areas中的页面为默认启动页
    EF C# ToPagedList方法 The method 'Skip' is only supported for sorted input in LINQ to Entities. The method 'OrderBy' must ……
    控制台Main函数传参
    C#编码规范
    Linq扩展方法
    Linq操作ArrayList
    LINQ和文件目录
    LINQ To Objects
  • 原文地址:https://www.cnblogs.com/xiaohuboke/p/13494577.html
Copyright © 2020-2023  润新知