0

MonkeyRunner を使用して Android UI 分析を行う場合、device.getHierarchyViewer().focusedWindowName を使用して、現在の画面のウィンドウ名をすばやく取得できます。

次に、ウィンドウ名を使用して、基本的な UI の判断または分析を行うことができます。

また、AndroidViewClient ( git@github.com:dtmilano/AndroidViewClient.git ) の場合、同様の使用法がありますか? ありがとう。

device = MonkeyRunner.waitForConnection()
hViewer = device.getHierarchyViewer()
win_name = hViewer.getFocusedWindowName()
4

1 に答える 1

1

ここで答えられたと思います。

ただし、一般的な要望により、AdbClient により簡単なメソッドを追加すると思います。おそらくAdbClient.getFocusedWindowName()一貫性があります。この Window は View 階層とは何の関係もありません。

コメントは大歓迎です。

編集

朗報です。AndroidViewClient 8.27.1 は、およびが搭載されました。AdbClient.getWindows()AdbClient.getFocusedWindows()AdbClient.getFocusedWindowName()

次のように使用できます。

#! /usr/bin/env python
# -*- coding: utf-8 -*-
'''
Copyright (C) 2013-2014  Diego Torres Milano
Created on 2015-01-05 by Culebra v8.27.1
                      __    __    __    __
                     /  \  /  \  /  \  /  \ 
____________________/  __\/  __\/  __\/  __\_____________________________
___________________/  /__/  /__/  /__/  /________________________________
                   | / \   / \   / \   / \   \___
                   |/   \_/   \_/   \_/   \    o \ 
                                           \_____/--<
@author: Diego Torres Milano
@author: Jennifer E. Swofford (ascii art snake)
'''


import re
import sys
import os

try:
    sys.path.insert(0, os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src'))
except:
    pass

from com.dtmilano.android.viewclient import ViewClient


kwargs1 = {'ignoreversioncheck': False, 'verbose': False, 'ignoresecuredevice': False}
device, serialno = ViewClient.connectToDeviceOrExit(**kwargs1)

print device.getWindows()
print device.getFocusedWindow()
print device.getFocusedWindowName()

ところで、これらの機能をどのように使用しているか知りたいです。前提条件の確認ですか?

于 2015-01-05T18:11:41.763 に答える