安卓自动化测试案例(跑在MonkeyRunner上)

简介: 首先文件所在目录:MonkeyRunner所在目录: 运行命令(通过cd 命令  进入Tools目录下):运行脚本:monkeyrunner.bat ..\honeywell\jsq.py 源文件代码为:# coding=utf-8import sysfrom com.

首先文件所在目录:

MonkeyRunner所在目录:

 

运行命令(通过cd 命令  进入Tools目录下):

运行脚本:monkeyrunner.bat ..\honeywell\jsq.py

 

源文件代码为:

# coding=utf-8

import sys
from com.android.monkeyrunner import MonkeyRunner as mr,MonkeyDevice
from com.android.monkeyrunner.easy import EasyMonkeyDevice,By
from com.android.chimpchat.hierarchyviewer import HierarchyViewer

#连接设备
device = mr.waitForConnection(30,"emulator-5554")
if not device:
     print >> sys.stderr,"fail"
     sys.exit(1)
#连接设备完成
mr.sleep(2.0)
#打开主屏幕-根据ResourceId
#

#
upArrow="id/all_apps_handle"
easy_device = EasyMonkeyDevice(device)
easy_device.touch(By.id(upArrow), MonkeyDevice.DOWN_AND_UP)
mr.sleep(2.0)
#启动Activity 打开拨号键
activityName="com.android.dialer/.DialtactsActivity"
device.startActivity(component = activityName)
#等待时间,防止操作太快,设备反应不及时
mr.sleep(2.0)

#点击添加拨号动作
action_button="id/floating_action_button"

easy_device.touch(By.id(action_button), MonkeyDevice.DOWN_AND_UP)
mr.sleep(2.0)
#开始拨号
button_1="id/one"
button_2="id/two"
button_3="id/three"
button_4="id/four"
button_5="id/five"
button_6="id/six"
button_7="id/seven"
button_8="id/eight"
button_9="id/nine"
button_0="id/zero"
easy_device.touch(By.id(button_1), MonkeyDevice.DOWN_AND_UP)

easy_device.touch(By.id(button_8), MonkeyDevice.DOWN_AND_UP)

easy_device.touch(By.id(button_9), MonkeyDevice.DOWN_AND_UP)

easy_device.touch(By.id(button_1), MonkeyDevice.DOWN_AND_UP)

easy_device.touch(By.id(button_1), MonkeyDevice.DOWN_AND_UP)

easy_device.touch(By.id(button_6), MonkeyDevice.DOWN_AND_UP)

easy_device.touch(By.id(button_9), MonkeyDevice.DOWN_AND_UP)

easy_device.touch(By.id(button_5), MonkeyDevice.DOWN_AND_UP)

easy_device.touch(By.id(button_0), MonkeyDevice.DOWN_AND_UP)

easy_device.touch(By.id(button_8), MonkeyDevice.DOWN_AND_UP)

easy_device.touch(By.id(button_7), MonkeyDevice.DOWN_AND_UP)
mr.sleep(2.0)
#添加联系人
createNewId="id/cliv_name_textview"
easy_device.touch(By.id(createNewId), MonkeyDevice.DOWN_AND_UP)
mr.sleep(2.0)
#姓名输入  获取焦点
device.touch(300,1060,'DOWN_AND_UP')
mr.sleep(1.0)
#输入
device.type('JackChen')
mr.sleep(2.0)
#关闭键盘
device.press('KEYCODE_BACK',MonkeyDevice.DOWN_AND_UP)
#保存联系人
mr.sleep(2.0)
menu_save="id/menu_save"
easy_device.touch(By.id(menu_save), MonkeyDevice.DOWN_AND_UP)
mr.sleep(2.0)
device.press('KEYCODE_HOME',MonkeyDevice.DOWN_AND_UP)
mr.sleep(2.0)
componentName='com.google.android.apps.messaging/.ui.ConversationListActivity'
#启动特定的Activity
device.startActivity(component = componentName)
mr.sleep(2.0)
#新建信息
messageAdd="id/start_new_conversation_button"
easy_device.touch(By.id(messageAdd), MonkeyDevice.DOWN_AND_UP)
mr.sleep(2.0)
numText="id/recipient_text_view"
easy_device.touch(By.id(numText), MonkeyDevice.DOWN_AND_UP)
mr.sleep(1.0)

