トーストのプロフィール
- アンドロイドでトーストは、単純なメッセージボックスです。浮動アプリケーションに表示されるビューは、ユーザーに表示されたとき。そして、ポップアップボックスには、それがフォーカスを取得したことがない、同じではありませんクリックできません。
- トーストクラスイデオロギーはできるだけ控えめであり、またそれらを見たいと思って、ユーザに情報を表示します。トーストが表示され、限られた時間は、通常約3秒で消えました。そのため、ツールを配置する伝統的な要素の使用は、我々は、トーストの要素を見つけることができません。
ソースリンクします。https://www.jianshu.com/p/211a8f6ff064
要件を取得します:
1.Javaクライアント5.0+
2. UIAutomatorの自動化エンジン
3.Androidシステムのバージョン5.0+
入手
By.xpath( "// * [含まれています( ')情報部分トースト'、テキスト@]")
実施例58都市APK。
まず、パッケージ名とクラス名を取得
パッケージ:名= 'com.wuba'
起動可能-アクティビティ:名= 'com.wuba.activity.launch.LaunchActivity'
次の
1.スタートをクリックし、手動でログインしていません
com.test.firstAppiumをパッケージ化。
輸入java.net.MalformedURLException;
インポートのjava.net.URL;
輸入java.util.concurrent.TimeUnit。
インポートのjava.net.URL;
輸入java.util.concurrent.TimeUnit。
輸入org.openqa.selenium.WebElement;
輸入org.openqa.selenium.remote.DesiredCapabilities。
輸入org.testng.annotations.AfterTest;
輸入org.testng.annotations.BeforeTest;
輸入org.testng.annotations.Test;
輸入org.openqa.selenium.remote.DesiredCapabilities。
輸入org.testng.annotations.AfterTest;
輸入org.testng.annotations.BeforeTest;
輸入org.testng.annotations.Test;
インポートio.appium.java_client.android.AndroidDriver;
ToastTestクラス{パブリック
//グローバル変数宣言
のpublic static AndroidDriver <WebElement> androidDriverと、
//グローバル変数宣言
のpublic static AndroidDriver <WebElement> androidDriverと、
@BeforeTest
ます。public voidセットアップは、()でMalformedURLExceptionをスロー{
// 1.作成構成オブジェクト
DesiredCapabilitiesのdesiredCapabilities =新新DesiredCapabilities();
// 2. [追加の設定
// DEVICENAME:あなたは私たちがテストしたデバイスを見つけることができます
desiredCapabilities.setCapability( "DEVICENAMEを"、 " 127.0.0.1:62001 ");
// PlatformName:IOSまたはAndroid用テストプラットフォーム
desiredCapabilities.setCapability(" PlatformName ""アンドロイド「);
// appPackage:テストAPP見つける:AAPTダンプバッジ.....
desiredCapabilities.setCapabilityを( "appPackage"、 "com.wuba");
// automationName:データ入力することはできませんアドレス入力ボックスにuiautomator2
//自動化エンジンの
//desiredCapabilities.setCapability("automationNameを"" uiautomator2「);
//アプリケーションデータをクリーンアップしていないが、デフォルトではクリーンアップすることです
desiredCapabilities.setCapability(真の"NORESET"、);
// appActivity:入学テストアプリの
desiredCapabilities.setCapability( "appActivity"、 "com.wuba.activity.launch.LaunchActivity");
//ドライブを作成する
2つのパラメータを渡す//最初のパラメータ:Appiumアドレス、第二のパラメータ:構成オブジェクト
androidDriver新しい新しいandroidDriver = <WebElement>(新しい新しい( "http://127.0.0.1:4723/wd/hub")URL、desiredCapabilities);
//暗黙の待ち時間
.. androidDriver.manage()タイムアウト() implicitlyWait(30、TimeUnit.SECONDS)。
ます。public voidセットアップは、()でMalformedURLExceptionをスロー{
// 1.作成構成オブジェクト
DesiredCapabilitiesのdesiredCapabilities =新新DesiredCapabilities();
// 2. [追加の設定
// DEVICENAME:あなたは私たちがテストしたデバイスを見つけることができます
desiredCapabilities.setCapability( "DEVICENAMEを"、 " 127.0.0.1:62001 ");
// PlatformName:IOSまたはAndroid用テストプラットフォーム
desiredCapabilities.setCapability(" PlatformName ""アンドロイド「);
// appPackage:テストAPP見つける:AAPTダンプバッジ.....
desiredCapabilities.setCapabilityを( "appPackage"、 "com.wuba");
// automationName:データ入力することはできませんアドレス入力ボックスにuiautomator2
//自動化エンジンの
//desiredCapabilities.setCapability("automationNameを"" uiautomator2「);
//アプリケーションデータをクリーンアップしていないが、デフォルトではクリーンアップすることです
desiredCapabilities.setCapability(真の"NORESET"、);
// appActivity:入学テストアプリの
desiredCapabilities.setCapability( "appActivity"、 "com.wuba.activity.launch.LaunchActivity");
//ドライブを作成する
2つのパラメータを渡す//最初のパラメータ:Appiumアドレス、第二のパラメータ:構成オブジェクト
androidDriver新しい新しいandroidDriver = <WebElement>(新しい新しい( "http://127.0.0.1:4723/wd/hub")URL、desiredCapabilities);
//暗黙の待ち時間
.. androidDriver.manage()タイムアウト() implicitlyWait(30、TimeUnit.SECONDS)。
}
@Test
ます。public void getToast(){
。//androidDriver.findElementsByAndroidUIAutomator("new UiSelector()テキスト(\ "未登录\") "))(クリックしてください。
androidDriver.findElementById( "com.wuba:ID / header_login_button")をクリックします();。
。。//androidDriver.findElementsByAndroidUIAutomator("new UiSelector()テキスト(\ "账号密码登录\") "))(クリックしてください。
androidDriver.findElementById( "com.wuba:ID / accountLogin")。()をクリックします。
androidDriver.findElementById( "com.wuba:ID / login_username")のSendKeys( "123333334")。
androidDriver.findElementById( "com.wuba:ID / login_password")のSendKeys( "14444423");。
androidDriver.findElementById( "com.wuba:ID / login_login_button")をクリックします();。
WebElement toastElement = androidDriver.findElementByXPath( "// * [含まれています(@Text、 '用户名与密码')]");
System.out.println(toastElement.getText())。
}
@AfterTest
公共ボイドティアダウン()InterruptedExceptionある{スロー
のThread.sleep(3000)。
androidDriver.quit();
@Test
ます。public void getToast(){
。//androidDriver.findElementsByAndroidUIAutomator("new UiSelector()テキスト(\ "未登录\") "))(クリックしてください。
androidDriver.findElementById( "com.wuba:ID / header_login_button")をクリックします();。
。。//androidDriver.findElementsByAndroidUIAutomator("new UiSelector()テキスト(\ "账号密码登录\") "))(クリックしてください。
androidDriver.findElementById( "com.wuba:ID / accountLogin")。()をクリックします。
androidDriver.findElementById( "com.wuba:ID / login_username")のSendKeys( "123333334")。
androidDriver.findElementById( "com.wuba:ID / login_password")のSendKeys( "14444423");。
androidDriver.findElementById( "com.wuba:ID / login_login_button")をクリックします();。
WebElement toastElement = androidDriver.findElementByXPath( "// * [含まれています(@Text、 '用户名与密码')]");
System.out.println(toastElement.getText())。
}
@AfterTest
公共ボイドティアダウン()InterruptedExceptionある{スロー
のThread.sleep(3000)。
androidDriver.quit();
}
}