問題タブ [androidviewclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2837 参照

android - monkeyrunner を python ViewClient にインポートする

純粋な MonkeyRunner で壊れたパイプの問題が発生したので、MonkeyRunner の ViewClient 拡張機能を利用することに興味があります。

一部のテストでは、device.press(...)、device.touch(...)、device.drag(...) 関数で X/Y 座標を使用する必要があります (通常の Android 階層ではありません)。このため、MonkeyRunner を ViewClient Phyton スクリプトにインポートする必要があります。ただし、テストの Android アプリの部分では、適切な ViewClient を使用して階層内の ID を検索できます。vc.touch()/vc.drag() などを呼び出す前に ViewClient でハードコードされた X/Y を設定する方法を誰かが知らない限り?

したがって、ViewClient 環境と MonkeyRunner パスを取り込もうとする Python スクリプトに次のヘッダーがあります。ただし、スクリプトを実行すると、常に同じエラーが発生します。

ImportError: android.monkeyrunner という名前のモジュールがありません

環境をセットアップするスクリプトの部分は、このように構成されています (環境 - Ubuntu 12.04 LTS)

したがって、上記の出力は次のようになります。

ありがとう!

アップデート:

興味深いことに:

あってもいいのではない<type 'org.python.core.JavaImporter'>ですか?

更新 2:

違いは次のとおりです。

....では、Jython をインストールしてみましょう。

更新3:

いいえ。今はViewClientと戦うので、振り出しに戻ります...そして、ViewClientに付属のcheck-import.pyを見つけました。これにより、pythonではなくmonkeyrunnerがviewclient.pyおよびadbclient.pyに対して呼び出されているため、何かが正しく設定されていないと思います...

0 投票する
1 に答える
769 参照

android - Jenkins から Android デバイスに接続できません

そのため、以前は Jenkins 内から MonkeyRunner スクリプトを呼び出して USB Android デバイスに接続し、いくつかの自動テストを実行していましたが、MonkeyRunner 自体はかなり不安定だったので、素晴らしい AndroidViewClient に切り替えて、この純粋な Python API を使用するためにテスト スクリプトを移植しました。

新しい Python スクリプトは、シェルから独立して呼び出されると問題なく動作しますが、目標はビルド後のステップとして Jenkins からこのスクリプトを呼び出すことです。

私が抱えている問題は、USB Android デバイスへの初期接続です。以下のスクリプトは、実際のテスト スクリプトの一部です。これは、USB デバイスが存在するかどうかをテストし、Android デバイスに接続する前にそのシリアル番号を取得する部分です。これは、ubuntu シェルからは正常に機能しますが、Jenkins の「シェルの実行」から呼び出すと接続に失敗します。

Ubuntu Shell からの出力は次のとおりです。

情報: 3a005473 に接続しようとしています...

Jenkinsの「シェルの実行」ビルドステップから

エラー: デバイスが見つかりません

興味深いことに、元の MonkeyRunner スクリプト内からこの同じスニペットを呼び出すと、問題なく動作しました。それで、MonkeyRunner は私の Python スクリプトが行っていない初期設定を行うと考えていますか? USB デバイスの設定方法を知るには、Python の専門家ではありません。どんな助けでも大歓迎です。

0 投票する
1 に答える
554 参照

android - Android ビューのビュー名または ID を取得する方法

私は現在、Android携帯のテストを自動化するためのコードを開発しています。Python と、Diego Torres によって開発された AndroidViewClient ライブラリを使用して、テスト エンジンをベースにしました。

次のコマンドを使用して、ビューの階層を取得できます。

それは正常に動作します。ところで、私の問題は、各ビューが独自の階層を持っていることです。例として、通話アプリケーションは、ダイヤル パッド ビューと通話ログ ビューを持つことができます。

このビューにはそれぞれ独自の階層があります。各アイコン/テキスト フィールドを対応する ID で識別できましたが、ビュー名を取得する方法がまだ見つかりませんか??

何か案が ?

現在のビューに応じて反応できます。ダイヤル パッドの場合、ID は blablabla に対応します コール ログ ビューの場合、ID は blablabla に対応します

「vc」を使用してビュー ID を取得しようとしましたが、ダイヤル パッドまたは通話履歴画面にいる場合も同じです。このように、自分がダイヤルパッドにいるのか通話履歴ビューにいるのかを知る方法はありません

0 投票する
0 に答える
142 参照

android - Python 3 で実行しようとしたときに、adbclient.py での self.socket.recv() の誤った読み取り

AndroidViewClientPython 3.3 でサンプル ファイル (dump-simple.py)を実行しようとしています。

viewclient.py および adbclient.py ファイルで可能なすべての重要な構文の問題を修正して、Python 3 で実行できるように変換しました。

Android タブレットの USB を PC に接続していますが、cmd adb コマンドで正しく表示されます。私はWindows7 OSで作業しています。

現在、次の問題に直面しています。

すべての場所でself.socket.recv()関数が adbclient.py ファイルで使用され、b''文字列を返します

4 つの異なるベンダーの 4 つの異なる Android デバイスを試しましたが、いずれb''も返品されself.socket.recv()ました。

私は何を間違っていますか、まだ Python 3 で動作するように変換していないものは何ですか?

0 投票する
2 に答える
361 参照

android - AndroidViewClient を Eclipse と統合する方法とテストを開発する方法

eclipse で AndroidViewclient をセットアップするのを手伝ってくれませんか。また、基本的なアプリケーションと対話するテストを作成する方法のサンプル例を教えてください。

基本的な質問で申し訳ありませんが、これについての明確な手順がわかりませんでした。

前もって感謝します!!

よろしくASP