device.type('18911695087')
mr.sleep(3.0)
#点击10086
device.touch(301,300,'DOWN_AND_UP')
mr.sleep(2.0)
device.press('KEYCODE_BACK',MonkeyDevice.DOWN_AND_UP)
mr.sleep(1.0)
messageTxt="id/compose_message_text"
easy_device.touch(By.id(messageTxt), MonkeyDevice.DOWN_AND_UP)
mr.sleep(1.0)
device.type('Hello,jack')

#等待时间,防止操作太快,设备反应不及时
mr.sleep(1.0)
btn_send="id/self_send_icon"
easy_device.touch(By.id(btn_send), MonkeyDevice.DOWN_AND_UP)

mr.sleep(3.0)
conversationImg = device.takeSnapshot()
conversationImg.writeToFile('d:\\SendMessage.png','png');

@陈卧龙的博客

相关文章
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
135 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
41 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
探索软件测试的艺术:从基础到高级安卓应用开发中的自定义视图
【8月更文挑战第29天】在软件开发的世界中,测试是不可或缺的一环。它如同艺术一般,需要精细的技巧和深厚的知识。本文旨在通过浅显易懂的语言,引领读者从软件测试的基础出发,逐步深入到更复杂的测试策略和工具的使用,最终达到能够独立进行高效测试的水平。我们将一起探索如何通过不同的测试方法来确保软件的质量和性能,就像艺术家通过不同的色彩和笔触来完成一幅画作一样。
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
155 4
【RF案例】Web自动化测试弹窗处理
在进行Web自动化测试时,常会遇到不同类型的弹窗,如ajax、iframe、新窗口及alert/Confirm等。这些弹窗可通过Selenium进行定位与处理。其中,ajax弹窗直接定位处理;iframe需先选中再操作;新窗口类似iframe处理;而alert/Confirm则需特殊方法应对。在Robot Framework中,需先定义并获取窗口后使用特定关键字处理。此外,还有部分div弹窗需在消失前快速定位。希望本文能帮助大家更好地处理各类弹窗。
100 6
【RF案例】Web自动化测试弹窗处理
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
大数据-95 Spark 集群 SparkSQL Action与Transformation操作 详细解释与测试案例(二)
72 1
Android性能测试——发现和定位内存泄露和卡顿
本文详细介绍了Android应用性能测试中的内存泄漏与卡顿问题及其解决方案。首先,文章描述了使用MAT工具定位内存泄漏的具体步骤,并通过实例展示了如何分析Histogram图表和Dominator Tree。接着,针对卡顿问题,文章探讨了其产生原因,并提供了多种测试方法,包括GPU呈现模式分析、FPS Meter软件测试、绘制圆点计数法及Android Studio自带的GPU监控功能。最后,文章给出了排查卡顿问题的四个方向,帮助开发者优化应用性能。
336 4
Android性能测试——发现和定位内存泄露和卡顿
Ruby脚本:自动化网页图像下载的实践案例
Ruby脚本:自动化网页图像下载的实践案例
Android 性能测试初探 (六)
本节聊聊性能测试的最后一项- 流量,当然我所指的性能测试是针对大部分应用而言的,可能还有部分应用会关注网速、弱网之类的测试,但本系列文章都不去一一探讨了。
92 6
Android 性能测试初探 (四)
本文介绍了GPU在移动端性能测试中的重要性,并详细解释了过度绘制、帧率和帧方差的概念。针对GPU测试,文章列举了三项主要测试内容:界面过度绘制、屏幕滑动帧速率和平滑度。其中,过度绘制测试需遵循特定标准,而帧速率和平滑度测试则可通过软件或硬件方法实现。在软件测试中,使用Systrace插件和高速相机是两种常用手段。对于不同机型,帧率及帧方差的测试标准也需相应调整。
80 5

热门文章

最新文章

  • 1
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 2
    Android历史版本与APK文件结构
  • 3
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
  • 4
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
  • 5
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 6
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 7
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 8
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
  • 9
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 10
    escrcpy:【技术党必看】Android开发,Escrcpy 让你无线投屏新体验!图形界面掌控 Android,30-120fps 超流畅!🔥
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等