0

私は最近、モバイルアプリの自動化でPythonを使い始めました.Pythonを使用することにしたので、私が見つけた主な楽器はmonkeyrunnerとandroidviewclientでした。

しかし、何をすべきかわからない最初の問題があります。

package = 'com.mypackage.android'
activity = '.launchActivity'
component = package + "/" + activity

device, serialno = ViewClient.connectToDeviceOrExit()
device.startActivity(component=component)


time.sleep(3)

vc = ViewClient(device, serialno)
vc.dump()

showMenu = vc.findViewById("id/no_id/8")
showMenu.touch()

Windows cmd - monkeyrunner mypath\test-case1.py で実行しているため、例外が発生します。

131213 18:42:32.555:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions] Script terminated due to an exception
131213 18:42:32.555:S [MainThread] [com.android.monkeyrunner.MonkeyRunnerOptions]Traceback (most recent call last):
  File "C:\Python27\tests\1.py", line 26, in <module>
    device, serialno = ViewClient.connectToDeviceOrExit()
  File "C:\Program Files (x86)\Android\AndroidViewClient\AndroidViewClient-maste
r\AndroidViewClient\src\com\dtmilano\android\viewclient.py", line 1381, in conne
ctToDeviceOrExit
    ViewClient.setAlarm(timeout+5)
  File "C:\Program Files (x86)\Android\AndroidViewClient\AndroidViewClient-maste
r\AndroidViewClient\src\com\dtmilano\android\viewclient.py", line 1341, in setAl
arm
    signal.alarm(timeout)
  File "C:\Program Files (x86)\Android\android-sdk\tools\lib\jython-standalone-2
.5.3.jar\Lib\signal.py", line 222, in alarm
NotImplementedError: alarm not implemented on this platform

私は何か間違ったことをしていますか?助けてください。

本当にありがとうございました!

4

1 に答える 1

0

こんなsetAlarm感じです

@staticmethod
def setAlarm(timeout):
    osName = platform.system()
    if osName.startswith('Windows'): # alarm is not implemented in Windows
        return
    signal.alarm(timeout)

そのため、それが Windows であることを識別し、signal.alarm()実装されていないものを呼び出そうとしませんが、何らかの理由で失敗します。の結果を印刷して、osName何が問題なのかを確認してください。

アップデート

monkeyrunnerインタープリターとして使用していることがわかりましたが、 AndroidViewClient >= 4.0.0pythonは 100% 純粋な python であるため、 2.x インタープリターを使用してスクリプトを実行する必要があります。

于 2013-12-16T03:30:24.990 に答える