# MobileAutoTest **Repository Path**: coreg/mobile-auto-test ## Basic Information - **Project Name**: MobileAutoTest - **Description**: 移动端自动化工具 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-02-16 - **Last Updated**: 2025-05-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: 移动端自动化 ## README # MobileAutoTest #### 介绍 移动端自动化工具 #### 使用说明 # MobileAutoTest说明文档v3.3.0 标签(空格分隔): 未分类 --- ## 软件整体结构图 新添加截图功能: v3.0.0新增元素坐标自动获取和智能等待系统 v3.1.1界面新增滑动查找、智能等待、元素点击、查看测试队列,顶部显示当前设备尺寸 v3.2.1界面新增“安装中文扩展键盘”,“切换ADB键盘”按钮,新增中文输入下拉选项 ## 使用前注意事项 1、使用前需要具备adb,配置好adb环境变量,使用安卓4.2以上版本 2、使用前请确保设备有正常连接,使用```adb devices```查看是否有设备显示,v3.1.1已加入自动重启adb的操作 3、每次选择一个操作用例后,需要点击一下“插入操作”按钮,将用例添加进入待测队列 4、软件在提交测试、读取脚本等操作时会验证设备连接情况,在软件关闭时,会有一点延迟,这是程序在关闭adb进程,属于正常现象,部分adb有问题,可能导致关闭卡住,v3.1.1使用进程关闭,将不会出现不能正常关闭软件和adb的情况 ## 如何获取坐标位置? 1、开启指针位置选项,大部分手机在,设置->系统设置->开发者选项,下滑找到指针位置,开启此功能 2、没有开启开发者选项,请在关于手机的界面,多次点击版本号 ## 下拉框选项 ### 1、启动App 需要在最长的输入框(Y坐标下的最长输入框)中输入包名和activity,可以使用“自动获取并填入打开的App包名和activity”来自动填入 ### 2、点击坐标 需要在X和Y坐标输入框中输入坐标 ### 3、滑动屏幕 需要在X中填入两个X坐标,分别是起点和终点的两个X坐标,Y填入两个,分别是起点和终点的Y坐标,两个坐标用英文分号(;)隔开 ### 4、输入文字(带ENTER) 输入文字过后,再输入一个ENTER按键,如果输入了X和Y坐标,则输入文字规则为,先点击坐标,再向坐标位置输入字符 ### 5、输入文字(不带ENTER) 同上,只是不会输入ENTER按键,在某些使用enter会出现清空等情况下可以使用此类 ### 6、等待 需要在长条输入框(Y下方的长输入框)中输入数字,1代表1秒 ### 7、长按 需要在X和Y坐标输入坐标点,输入框中输入数字,代表长按的秒数,如果没有输入秒数,则默认2秒 ### 8、智能等待(v3.0.0新增) 目前仅支持文字元素,在输入框中输入需要进行智能等待的文字 智能等待会进行至多5轮查询,每次查询时间为2秒,如未找到元素,则额外强制等待2秒,所以至多有12秒的等待时间 智能等待的逻辑是每次从手机收集当前页面元素,分析填写的文字元素是否包含在页面元素中 使用: 1、下拉框选择智能等待,输入框输入需要等待的文本(需要元素中有text=‘输入值’) 2、当运行时,找到元素会继续进行代码执行,但其他未找到元素,强制等待后,也仍会继续执行 ### 9、滑动查找(v3.1.1新增) 滑动查找会自动滑动并获取页面元素,当找到对应元素后,会停止运行 输入滑动的x和y坐标,并在输入框输入需要查找的元素 只输入查找的元素,默认查找100000次,可以中途取消 输入查找的元素,并使用英文分号(;)隔开,后面写上需要进行的轮次,可以自定义查询次数 下面演示自定义次数: 点击插入操作 ### 10、元素点击(v3.1.1) 可自动查找页面元素,如果有此元素则进行点击操作 使用选择元素点击,在输入框中输入需要点击的文本,默认使用text方式查找 如果需要自定义查找类型,可先写上类型,使用英文分号(;)隔开,后面写上文本值 填好数据点击插入操作 查找并点击微信,默认方式: 自定义类型方式: ### 11、中文输入(v3.2.1) 新增中文输入的方式,现在当安装好ADB键盘,并启用过后,即可进行中文的输入,弥补当初只能输入英文的遗憾 使用需要先安装ADB键盘: 当有如下图提示时便是安装成功: 部分手机需要进行设置启动此键盘才能切换(此处仅为示例,以实际情况为准,v3.3.0可自动启用): 最好使用软件自带的切换按钮,在使用软件过后,系统会自动切换回原来的输入法: 完成上述步骤后,即可进行中文输入,同一设备,后续仅切换即可 下拉框选择“中文输入”: 和前面的输入一样,如果输入的数据中,包含坐标,输入即为点击坐标后,在此出进行输入 ## 自动获取App和添加返回按钮 ### 1、自动获取并填入当前打开的App包名和activity 在设备正确连接后(使用adb devices显示设备),在设备上打开需要打开的App,然后点击此按钮,系统会自动获取当前设备已打开的App包名和activity,并自动插入到用例操作中 注意:某些activity是不能直接启动的,这个和系统无关,是未对外开放,如已获取但不能启动App,则可能要考虑activity的开放情况,可以选择仅录制打开App后的操作,运行脚本前手动打开App进行运行 ### 2、添加返回操作 顾名思义,就是在你的脚本中,添加一个返回的操作,在某些需要收起键盘等操作时很有用,操作等价于手机的返回,点击自动添加进入用例脚本,无需点击插入操作 ### 3、添加截图 可以在步骤后面加入截图操作,点击后,会出现弹窗,提示输入文件位置,可以输入保存在哪个文件夹,脚本运行,都会默认将所有的图片放入此文件夹,图片默认已时间为标题 输入地址后,会在这里显示已添加截图的操作用例 ## 安装ADB中文扩展键盘和切换ADB键盘(v3.2.1)(v3.3.0更新) ### 安装ADB中文扩展键盘 点击前请先确认adb是否正常连接设备,点击后,程序会给手机自动安装ADB中文扩展的软件,某些手机可能需要开启ADB应用安装的权限才能成功安装,请先在开发者模式中确认开启 部分手机需要启用键盘才能供以后切换使用,示例开启方式,参照上述下拉框的中文输入说明 #### v3.3.0新增自动启用输入法操作,点击安装即可安装apk,并进行键盘启用,当自动启用失败或者超时时,可以通过手动进行输入法启用 ### 切换ADB键盘 点击会从现在的键盘切到ADB键盘,建议使用此方式,而不是手动切换,这样在程序关闭的同时,系统会自动切换到以前默认的输入法,免去切换的麻烦,如果自己手动设置,则系统不会获取到以前的输入法并进行设置 ## 获取页面可点击坐标(v3.0.0新增,v3.1.1修改) 此方法是通过手机推送的页面元素文件,分析页面元素,获得bounds对角坐标,计算其x,y的中位数,得到其元素的中心位置坐标 ### 操作 1、首先,确定你的设备有正常连接,然后进入你需要获取元素坐标的页面,点击按钮 2、界面出现弹窗,填入需要使用的定位类型,默认text,text为页面可见的元素,还有备用的content-desc,这个并不会在界面显示,只是元素的描述属性,使用这两个只是因为可读性好,并不是不能使用其他方式 在填写好类型后,点击OK,然后等待页面加载 3、获取完成后,会出现一个窗口,显示页面元素的坐标 4、在弹出窗口输入需要填入的坐标序号(Row下对应的数字),点击确定填入,即可将元素填入主窗口的x和y坐标中。 目前只能进行一次填入,点击确定填入会自动关闭窗口,这个可以后续版本优化 5、v3.1.1 版本新增点击自动输入功能,在获取到坐标后,可以点击选项自动将序号填入到输入框 6、填入坐标后,即可像手动输入一样操作,选择下拉框的操作类型,点击插入操作,将其添加到测试队列 ### 注意: 1、如果出现使用获取坐标功能,出现页面卡死,可能是因为你的adb出现了问题,这个与关闭软件后,命令框不能关闭是一个原因,需要手动关闭adb,再运行软件,v3.1.1优化了adb进程关闭与启动,可一定程度上解决此问题 2、当手机页面有动态元素时,不能进行元素的获取,请在静态页面进行获取页面元素坐标 ## 查看测试队列(v3.1.1) 当output框中内容太多,导致不能清楚知道自己的测试队列时,可以点击此按钮,点击后将清空outout框,并将待测试的用例显示的output框中 ## 底部按钮组 ### 1、插入操作 这是系统运行最重要的按钮,每次选择后,需要点击插入操作,来将设置的操作插入到用例运行脚本,插入会在下方显示用例 ### 2、保存脚本 当脚本运行过后,没有问题时,可以选择保存脚本,点击会弹窗,输入文件名即可保存,可复制路径放入,不输入路径则保存在当前软件运行目录,不要使用表格格式,建议txt,不输入格式也是可以的 ### 3、读取脚本 当我们保存了脚本,可以使用读取脚本按钮,选择对应的脚本,点击OK即可自动进行测试操作 ### 4、清空数据 清空输入显示,清空已写入的运行脚本 ### 5、提交测试 当插入脚本后,确定无误后,点击提交测试即可开始运行,读取脚本会自动运行,不需要点击 ### 6、替换原数据 这个为什么放在最后呢?因为他相对较复杂,我们中间的大框,只是作为一个输出显示,让用户能够看到添加的用例操作,为了防止误操作,所以即使你改动了输出显示的大框数据,也不会影响,点击提交测试仍会按照你之前添加的数据进行测试 当你添加脚本的时候输入错误,或者需要删除某些操作的时候,可以在输出显示的地方进行修改,而后点击替换原数据,当点击这个按钮后,系统才会去识别输出框数据,并进行读取,筛选有用数据进行替换 需要注意的是,修改应尽量保持原数据的格式,只是改动数据,或者整条删除,当然你也可以进行插入,但也要使用相同的格式,复制一条对应的然后去修改值