androidviewclient работает неправильно после device.drag((200,350),(200,150))

моя проблема после:

device.drag((200,350),(200,150))
MonkeyRunner.sleep(6)
vc.dump()

Мой тест перестает работать. Кто-нибудь знает команду, которую я могу использовать вместо vc.dump()? Мне нужна команда после device.drag((200,350),(200,150)), которая позволит моему тесту продолжить работу.


person user2378438    schedule 13.05.2013    source источник
comment
Укажите используемый уровень Android API   -  person Diego Torres Milano    schedule 14.05.2013


Ответы (1)


Использование culebra для создания сценария в Launcher на эмуляторе 4.2 (API 17 ) и добавив drag в конце, скрипт работает как положено.

#! /usr/local/bin/shebang monkeyrunner -plugin $AVC_HOME/bin/androidviewclient-$AVC_VERSION.jar @!
# -*- coding: utf-8 -*-
'''
Copyright (C) 2013  Diego Torres Milano
Created on 2013-05-13 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')

print "### before drag ###"
vc.traverse(transform=ViewClient.TRAVERSE_CIT)
device.drag((450,200),(50,200))
MonkeyRunner.sleep(6)

print "### after drag ###"
vc.dump()
vc.traverse(transform=ViewClient.TRAVERSE_CIT)
person Diego Torres Milano    schedule 13.05.2013
comment
Спасибо, а что делать, если мой эмулятор с API‹16 - person user2378438; 14.05.2013
comment
Можете ли вы попробовать vc.touch или vc.type вместо vc.traverse(transform=ViewClient.TRAVERSE_CIT)? - person user2378438; 14.05.2013
comment
Должен работать и на эмуляторе с API ‹ 16. Попробуйте и расскажите нам о результатах. Выберите View из дампа хода и добавьте touch(), предоставьте результаты и здесь. - person Diego Torres Milano; 14.05.2013
comment
Это часть моего теста: - person user2378438; 16.05.2013
comment
device.drag((200,350),(200,150)) vc.dump() vc.traverse(transform=ViewClient.TRAVERSE_CIT) email = vc.findViewById(id/registrEMailEditText)email.type('test'+random.choice(' abcdefghijopklmnvzx')+random.choice('abcdefghijopklmnvzx')+random.choice('abcdefghijopklmnvzx')+'@test'+random.choice('abcdefghijopklmnvzx')+random.choice('abcdefghijopklmnvzx')+'.com') MonkeyRunner.sleep(6) - person user2378438; 16.05.2013
comment
Используйте findViewByIdOrRaise(), чтобы убедиться, что представления были найдены. - person Diego Torres Milano; 16.05.2013
comment
После команды vc.traverse(transform=ViewClient.TRAVERSE_CIT) она нажимает другую кнопку, но она должна отправлять текст для редактирования текста. Кажется: после device.drag((200,350),(200,150)) androidviewclient использует ту же координату, что и до device.drag((200,350),(200,150)). - person user2378438; 16.05.2013
comment
С помощью команды findViewByIdOrRaise(). У меня есть ошибка:] Traceback (последний последний вызов): Файл c:\android-sdk\tools\test1.py, строка 61, в ‹module› email = findViewByIdOrRaise(id/registrEMailEditText) NameError: name 'findViewByIdOrRaise' не определен - person user2378438; 16.05.2013
comment
Да, после команды email = vc.findViewByIdOrRaise(id/registrEMailEditText) у меня возникает ошибка:]Traceback (последний последний вызов): Файл c:\android-sdk\tools\test1.py, строка 61, в модуле ‹ › электронная почта = findViewByIdOrRaise(id/registrEMailEditText) NameError: имя 'findViewByIdOrRaise' не определено - person user2378438; 17.05.2013
comment
Сообщение об ошибке показывает что-то другое: `строка 61, в ‹module› email = findViewByIdOrRaise(id/registrEMailEditText)` (Нет vc. в этой строке) - person Diego Torres Milano; 17.05.2013