Robot Framweork之UI自动化测试---AutoItLibrary封装上传文件

news2024/11/18 13:56:20

在实现UI自动化的过程中,遇到了文件上传的场景,涉及到Windows系统窗口,这就需要用到AutoItLibrary库。

一、文件上传流程

1、点击上传

2、输入文件路径,点击确定

二、上传功能自动化脚本

一)点击上传

直接使用click element关键字即可。

二)输入文件路径

使用AutoIt的相关关键字,可实现上传文件窗口的操作。

1、Win Active

将操作焦点转移到打开文件窗口

2、Control Focus

将光标聚焦到文本路径输入框

3、Control Set Text

在打开的编辑框Edit1中,输入要上传的文件路径

4、Control Focus

将光标聚焦到打开按钮

5、send {enter}

点击打开按钮

三、AutoIt v3

一)AutoIt v3简介

AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,它被设计用来在 Windows GUI(用户界面)中进行自动操作。通过它可以组合使用模拟键击、鼠标移动和窗口/控件操作等来实现自 动化任务,而这是其它语言所无法做到或尚无可靠方法实现的(比如 VBScript 和 SendKeys)。

AutoIt 可以干的事情:

1、运行Windows和DOS下的可执行文件

2、模拟键盘按键动作,支持大多数键盘布局

3、模拟鼠标移动和点击动作

4、对窗口进行移动、调整大小和其他操作

5、与窗口的控件进行交互,如设置/获取文本、移动、关闭等操作

6、使用剪贴板进行剪切/粘贴文本操作

7、对注册表进行操作

二)识别控件

1、打开AutoIt Windows Info 工具

在AutoIt v3解压所在目录,双击Au3Info.exe文件,打开工具

2、鼠标点击 Finder Tool,鼠标将变成一个小风扇形状的图标, 按住鼠标左键拖动到需要识别的控件上

3、可以获取到以下信息

Title:打开

Text:

Classname NN:Edit1

对应脚本参数:

这样,Web端上传文件的脚本就完成了。

我是程序员馨馨,全网ID唯一,转载请注明出处。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/826604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day49-Springboot

Springboot 1. Springboot简介 1.1 简介:Springboot来简化Spring应用开发的一个框架,约定大于配置 1.2 优点: 可以快速的构建独立运行的Spring项目; 框架内有Servlet容器,无需依赖外部,所以不需要达成w…

如果你也能认识并使用这个低代码平台,那真的是泰酷辣——iVX低代码平台

低代码技术起源是比较悠久的了,尤其是在近些年,随着技术的演进,低代码平台逐渐成为热门趋势。这些平台通过简化应用程序开发流程,减少手动编码,使非专业开发人员也能快速构建复杂应用。为我们的敏捷开发和高效生产贡献…

陪诊小程序开发:让就医更便捷、贴心的选择

随着人们生活节奏的加快和社会压力的增大,很多人在面临就医时会感到焦虑和困惑。而陪诊小程序的开发则为用户提供了贴心的陪诊服务。本文将介绍陪诊小程序开发的功能,让您了解为什么选择陪诊小程序。   1. 预约就医   陪诊小程序的开发使得用户可以随…

C++ 多文件结构和编译预处理命令

1. C程序的一般组织结构 C源程序的结构基本上都是由3个部分构成:类的定义、类的成员的实现和主函数。因为所编写的程序比较小,所以这三个部分都写在了同一个文件当中。在规模比较大的项目中,往往需要多个源程序文件,每个源程序文…

VisualStudioWindows下 远程调试

前置条件 1、调试方与被调试方,以下简称调试方为A,被调试方为B。A与B双方能相互ping通 2、B需要运行RemoteDebugger服务,该程序位于C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Remote Debugger下。 我这里是安装…

创建邮件服务器(小微企业)

这里写自定义目录标题 目的硬件选型:软件选型:coremail (商业版本)postfixumail免费开源版本新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适…

在浏览器输入 URL 回车之后发生了什么?

注意:本文的步骤是建立在,请求的是一个简单的 HTTP 请求,没有 HTTPS、HTTP2、最简单的 DNS、没有代理、并且服务器没有任何问题的基础上,尽管这是不切实际的。 大致流程说明 URL 解析 DNS 查询 TCP 连接 服务器处理请求 浏览器…

Grafana制作图表-自定义Flink监控图表

