-1
在下面的代碼中,我如何使用按鈕的ID或任何視圖,如我在xml佈局文件中提到的。如果我運行dump.py -i,我得到唯一的ID,但不像我在我的XML文件中提到的。我如何運行AndroidViewClient/culebra?
touchProject = vc.findViewByIdOrRaise('id/btnHome')
touchProject.touch()
如果我必須使用庫萊布拉,請告訴我詳細設置環境和運行它的方式。 我在環境變量中設置了Android View Client Home。
謝謝
我目前的腳本看起來像下面
#! /usr/bin/env monkeyrunner
'''
Copyright (C) 2012 Diego Torres Milano
Created on Feb 3, 2012
@author: diego
'''
import re
import sys
import os
import java
# this must be imported before MonkeyRunner and MonkeyDevice,
# otherwise the import fails
#try:
#ANDROID_VIEW_CLIENT_HOME = os.environ['ANDROID_VIEW_CLIENT_HOME']
#except KeyError:
#print >>sys.stderr, "%s: ERROR: ANDROID_VIEW_CLIENT_HOME not set in environment" % __file__
#sys.exit(1)
#sys.path.append(ANDROID_VIEW_CLIENT_HOME + '/src')
try:
sys.path.append(os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src'))
except:
pass
from com.dtmilano.android.viewclient import ViewClient
# Imports the monkeyrunner modules used by this program
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
#starting script
print "start"
# Connects to the current device, returning a MonkeyDevice object
device, serialno = ViewClient.connectToDeviceOrExit()
#device connected
print "connection started"
# sets a variable with the package's internal name
package = 'org.droidtv.TvPlayerFunctionalTestApp'
# sets a variable with the name of an Activity in the package
activity = '.VideoViewActivity'
# sets the name of the component to start
runComponent = package + '/' + activity
# Runs the component
device.startActivity(component=runComponent)
#device set to sleep for 4 seconds
print "wait for 4 seconds"
# first screen shot event
MonkeyRunner.sleep(2);
vc = ViewClient(device, serialno)
vc.dump()
#root = vc.getRoot()
#touchProject = vc.findViewWithTextOrRaise('', root)
touchProject = vc.findViewByIdOrRaise('id/btnHome')
touchProject.touch()
# wait for screenshot to save
MonkeyRunner.sleep(2);
# Takes a screenshot
result1 = device.takeSnapshot()
result1.writeToFile('E:\NewApp\shot1.png','png')
# wait for 3 seconds
MonkeyRunner.sleep(2);
# Pressing Watch Tv Button
print "wait for NextButton to be pressed"
vc.dump()
touchProject = vc.findViewByIdOrRaise('id/no_id/6')
touchProject.touch()
MonkeyRunner.sleep(2);
result1 = device.takeSnapshot()
result1.writeToFile('E:\NewApp\WatchTv.png','png')
print "Wait for Home Button to be pressed"
vc.dump()
touchProject = vc.findViewByIdOrRaise('id/no_id/11')
touchProject.touch()
result1 = device.takeSnapshot()
result1.writeToFile('E:\NewApp\Home.png','png')
MonkeyRunner.sleep(2);
print "Pressing Channel Setting Button"
vc.dump()
touchProject = vc.findViewByIdOrRaise('id/no_id/11')
touchProject.touch
result1 = device.takeSnapshot()
result1.writeToFile('E:\NewApp\ChannelSetting.png','png')
MonkeyRunner.sleep(2)
這是我問過的一個愚蠢的問題。 – SajidKhan