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才能成功退出,不知道缺少哪句,我用窗口红叉退 ...
随机推荐
- 路由组件构建方案(分库分表)V1
路由组件构建方案V1 实现效果:通过注解实现数据分散到不同库不同表的操作. 实现主要以下几部分: 数据源的配置和加载 数据源的动态切换 切点设置以及数据拦截 数据的插入 涉及的知识点: 分库分表相关概 ...
- 《吐血整理》高级系列教程-吃透Fiddler抓包教程(29)-Fiddler如何抓取Android7.0以上的Https包-终篇
1.简介 上一篇宏哥介绍的Xposed是一款可以在不修改APK的情况下影响程序运行的框架.可以编写并加载自己编写的插件app,实现对目标apk的注入.拦截等.一般研究移动安全的都会使用Xposed. ...
- 齐博x1标签实例:标签的嵌套用法,调用聚合数据
齐博标签非常强大,可以让不懂程序的你,轻松就能实现所见即所得. 下面跟大家讲解一下,最复杂的运用, 同时使用了union 动态变量参数 与 分页处理标签 比如下面这张图,不仅仅想调用圈子,还想同时调用 ...
- 重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]
前言 简单整理一个linux 简单上线. 这个是该系列的外篇,该系列继续更新.献给刚学的人. 正文 安装实例 dotnet new webapp -n AspNetCoreDemo -o firstw ...
- 状态估计和KalmanFilter公式的推导与应用
状态估计的概率解释 运动和观测方程: \[\left\lbrace \begin{array}{l} x_k = f(x_{k_1}, u_k) + w_k \\ z_k = h(y_j, x_k) ...
- Ubuntu定时执行python脚本
Crontab命令 命令选项: crontab -l : 显示某个用户的任务计划 crontab -e :编辑某个用户的任务计划 cron服务 service cron start/stop/rest ...
- SpringBoot yml配置文件中,logging.level报错
报错 *************************** APPLICATION FAILED TO START *************************** Description: ...
- 剖析一下"抢茅台"脚本底层逻辑
本文作者:梁东东 前言: 今天你撸茅台了么? 撸茅台已经成为社会现象,茶余饭后讨论的最佳实践 2022年双十一大促已经完美收官,兄弟姐妹克服种种困难与挑战.. 备战的会议室忙碌中带着紧张,当峰值过后的 ...
- 关于python统计一个列表中每个元素出现的频率
第一种写法: a = ['h','h','e','a','a'] result = {} for i in a: if i not in result: result[i] = 1 else: res ...
- 关于 Windows6.1-KB2999226-x64.msu 此更新不适用你的计算机解决办法
前言 今天被这个破问题坑了很长时间,网上一大堆扯跳过那个检查,通过提取 cab 文件然后直接用命令安装,我可以明确的告诉你不是那样的解决的,因为我实际用命令装过也装不上(这里我吐槽一下,我猜你最初的问 ...