首页 > 编程语言 >自主研发RPA,基于uiautomatorviewer的自动化代码生成器,一键生成Java代码和Cucumber描述文件

自主研发RPA,基于uiautomatorviewer的自动化代码生成器,一键生成Java代码和Cucumber描述文件

时间:2024-11-14 22:40:34浏览次数:1  
标签:代码生成 元素 Java 代码 uiautomatorviewer Step 点击 文本 可以

介绍

基于UI Automator进行二次开发,让你不懂开发也能编写自动化测试代码, 一边生成代码一边Debug,毫不费力写出完美的自动化测试代码 。该工具集成了Tomcat使得添加新的功能的时候使用HTML+API进行开发,降低了开发难度;集成了Derby数据库,测试用例持久化到数据库。

软件架构

采用HTML+API开发新的功能,集成了Derby数据库。 可以修改代码模板,生成的代码无缝对接你的自动化测试框架,元素采用文本定位, 一套代码同时适应AOS和IOS 。

功能介绍

接下来具体看一下目前实现的功能,从左到右依次是:系统设置,Step新增与修改,等待元素出现,点击元素,保存文本,输入文本,添加断言,删除操作节点,生成代码,刷新测试用例,Debug工具

 1. 系统设置,可以设置生成的类名,设置调试的服务器,代码模板及代码输出路径,最后是测试数据

 2. Step新增,修改,公共Step的维护。点击我的测试场景,可以新增测试步骤,可以直接选择公共的测试步骤,对公共的测试步骤进行维护

 

 3.等待元素出现,屏幕中选择你要操作的元素,会默认显示当前的元素的文本,如果元素没有文本将用xpath定位,默认是等待你选中的元素出现,也可以选择等待该元素的相对元素的出现。

 4.点击元素,默认也是用文本定位,可以点击选中的元素,也可以点击该元素的其他相对节点元素,也可以设置当某个文本出现时才去点击该元素。

 5.保存文本,界面中查找目标元素可以辅助你查找到正确的目标元素,如果有resource-id,默认用resource-id定位,如果没有,可以用其他文本的相对定位或者自定义xpath,点击查找目标元素,下面会展示出对应的xpath和目标元素的文本。然后输入保存文本的key和描述信息

 6.输入文本,界面中查找目标元素可以辅助你查找到正确的要输入文本的目标元素,点击输入文本的输入框会弹出第二和第三个界面,让你选择需要输入的文本

 

 

 7.添加断言,用于界面显示的元素和已知的确定的数据进行比较,界面中查找目标元素可以辅助你查找到需要比对的元素,点击最下面的输入框让你从缓存中选择期望的文本,也可以点击右边的标签页从测试数据中选择期望的文本

 

 

 

 8. 屏幕滑动,可以设置滑动的方向,速度以及滑动超时时间。

 9. 删除操作节点,直接点击删除即可

10. 生成代码,直接点击生成代码的按钮即可,生成的代码有feature文件,两个Step文件(两个Step的操作是一样的,只是Debug结尾的Step把每一个操作都放到了一个单独的方法里面,仅给Debug工具使用),页面对象Screen,多语言文件

 

 

 

 

 11. 刷新测试用例,如果你手动改了数据库的数据或者其他情况导致测试用例没有更新,可以点击刷新测试用例按钮进行更新。

12. Debug工具,可以选中一个Step,然后调试这个Step下所有的操作,也可以选中某一个操作,点击调试按钮出现下面弹框,点击执行即可调试对应的代码。在自定义的标签页,可以不调试当前的操作,让你可以调试任何代码,你只需要指定类名,方法名,方法参数即可,如果有问题,可以勾选“是否打印PageSource”把当前屏幕的源码打印出来检查。

 

 

联系我

 

关注公众号

 

标签:代码生成,元素,Java,代码,uiautomatorviewer,Step,点击,文本,可以
From: https://www.cnblogs.com/jovic/p/18547004

