sikulix___自动化办公___重复性_机械性_的电脑操作___python脚本___Java运行环境下德jar包完成自动化测试相关___截图编程控制键盘鼠标
sikulix___自动化办公___重复性_机械性_的电脑操作___python脚本___Java运行环境下德jar包完成自动化测试相关___截图编程控制键盘鼠标
应用场景:
公司内的大佬更改了xml的结构,需要在几个固定位置增加几个固定的标签,但是xml文件有几百个,挨个操作起来简直不敢想象工作量有多么大。
于是使用这个基于UI的自动化测试工具完成,通过截图编程写好脚本。脚本执行时会控制鼠标和键盘,识别屏幕上面的信息,并像人一样执行鼠标的单击或双击,键盘的输入和回车等操作。
借助notepad++我打开了所有需要增加标签的xml文件,然后使用sikulix工具,编写脚本,编写完成后执行脚本,实现了在固定的标签的前后增加内容。
首先我们需要了解jvm是什么:即Java虚拟机
Java不同于其他编程语言,是一种需要编译的解释型语言,所有代码都会编译一下,然后在jvm上面运行(jvm由C/C++编写,C属于低级语言,Java是高级语言,低级高级德含义是:低级为贴近硬件层,高级为贴近人类语言。)。
相比C语言来说,Java多了一层,c运行在操作系统层面,Java是运行在jvm上面,jvm运行在操作系统上面,所以Java更像是一个应用程序。
而我们今天讲的工具就是使用Java写的,所以这个工具后缀名为.jar。类似于windows里的.exe。exe可直接在windows操作系统上运行,jar只能在jvm上运行。
所以我们需要先配置Java环境才能使用今天的小工具。登录oracle官网,下载jdk19,现在Java更新的速度太快了,已经变成了一个exe的安装包,双击setup安装即可。无脑下一步完成安装后,我们需要测试一下是否成功。使用“Win+R“输入”cmd“运行dos命令行,在命令行内输入”Java“,如果看到下图即可证明运行环境已经具备,可以直接打开jar包并执行。
注意:我们jar包是使用jdk18编写的,所以尽量找相近版本的安装包。
下面直接双击打开,Java包,即可看到如下操作界面,可以开始编写脚本了。
至此我们完成了准备工作。
-----------------------------------------------------
下面开始脚本编写:
上百度搜索“sikulix函数使用”即可看到该工具的几个常用函数。下面罗列几个本次需要用到的简单的函数。
sikuli常用方法:
根据上面的这些函数我们可以得到如下的脚本:
把这个脚本复制下来就是下面的文本:
flag=0
for flag in range(50):
click("1673426896342.png")
click("1673427738149.png")
type("\n")
type("<GroupColl> \n <Group> \n")
click("1673427759526.png")
type("\n")
type("</Group> \n </GroupColl> \n")
click("1673427794574.png")
click("1673427942910.png")
该脚本完成后我们点击右上角的运行按钮,即可看到成果。For循环的语法结构是和python一致,简单了解即可满足该工具的使用。
对了,这个工具的名字“sikulix”找了半天没找到该怎么读,暂且就读”司库一“吧。
此文仅作为记录学习使用,他用请注明出处。
sikulix___自动化办公___重复性_机械性_的电脑操作___python脚本___Java运行环境下德jar包完成自动化测试相关___截图编程控制键盘鼠标的更多相关文章
- Python自动化办公知识点整理汇总
知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却 ...
- 是的,你没看错!Python可以实现自动化办公
是的,你没看错!Python可以实现自动化办公 公众号[伤心的辣条],如今越来越多的人加入到学习Python的队伍当中,尤其是对于很多职场人来说,不管你是程序员还是非程序员,Python已经为很多职场 ...
- Oracle学习总结_day03_day04_条件查询_排序_函数_子查询
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PUR ...
- C Primer Plus_第6章_循环_编程练习
1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...
- 转:HIBERNATE一些_方法_@注解_代码示例---写的非常好
HIBERNATE一些_方法_@注解_代码示例操作数据库7步骤 : 1 创建一个SessionFactory对象 2 创建Session对象 3 开启事务Transaction : hibernate ...
- 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解
本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...
- 3.IP地址分类_规划_子网掩码
IP地址分类_规划_子网掩码 3.1MAC地址 网卡的身份证号———MAC地址 MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20: ...
- 宏定义中的##操作符和... and _ _VA_ARGS_ _
1.Preprocessor Glue: The ## Operator 预处理连接符:##操作符 Like the # operator, the ## operator can be used i ...
- 宏 #,##,_ _VA_ARGS_ _
宏里面使用: 一.# 转为字符串 #define PSQR(x) printf("the square of" #x "is %d.\n",(x)*(x)) ...
- OpenGL立方体在世界坐标系中_缩放_旋转_平移_顶点片源着色器_光照作用_棋盘纹理贴图
读取bmp等图片格式中的像素还有难度,就先用这个棋盘图象素来弄了 代码打错一个就一直First-chance exception ,貌似还有一个要用q或者Q才能成功退出,不知道缺少哪句,我用窗口红叉退 ...
随机推荐
- .NET周报【10月第2期 2022-10-17】
主题 宣布 .NET 7 发布候选版本 2 - .NET Blog https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-2/ .N ...
- react 可视化编辑器1
可视化编辑器1 前言 前面我们学习低代码,例如百度的低代码平台 amis,也有相应的可视化编辑器,通过拖拽的方式生成配置文件.就像这样 笔者自己也有类似需求:比如中台有个归档需求,通过选择一些配置让后 ...
- 驱动开发:内核枚举LoadImage映像回调
在笔者之前的文章<驱动开发:内核特征码搜索函数封装>中我们封装实现了特征码定位功能,本章将继续使用该功能,本次我们需要枚举内核LoadImage映像回调,在Win64环境下我们可以设置一个 ...
- Docker | 常用命令——排错很有帮助
众所周知,docker 排查问题相较而言是困难的.因此,熟知一些常用命令对我们快速的排查定位问题是非常有帮助的.下面让我们一起来学习一下吧 1.显示docker的系统信息 docker info [r ...
- UBOOT编译--- UBOOT编译过程目标依赖分析(八)
1. 前言 UBOOT版本:uboot2018.03,开发板myimx8mmek240. 2. 概述 本文采用自顶向下的方法,从顶层目标开始到最原始的依赖. 3. u-boot编译 uboot的编译分 ...
- i春秋SQLi
打开题目网页是个很简单的登录网页 先查看源码,抓包 都没找到可用的信息 依我所见这里应该就是一个注入 但是怎么输入都会回显username错误 直到输入admin 尝试admin# Admin'# ...
- 关于linux mint更改资源管理器的快捷键
前言 首先要知道 linux mint 的默认资源管理器是 nemo 我很不习惯 ctrl+d 在nemo里面是 收藏到侧边栏 我习惯 ctrl+d 在windows上是删除文件 所以下面我就修改这个 ...
- 更改HTML请求方式的几种方法
以ctfhub中的请求方式题目为例,则可以有: 法一:通过burpsuite抓包修改 在burpsuite中抓包后发送到repeater模块中,对请求方式进行修改即可 法二:通过curl命令进行 cu ...
- Pod控制器详解
Pod控制器详解 7.1 Pod控制器介绍 Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类: 自主式pod:kubernetes直接创建出来 ...
- 如何搭建自己的CICD流水线,实现自动编译部署功能?
之前使用过GitLab的CICD流水线,有多种环境,点击即可编译部署,十分的方便. 如何在个人项目中搭建自己的CICD流水线,实现push代码后自动编译并部署呢?这里使用到阿里云 云效DevOps,阿 ...