如何使用monkey runner在消息应用程序中选择“附加”选项

时间:2013-05-09 05:36:31

标签: python coordinates mms monkeyrunner androidviewclient

我正在尝试使用Monkey runner脚本自动发送MMS,这是一个python脚本。我从层次结构查看器获取触摸/按下功能的坐标。但问题是所有这些事件都在主屏幕上工作。我的意思是,如果在SMS窗口中选择了附件选项时出现了诸如弹出选项列表之类的地面屏幕。我如何获得坐标或选择这样的选项。

from com.dtmilano.android.viewclient import ViewClient

displayView = findViewWithAttribute('text:Pictures', 'Display')
#displayView.touch()

在这里,我尝试选择“图片”选项并触摸它,但代码无法正常工作。请帮忙。

1 个答案:

答案 0 :(得分:0)

假设您打开彩信,启动新消息,然后按附加

enter image description here

显示此对话框时,您将culebra作为

运行
$ culebra -C -t on -o mms-attach.py

编辑生成的mm-attach.py以删除不需要的部分并添加touch()方法。你的脚本会是这样的:

#! /usr/bin/env shebang monkeyrunner -plugin $ANDROID_VIEW_CLIENT_HOME/bin/androidviewclient-$ANDROID_VIEW_CLIENT_VERSION.jar @!
# -*- coding: utf-8 -*-
'''
Copyright (C) 2013  Diego Torres Milano
Created on 2013-05-14 by Culebra v0.9.8

                      __    __    __    __
                     /  \  /  \  /  \  /  \ 
____________________/  __\/  __\/  __\/  __\_____________________________
___________________/  /__/  /__/  /__/  /________________________________
                   | / \   / \   / \   / \   \___
                   |/   \_/   \_/   \_/   \    o \ 
                                           \_____/--<
@author: Diego Torres Milano
@author: Jennifer E. Swofford (ascii art snake)
'''


import re
import sys
import os


from com.dtmilano.android.viewclient import ViewClient

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice

device, serialno = ViewClient.connectToDeviceOrExit()
vc = ViewClient(device, serialno, autodump=False)
vc.dump(window='-1')

# unneeded views removed

# class=android.widget.TextView text="Pictures"
no_id14 = vc.findViewWithTextOrRaise('Pictures')
no_id14.touch()

您运行它,然后选择图片,现在您可以根据需要进入选择图片屏幕。