はじめに
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 AndroidDriver driver;
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 件のコメント:
コメントを投稿