相关文章

  • 【java开发】什么是内存溢出和内存泄漏?如何解决?
    一、内存溢出1.1导致的原因1.2解决方法二、内存泄漏2.1导致的原因2.2解决方法2.3示例代码三、对比四、总结内存溢出和内存泄漏是我们经常听到的两种内存管理问题,那么,它们是如何导致的?又该如何解决?这篇文章,我们来聊一聊。一、内存溢出内存溢出(O......
  • 面试题——Java中的锁
    文章目录谈谈你对线程安全的理解?1、synchronized关键字是怎么用的?1.1构造方法可以使用synchronized关键字修饰么?1.2使用String作为锁对象,会有什么问题?1.3synchronized的底层原理有了解吗?1.4synchronized怎么保证可重入性?可见性?抛异常怎么办?1.4还使用过其他锁......
  • 每日OJ题_牛客_计算字符串的编辑距离_DP_C++_Java
    目录牛客_计算字符串的编辑距离_DP题目解析C++代码Java代码牛客_计算字符串的编辑距离_DP计算字符串的编辑距离_牛客题霸_牛客网描述:Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换......
  • 基于Java+SpringBoot+Mysql在线课程学习教育系统功能设计与实现九
    一、前言介绍:免费获取:猿来入此1.1项目摘要随着信息技术的飞速发展和互联网的普及,教育领域正经历着深刻的变革。传统的面对面教学模式逐渐受到挑战,而在线课程学习教育系统作为一种新兴的教育形式,正逐渐受到广泛关注和应用。在线课程学习教育系统的出现,不仅为学生提供了更加灵......
  • 基于Java+SpringBoot+Mysql在线课程学习教育系统功能设计与实现十
    一、前言介绍:免费获取:猿来入此1.1项目摘要随着信息技术的飞速发展和互联网的普及,教育领域正经历着深刻的变革。传统的面对面教学模式逐渐受到挑战,而在线课程学习教育系统作为一种新兴的教育形式,正逐渐受到广泛关注和应用。在线课程学习教育系统的出现,不仅为学生提供了更加灵......
  • Java 数组操作:反转、扩容与缩容
    在Java中,数组是一种固定长度的数据结构,一旦创建,其大小无法更改。然而,常常在实际编程中,我们需要对数组进行扩容、缩容或其他操作。本文将介绍如何通过Java实现数组反转、扩容和缩容的操作,并在代码中演示这些常见的数组操作。1.数组反转数组反转是一个常见的操作,通常用于......
  • Java常见排序算法详解:快速排序、插入排序与冒泡排序
    在程序设计中,排序是最基本的操作之一。Java提供了多种排序算法,今天我们将介绍三种常见的排序方法:快速排序、插入排序和冒泡排序。我们不仅会分析它们的基本原理,还会提供实际的代码实现,帮助大家更好地理解并应用这些排序算法。一、快速排序(QuickSort)快速排序是一种分治法的排......
  • java 反序列化 cc3 复现
    版本要求:jdk版本<=8u65,common-collections版本<=3.2.1在很多时候,Runtime会被黑名单禁用.在这些情况下,我们需要去构造自定义的类加载器来加载自定义的字节码.类加载机制双亲委派这里直接粘别人的了.实现一个自定义类加载器需要继承ClassLoader,同时覆盖findClass方法......
  • java 反序列化 cc4 复现
    复现环境:jdk<=8u65,commonsCollections=4.0CommonsCollections4.x版本移除了InvokerTransformer类不再继承Serializable,导致无法序列化.但是提供了TransformingComparator为CommonsCollections3.x所没有的,又带来了新的反序列化危险.cc4的执行命令部分依然沿用cc3的TemplatesI......
  • [原创]手把手教学之前端0基础到就业——day11( Javascript )
    文章目录day11(Javascript)01Javascript①Javascript是什么②JavaScript组成③Javascript的书写位置1.行内式(不推荐)2.内部位置使用(内嵌式)3.外部位置使用(外链式)02变量1.什么是变量2.定义变量及赋值3.注意事项4.命名规范03输入和输出1)输出形式1......