1.はじめに
appium-サーバが元で、今更新されていない、appium、デスクトップよりもAPPの開始はappium・デスクトップ・サービスを開始していない、小さなスクリプトを使用することです。
あなたはnodejsをインストールするappiumサーバーの必要性をダウンロードしたいのでappium-サーバは、nodejs書き込みです。
2、appiumサーバーインストール
(1)nodejsをインストール
インストールするかどうかを確認するために、ノード-vとNPM -vコマンドを使用して、コマンドラインウィンドウ、環境変数のパスを手動で追加されていない場合は、自動的に追加nodejsロードキングであるかどうかを//nodejs.cn/download/、チェックします。http:公式ウェブサイトのアドレスをダウンロード成功。
NPMの設定を参照してください:NPM設定LS、下の図は、インストールパス接頭辞です
パスインストールNPM設定します「インストールパスは(中国とスペースを持って注意しないこと)、」NPM設定セットの接頭辞を
(2)appiumサーバーインストール
インストール1:NPMはAppiumサーバをマウント:NPM --registry http://registry.npm.taobao.orgインストールappium -g、淘宝網は、以下の画像のインストールを示唆したNPM
インストール2:インストールに使用する淘宝網CNPMコマンド:CNPMコマンドをインストール:NPM --registry http://registry.npm.taobao.orgインストールcnpm -g; CNPMはその後appiumサーバをマウント:appium -gをインストールcnpm
インストール後、インストールパスは、NPMのパスに設定され、その後、appium入力してCMDでの正常なインストールを確認します
3、appiumサーバを起動します
(1)appiumサーバパラメータ
appium -hコマンドを入力すると、コマンドラインの引数リストを取得することができます、あなたはappium開始appium-サーバーのコマンドラインパラメータ、および多くの希望の機能のパラメータを指定することができます。
--logパラメータおよび--local-タイムゾーンパラメータ設定appiumのログ保存パスを指定してください。
(2)Java起動とシャットダウンを使用して
// 起動とシャットサーバーappium @Test 公共 無効 startAndKillAppium()スローIOExceptionが、InterruptedExceptionある{ // スタートサーバーappium 文字列startAppium =「CMD / Cスタートappium -a 127.0.0.1 -p 4723 -g E:\\ appiumを--log ---ローカルタイムゾーンの.logタイムスタンプ" ; // Runtime.getRuntime()Execの()CMDコマンドを実行。 Runtime.getRuntime()エグゼクティブ(startAppium);. のThread.sleep( 2000 ); // 近いappiumをappiumサーバが書き込まnodejsされているため、-serverおよびコマンドライン・ウィンドウ、あなたは直接appiumサーバ停止したノードをオフにすることができます =文字列KillNodeを「taskkill / F / IM node.exe」; 文字列killCmdを= "taskkill / F / IMのcmd.exe" 。 Runtime.getRuntime()EXEC(KillNode)。 Runtime.getRuntime()EXEC(killCmd)。 }
Javaの起動appium-サーバーを使用して段付ピット
エラーがappiumコマンドを見つけることができない場合(1)、オープンIDEAに管理者を使用します
あなたは、Java appium-サーバーで起動した場合(2)、appium次のエラー表示されログインします。
「セッションを閉じ、原因は 『予期しないシャットダウン』だった、コマンドを実行しているが発生しました内部エラー:NoSuchDriverError:セッションはどちらか終了または開始されていません」。
404が、バージョンappium-デスクトップおよびappium-serverが統一されていないため、新しいAndroidDriverに結果のJavaを使用して、appium-デスクトップこの場合の起動時に表示されない、オンラインアップデートが推奨され、それはcnpm appium-サーバが尋ねる解決することができます
質問が、私は、次のように独自の方法で実行されてみてください解決しないこの方法を使用しています、効果的なプロのテスト
- まず、NPMは、上記のパスのセットをインストールすることを、インストールパスappium-サーバーを見つけるバッチファイルappium.cmdを見つけて開きます
--2。実際appium-サーバは、ファイルは、ファイルが存在する中でmain.js appium、デスクトップに起動できmain.jsファイルで確認するために開始するために使用することができます
C:\ Users \ユーザーHJY \のAppData \ローカル\プログラム\ Appium \リソース\アプリ\ node_modules \ appium \ビルド\ libに\ main.js、替换后
- 3.与えられて、もはやappium-サーバを起動するためにJavaを使用していない、スタートアップパスを交換した後、
その後、我々は、Java appium-サーバーの使用を開始し、ADB接続シミュレータを使用する最初の、自動化を実行します
パブリック クラスはAppTest { // 使用appiumサーバが起動APP パブリック 静的 ボイドメイン(文字列[]引数)がスローにIOException、InterruptedExceptionある{ // スタートappiumサーバ ストリングstartAppium =「CMD / Cスタートappium -a 127.0.0.1 -p 4723をE -g:\\ appium.log --local-タイムゾーン--log-タイムスタンプ」; Runtime.getRuntime()Execの(startAppiumが);. // appium-サーバはしばらく時間がかかります開始、待ち時間を設定する必要がある のThread.sleep (5000 ); // SET能力パラメータ DesiredCapabilities desiredCapabilities = 新しい新しいDesiredCapabilities(); // 必要なパラメータ desiredCapabilities.setCapability( "DEVICENAME"、 "127.0.0.1:7555" ); desiredCapabilities.setCapability( "platformName"、 "アンドロイド" ); desiredCapabilities.setCapability( "platformVersion"、 "6.0.1" ); desiredCapabilities.setCapability( "appPackage"、 "com.tencent.mobileqq" ); desiredCapabilities.setCapability( "appActivity"、 "activity.LoginActivity。" ); // 可选参数 // 不要重置签名 desiredCapabilities.setCapability( "noSign"、真の); 真に); // 設定すると、その実装プロセスの自動化スクリプトをペアで使用する入力、中国、次の属性の使用1だけでは無視することができ、ユニコードキーボードを使用するには 、desiredCapabilities.setCapability(「unicodeKeyboard」をtrueに); desiredCapabilities.setCapability(「resetKeyboard " trueに); // 複数のデバイスに接続されたコンピュータ、機器指定 // desiredCapabilities.setCapability(" UDID "" 127.0.0.1:7555を「); // ドライバはオブジェクトを作成 AndroidDriverドライバ= 新新 AndroidDriver(新新のURLを( "http://127.0.0.1:4723/wd/hub" )、desiredCapabilities); のThread.sleep( 3000 ); // 配置され、作動要素を driver.findElement(MobileBy.AccessibilityId( "QQ番号や携帯やメールを入力してください。"))のSendKeys( "123456" ); driver.findElement(By.xpath(「//android.widget.EditText[@content-desc= 'パスワードのセキュリティ'] "))のSendKeys(" 132456 " ); driver.findElement(By.id( " com.tencent.mobileqq:ID /ログイン" ))をクリックします(); のThread.sleep( 5000 ); / / 閉鎖APPおよびドライバ driver.closeApp(); driver.quit(); // 閉じるappiumサーバコマンドウィンドウおよび 文字列killCmd = "taskkill / F. / IMのCMD.EXE" ; 文字列killNode =「taskkill / F. / IM node.exe " ; ランタイム。getRuntime()のexec(killNode)。 Runtime.getRuntime()EXEC(killCmd)。 }