简要 有时候我们在官网的Grafana下载的图表是这样的,如下图 #算子的处理时间,就是处理数据的延迟数据抓取,这个的说明看下下面的文章 metrics.latency.interval: 60 metrics.reporter.promgateway.class: org.apache.flink.metrics.prometh…

react-router细节补充

一、react-router-dom v5路由信息获取 HomeHead.jsx: import React from "react"; import {Link, withRouter, useHistory, useLocation, useRouteMatch} from react-router-dom import styled from "styled-components";const NavBox styled.nava {mar…

Linux下基于Dockerfile构建镜像应用(1)

目录 基于已有容器创建镜像 Dockerfile构建SSHD镜像 构建镜像 测试容器 可以登陆 Dockerfile构建httpd镜像 构建镜像 测试容器 Dockerfile构建nginx镜像 构建镜像 概述: Docker 镜像是Docker容器技术中的核心,也是应用打包构建发布的标准格式。…

【电网技术复现】考虑实时市场联动的电力零售商鲁棒定价策略(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

动画制作选择Blender还是Maya

Blender和Maya是两种最广泛使用的 3D 建模和动画应用程序。许多经验丰富的用户表示,Blender 在雕刻工具方面远远领先于 Maya,并且在 3D 建模方面达到了相同的质量水平。对于刚接触动画行业的人来说,您可能会问“我应该使用 Blender 还是 Maya…

二、数据结构10:堆 模板题+算法模板(堆排序,模拟堆)

文章目录 算法模板堆题目代码模板堆的原理down操作理解:up操作理解建堆操作关于heap_swap中存的映射数组理解(模拟堆题目中用到) 模板题堆排序原题链接题目思路题解 模拟堆原题链接题目思路题解 算法模板 堆题目代码模板 // h[N]存储堆中的…

【啥都生】分类项目中的模型搭建代码解析

def build_model(cfg):if isinstance(cfg, list):modules [eval(cfg_.pop("type"))(**cfg_) for cfg_ in cfg]return Sequential(*modules)else:return eval(cfg.pop("type"))(**cfg)b站up啥都生维护的分类项目 这段代码的功能是完成模型搭建,…

Cesium态势标绘专题-文本标注(标绘+编辑)

标绘专题介绍:态势标绘专题介绍_总要学点什么的博客-CSDN博客 入口文件:Cesium态势标绘专题-入口_总要学点什么的博客-CSDN博客 辅助文件:Cesium态势标绘专题-辅助文件_总要学点什么的博客-CSDN博客 本专题没有废话,只有代码,代码中涉及到的引入文件方法,从上面三个链…

Vue模版语法

先看以下例题是回顾vue的用法 <body><div id"box">{{myname}} - {{myage}}</div><script>var vm new Vue({el:"#box",data:{myname:"lyx",myage:26}})</script></body> 运行结果如下&#xff1a;vue对象被…

什么是熵?

熵&#xff08;Entropy&#xff09;是一个重要的概念&#xff0c;最初出现在热力学领域&#xff0c;用于描述系统的混乱程度或不确定性。熵也被广泛应用于信息理论、统计学和计算机科学等领域。通常来讲&#xff0c;熵&#xff0c;是对混乱程度、不确定程度的度量。熵越大&…

【测试学习三】软件测试的生命周期 BUG的相关知识

目录 一、软件测试的生命周期&#xff08;重要&#xff09; &#x1f351;1、软件的生命周期&#xff1f; &#x1f351;2、软件测试的生命周期&#xff1f; 二、关于BUG &#x1f351;1、如何描述与定义一个BUG&#xff1f;&#xff08;了解&#xff09; &#x1f351;2…

分时电价调整后上海储能项目投资回收期分析-安科瑞黄安南

2022年12月16日&#xff0c;上海市发改委发布《关于进一步完善我市分时电价机制有关事项的通知》(沪发改价管〔2022〕50号)。通知明确上海分时电价机制&#xff0c;一般工商业及其他两部制、大工业两部制用电夏季&#xff08;7、8、9月&#xff09;和冬季&#xff08;1、12月&a…

Tomcat安装与管理

文章目录 Tomcat安装及管理Tomcat gz包安装&#xff1a;JDK安装&#xff1a;Tomcat安装&#xff1a;修改配置文件&#xff08;如下&#xff09;&#xff1a;服务启动配置&#xff1a; Tomcat-管理(部署jpress)&#xff1a;修改允许访问的主机修改允许管理APP的主机进入管理&…