Appium要素の位置-Toast

 

トーストのプロフィール

  • アンドロイドでトーストは、単純なメッセージボックスです。浮動アプリケーションに表示されるビューは、ユーザーに表示されたとき。そして、ポップアップボックスには、それがフォーカスを取得したことがない、同じではありませんクリックできません。
  • トーストクラスイデオロギーはできるだけ控えめであり、またそれらを見たいと思って、ユーザに情報を表示します。トーストが表示され、限られた時間は、通常約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。
輸入org.openqa.selenium.WebElement;
輸入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と、
  @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)。
  }
  @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();
  }
 
}

 

おすすめ

転載: www.cnblogs.com/JacquelineQA/p/12459423.html