Android视图客户端:存储视图客户端转储

2024-09-30 02:35:34 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有什么方法可以在字典中存储转储,并在以后使用这些转储,这样就不必每次都重新计算转储?这是一个概念验证问题,因为我正在寻找一种方法来加速androidviewclient缓慢的转储过程,并使我的脚本以任何方式更快。例如,AVC在我的脚本步骤之间返回到主屏幕,但是需要在多次刷新(u''Applications'')按钮之前再次转储。在

这是有问题的,因为我的脚本试图尽快配置设备的设置并启动应用程序,这会造成不必要的等待时间。我想创建一次主屏幕转储,将其存储,然后再参考我存储的转储文件,以便在步骤之间单击(u''Applications'')按钮,或者使用其他方法来创建更快的脚本。如果这是不可能的,我想知道有什么其他的脚本编写软件比AVC更快地工作而不牺牲效率,因为我喜欢与find views/button的一致性,重写我的功能性但很慢的脚本是没有问题的。在

到目前为止,我一直在寻找,什么也没有发现,并尝试了下面的研究视图客户端.py公司名称:

dictDump = {}
home() #helper method that goes to the home screen
dictDump['homeScreen'] = vc.dump()
vc.findViewWithContentDescription(u'''Applications''').touch()
dictDump['appScreen'] = vc.dump()
home()
vc.views = dictDump['homeScreen']
vc.findViewWithContentDescription(u'''Applications''').touch()

我得到:AttributeError:'NoneType'对象没有属性'touch'


Tags: 方法脚本home屏幕步骤dump按钮views
1条回答
网友
1楼 · 发布于 2024-09-30 02:35:34

这是一个culebra生成的脚本,稍作修改,以满足您的要求。在

#! /usr/bin/env python
# -*- coding: utf-8 -*-
'''
Copyright (C) 2013-2016  Diego Torres Milano
Created on 2016-06-21 by Culebra v11.5.9
                      __    __    __    __
                     /  \  /  \  /  \  /  \ 
____________________/  __\/  __\/  __\/  __\_____________________________
___________________/  /__/  /__/  /__/  /________________________________
                   | / \   / \   / \   / \   \___
                   |/   \_/   \_/   \_/   \    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

TAG = 'CULEBRA'

_s = 5
_v = ' verbose' in sys.argv


kwargs1 = {'ignoreversioncheck': False, 'verbose': False, 'ignoresecuredevice': False}
device, serialno = ViewClient.connectToDeviceOrExit(**kwargs1)
kwargs2 = {'forceviewserveruse': False, 'useuiautomatorhelper': False, 'ignoreuiautomatorkilled': True, 'autodump': False, 'startviewserver': True, 'compresseddump': True}
vc = ViewClient(device, serialno, **kwargs2)


device.press('HOME')
vc.dump(window=-1)
# let's keep the reference to apps (dangerous but possible)
apps = vc.findViewWithContentDescriptionOrRaise(u'''Apps''')

apps.touch()

vc.sleep(_s)
vc.dump(window=-1)

vc.findViewWithContentDescriptionOrRaise(u'''API Demos''').touch()

device.press('HOME')

# use the reference we kept
apps.touch()

vc.dump(window=-1)

browser = vc.findViewWithContentDescriptionOrRaise(u'''Browser''')
browser.touch()

device.press('HOME')

该脚本保留对应用程序的引用并重用它。 在许多其他情况下,保留参考可能不起作用,但因为主屏幕或应用程序的按钮不太可能改变,所以你可能没问题。在

相关问题 更多 >

    热门问题