首页 > 编程语言 >sikulix___自动化办公___重复性_机械性_的电脑操作___python脚本___Java运行环境下德jar包完成自动化测试相关___截图编程控制键盘鼠标

sikulix___自动化办公___重复性_机械性_的电脑操作___python脚本___Java运行环境下德jar包完成自动化测试相关___截图编程控制键盘鼠标

时间:2023-01-12 15:36:11浏览次数:45  
标签:脚本 Java jar 电脑操作 jvm 自动化 sikulix ___

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”找了半天没找到该怎么读,暂且就读”司库一“吧。

此文仅作为记录学习使用,他用请注明出处。

 

 

标签:脚本,Java,jar,电脑操作,jvm,自动化,sikulix,___
From: https://www.cnblogs.com/AnonymousJDK/p/17046802.html

相关文章

  • LeetCode刷题(44)~缺失数字【位运算:异或 】
    题目描述给定一个包含0,1,2,…,n中n个数的序列,找出0…n中没有出现在序列中的那个数。示例1:输入:[3,0,1]输出:2示例2:输入:[9,6,4,2,3,5,7,0,1]输出:8说......
  • 01_基本的Markdown语法
    Markdown学习标题:+空格是一级标题+空格是二级标题+空格是三级标题(其他的以此类推,最多到六级)字体:字体两边分别加两个**是粗体helloworld!字体两边分别加一个*是斜体......
  • android在调用js中的alert无效
    1、注册网络权限<uses-permissionandroid:name="android.permission.INTERNET"/> 2、webView获取Settings,设置支持jssettings.setJavaScriptEnabled(true);......
  • 2022年中国数据库排行榜年终盘点-墨天轮
    深山虎啸雄风在,绿野兔奔好景来。 崭新的2023年已经到来,在2022年里,国产数据库行业发生了翻天覆地的变化,投融资此起彼伏,国产化替代进程加速,国产数据库行业发展的如火如荼。......
  • 当你输入网址,小手一点,然后发生了什么?
    摘要:输入网址并点回车,后台到底发生了什么。透析HTTP协议与TCP连接之间的千丝万缕的关系。掌握为何是三次握手四次挥手?time_wait存在的意义是什么?全面图解重点问题,再也......
  • 安装pytorch-gpu的经验与教训
    首先说明本文并不是安装教程,网上有很多,这里只是自己遇到的一些问题我是以前安装的tensorflow-gpu的,但是发现现在的学术论文大部分都是用pytorch复现的,因此才去安装的pyto......
  • java8 对象转 Map 时重复 key Duplicate key xxxx
    java8对象转Map时重复keyDuplicatekeyxxxxhttps://dongguabai.blog.csdn.net/article/details/98397784?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_rel......
  • 医疗保险的大数据时代
    医疗保险的大数据时代[摘要]:随着现代科技的不断进步,信息技术呈现出跨越式大发展的格局,以移动互联网、物联网、大数据和云计算等为代表的新技术应用,大幅提高了社会的生产......
  • leetcode_数据结构_入门_350. 两个数组的交集 II
    350.两个数组的交集II 给两个整数数组 nums1和nums2,请以数组形式返回两数组的交集(其在交集中出现的次数:等于该数字在两个数组中出现次数的最小值)。返......
  • 1月12日内容总结——文件和文件索引、链接、系统时间、克隆、定时任务、paramiko模块
    目录一、文件相关信息二、文件索引信息三、链接信息四、系统时间五、机器克隆六、定时任务七、paramiko模块八、公钥私钥九、paramiko其他操作十、代码封装十一、面试题回......