2016-06-21 2 views
0

덤프를 사전에 저장하고 나중에이 덤프를 사용하여 매번 덤프를 다시 계산할 필요가 없도록하는 방법이 있습니까? 이것은 androidviewclient의 느린 덤프 프로세스의 속도를 높이고 어떤 방식 으로든 내 스크립트를 더 빠르게 만드는 방법을 찾고있을 때 더 많은 개념 증명 질문입니다. 예를 들어, AVC는 스크립트의 단계들 사이에서 홈 화면으로 돌아가지만 (u ''Applications '' ') 버튼을 몇 번 다시 리핑하기 전에 다시 덤프해야합니다.androidviewclient :보기 클라이언트 덤프

스크립트가 가능한 빨리 장치 설정을 구성하고 앱을 실행하려고하므로 불필요한 대기 시간이 발생하므로 문제가됩니다. 한 번 홈 화면 덤프를 만들고 저장하고, 저장 한 덤프를 다시 참조하여 단계 사이에 u ''응용 프로그램 '' '단추를 클릭하거나 더 빠르게 만드는 다른 대체 방법을 가지고 싶습니다 스크립트. 이것이 가능하지 않다면 뷰/버튼 찾기와 일관성이 있고 기능적이지만 느린 스크립트를 다시 작성하는 것이 아무런 문제가되지 않기 때문에 효과를 희생하지 않고 AVC보다 다른 스크립트 작성 소프트웨어가 더 빨리 작동하는지 알고 싶습니다.

지금까지 내가 검색 한 아무것도 발견하고 viewclient.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'개체가 어떤 속성을 '터치'

답변

0
이 없습니다

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') 

스크립트는 애플 리케이션 및 재사용에 대한 참조를 유지합니다. 참조를 유지하는 것이 다른 많은 상황에서는 작동하지 않을 수 있지만 홈 화면이나 Apps 버튼이 변경 될 가능성은 매우 낮기 때문에 참조가 잘 작동하지 않을 수 있습니다.