はじめに
Appiumを使って、電卓のボタンを押すところまでやってみました。今までjavascriptでやってきたのですが、うまくできなかったために、javaに乗り換えました。
環境
OS : Windows 10
スマホ : emulator (Pixel3 API 26)
Android Studio : 3.6.3
Appium : 1.17.1
言語 : java
参考にしたサイト
https://www.swtestacademy.com/appium-tutorial/
↑ 細かく書かれており、とても参考になりました。
1.準備
appium等のインストールは完了した状態で実施しております。まだの場合はAppium入門1 を参考に、 javascriptでサンプルコードが動作するところまで実施できるようにしてみてください。
2.intellij IDEA をインストール
下記のサイトから無料版(コミュニティ)の方をダウンロードします。 https://www.jetbrains.com/ja-jp/idea/download/#section=windows3.dependencies.の設定
3-1. IntelliJ IDEAを起動する。3-2.+ Create New Projectを押す。
3-3.Mavenを選択して、Nextボタンを押す
java-client - 最新のバージョンを選択し、mavenというタブに表示されたxmlをコピーする。
dependenciesというタグで囲む必要があります。
同じようにselenium-javaと, testngもコピペします。
最終的にはこんな感じになります。
3-8. versionの数字が赤い場合は、下図の更新ボタンを押すか、intelljを再起動すると 読み込まれるようです。(この辺はちょっと怪しいです。)4.0.0 org.example untitled 1.0-SNAPSHOT io.appium java-client 7.3.0 org.seleniumhq.selenium selenium-java 3.141.59 org.testng testng 7.1.0 test
4.inspectorで情報取得
4-1. emulator を起動4-2. 電卓アプリを起動
4-3. appiumを起動
4-4. uiautomatorviewerを起動
4-5. 電卓の1のボタンのresource-idを後で使います。
※uiautomatorviewerの使い方はこちらを参考にしてください。
5.emulatorの情報取得
5-1.emulatorを起動しておく5-2.PCでコマンドプロンプトを起動する。
5-3.adb devices とコマンドプロンプトに打ち込んで実行する。
※adbコマンドが実行できない場合は、環境変数のpathに%ANDROID_HOME%\platform-toolsを追加するか、platform-toolsにcdで移動して、実行してください
5-4.表示された文字列を後で使います。
6.javaのコードを作成
6-1. intellJ IDEAで src - test - javaを右クリックNew - Java Class を追加 - 任意の名前でクラスを追加する。
6-2. ここまでで集めた情報を使って次のコードを書きます。
①~④のところに今まで集めた情報を入れます。 後は特に変更しませんでした。
参考にしたサイトのコードとは少し異なります。不要と思うところを削除したためです。
import io.appium.java_client.MobileElement; import io.appium.java_client.android.AndroidDriver; import org.openqa.selenium.By; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import java.net.MalformedURLException; import java.net.URL; public class calctest { public AndroidDriverdriver; public WebDriverWait wait; @BeforeMethod public void setup () throws MalformedURLException { DesiredCapabilities caps = new DesiredCapabilities(); caps.setCapability("deviceName", "Pixel 3 API 26"); // ①emulatorの名前 caps.setCapability("udid", "emulator-5554"); // ②adb devicesコマンドの結果 caps.setCapability("platformName", "Android"); // ③androidなのでandroid driver = new AndroidDriver (new URL("http://127.0.0.1:4723/wd/hub"),caps); wait = new WebDriverWait(driver, 10); } @Test public void basicTest () throws InterruptedException { //Click and pass Splash wait.until(ExpectedConditions.visibilityOfElementLocated (By.id("com.android.calculator2:id/digit_1"))).click(); // ④uiautomatorviewer.exeで取得した情報を } @AfterMethod public void teardown(){ driver.quit(); } }
7.実行
7-1. emulatorを起動(「サーバーVXXXXXを起動する」ボタンも押しておく)7-2. emulator上で電卓アプリを起動
7-3. intellj IDEAで、Runメニュー Runを押す。
7-4. 電卓の1が押せたら成功です。
0 件のコメント:
コメントを投稿