モバイル制御の操縦
Tosca XScan または画像ベースのテスト自動化で作成した Mobile Engine3,0xOS Modulesを使用して、モバイル コントロールを操縦することができます。
xOSモジュールを使用すると、iOSおよびAndroidデバイス上のネイティブ、ハイブリッド、およびモバイルウェブアプリケーションを自動化できます。一つのプラットフォームでxOSモジュールをスキャンし、それを使用して他のプラットフォームのコントロールを自動化できます。例えば、Androidデバイス上の xOSモジュールをスキャンし、それをテストケースで使用してiOSデバイス上のコントロールを自動化します。
この章では、以下の方法について説明します:
                                                                 
                                                             | 
                                                            
                                                                 Mobile Engine 3,0 がモバイルアプリケーション内の制御をサポートしていない場合は、 Vision AI を使用してこの制御するをスキャンして操縦できます。その方法については、こちらのナレッジベース記事を参照してください。  | 
                                                        
前提条件
- 
                                                        
すべてのネイティブiOSコントロールについては、 Xcodeで Accessibility プロパティを設定する必要があります。
 - 
                                                        
iOS12でモバイルウェブコントロールを操作する場合は、モバイルWebアプリケーションを準備する必要があります。
 
ネイティブアプリケーションでコントロールの操作
ネイティブアプリケーションを自動化するために、以下のモバイル制御を操縦することができます。
- 
                                                        
Androidのスナックバー
 
                                                                 
                                                                
                                                             | 
                                                            
                                                                 Androidネイティブアプリケーションでは、 Mobile Engine 3.0 が自動的にスクロールしてコントロールを見つけます。自動スクロールを無効にするには、ステアリングパラメータScrollingBehavior を使用します。 これを行うには、以下の手順に従ってください。 
  | 
                                                        
| 
                                                                 
                                                                      | 
                                                            
                                                                 ネイティブモバイルAutomationでは、ユーザーシミュレーションはサポートされません。ネイティブアプリケーションのユーザーインタラクションをシミュレートするには、 SendKeys キーボードコマンドをご使用ください。  | 
                                                        
chapter "ボタン" で説明されているネイティブ Android および iOS アプリケーション内のボタンを操縦します。
ButtonSelector は複数のラジオボタンで構成されています。
- 
                                                        
AndroidのRadioGroup
 - 
                                                        
iOSのUISegmentedControl
 
Tosca XScan は ButtonSelector 用のモジュール属性を作成します。
chapter "RadioButton" および chapter "コントロールグループ" で説明されているネイティブ Android および iOS アプリケーションで ButtonSelector を操縦します。
                                                                 
                                                             | 
                                                            
                                                                 ButtonSelector 制御をxOS モジュールとして使用するには、 iOSアプリケーションのコードでその accessibilityLabel を設定する必要があります。  | 
                                                        
ネイティブのAndroidおよびiOSアプリケーションにおいて、チェックボックスを操縦する方法は、 chapter "チェックボックス" に記載されています。
DatePicker コントロールでは日付を選択できます。
DataType 文字列を使用する場合の、正しい日付形式は DD.MM.YYYY.です。動的日付式 {DATE} または DataType Date を使用する場合、入力形式はお使いの Tricentis Tosca の設定によって異なります。
可能なアクションモードは入力、検証、バッファです。
                                                        
                                                        
                                                    
モバイル DatePicker のさまざまな使用例
ネイティブのAndroidおよびiOSアプリケーションにおいて、 Images を操縦する方法は、 chapter "画像" に記載されています。
ネイティブのiOS画像において、 Property enabled の値は常に True です。
ItemSelector とは、次を意味します。
- 
                                                        
Androidデバイス上のスピナー
 - 
                                                        
iOSデバイス上のUIPickerView
 
Name または Index プロパティを使用して、AndroidやiOSのネイティブアプリケーションで ItemSelectors を操縦します。
                                                        
                                                        
                                                    
iOSの ItemSelector のさまざまな使用例
Label とは、次を意味します。
- 
                                                        
Androidデバイス上のTextView
 - 
                                                        
iOSデバイス上のUILabel
 
ラベルの操縦方法は、 chapter "ラベル" で説明されています。
ListView とは、次を意味します。
- 
                                                        
Androidデバイス上のListView
 - 
                                                        
iOSデバイス上のUITableView
 
シングルラインビューについては、AndroidとiOSのネイティブ・アプリケーションで、以下の説明に従って 
                                                                 
                                                             | 
                                                            
                                                                 ListView コントロールをxOS モジュールとして使用するには、 iOSアプリケーションのコード内で accessibilityLabel を設定する必要があります。  | 
                                                        
PickerWheel とは、 DatePickerのホイールのことで、iOSデバイスで日付を選択するために使用されます。
PickerWheel コントロールの次の要素を操作できます。
- 
                                                        
時間
 - 
                                                        
分
 - 
                                                        
日
 - 
                                                        
月
 - 
                                                        
年
 
可能なアクションモードは、入力、バッファ、検証です。
                                                                 
                                                                
                                                             | 
                                                            
                                                                 以下の例では、 PickerWheel の時刻を 11:15 、日付を 1988年10月23日に設定しています。 
                                                                         iOS上のPickerWheel コントロール  | 
                                                        
AndroidとiOSのネイティブ・アプリケーションで、以下の説明に従って RadioButtons を操縦します chapter "RadioButton" 。
iOSアプリケーションの SearchBar は、次の要素で構成されています。
- 
                                                        
Tosca XScan で、 SearchBar として表示される検索ボックスエリア。このコントロールを以下の説明に従って操縦します chapter "テキストボックス" 。
 - 
                                                        
chapter "ボタン" で説明されているように操縦を可能にするボタンです。
 
Androidアプリケーションの SearchBar は、次の要素で構成されています。
- 
                                                        
Tosca XScan にテキストボックスとして表示される検索ボックスエリアです。chapter "テキストボックス" で説明されているようにこの制御を操縦します。
 - 
                                                        
Tosca XScan にボタンまたは画像として表示されるボタンです。chapter "ボタン" または chapter "画像" で説明されているとおりに操縦します。
 
スライダーとは、次のものです。
- 
                                                        
Androidデバイス上のSeekBar
 - 
                                                        
iOSデバイス上のUISlider
 
ネイティブのAndroidおよびiOSアプリケーションでスライダーを自動化することができます。標準のスライダーのみがサポートされています。
Value 列には、0から100の整数を入力する必要があります。この値はスライダー範囲のパーセンテージです。例えば、スライダーの値が0から1000の範囲にある場合、 Tosca Commander で Value を50に設定すると、スライダーの値が500に設定されることになります。
                                                                 
                                                                
                                                             | 
                                                            
                                                                 一部のデバイスやアプリケーションでは、デバイスの画面解像度やアプリケーションの実装により、スライダー全体が表示されない場合があります。この場合、 Tricentis Tosca によって選択された値は、スライダー上の値と若干異なる場合があります。デバイスの画面に表示されている内容に合わせて入力の値を調整してください。  | 
                                                        
                                                                 
                                                                
                                                             | 
                                                            
                                                                 以下の例では、スライダーの値を 88 に設定しています。次のテストステップでは、 Tricentis Tosca はActionMode 確認を使用してこの値を検証し、 Slider が有効になるまで待機します。 
                                                                         スライダーの値を 88 に設定  | 
                                                        
Switch とは、Androidデバイス上の Switch を指します。
chapter "チェックボックス" で説明されているネイティブ Android アプリケーション内のスイッチを操縦します。
TabBar とは次を意味します。
- 
                                                        
Androidデバイス上のTabHost
 - 
                                                        
iOSデバイス上のUITabBar
 
ネイティブ Android および iOS アプリケーションの TabBars は、 chapter "タブコントロール" で説明されているように操縦します。
テキストボックスとは、次を意味します。
- 
                                                        
Androidデバイス上のEditText
 - 
                                                        
iOSデバイス上の UITextFieldまたはUISecureTextField
 
chapter "テキストボックス" で説明されているネイティブ Android および iOS アプリケーション内の TextBoxes を操縦します。
モバイル Web アプリケーションで制御を操縦する
モバイルWebアプリケーションでは、次を操作できます。
- 
                                                        
Tosca XScan または画像ベースのテスト自動化によってで作成した xOS モジュールを使用した標準コントロール。
 - 
                                                        
XBrowser Engine3,0を使用して作成したHTML XModuleを使用した標準コントロール。
 
モバイル Web アプリケーションの自動化には、 chapter "ステアリングコントロール" で説明されているように、次の標準 HTML コントロールを操縦できます。
                                                                 
                                                             | 
                                                            
                                                                 ステアリングパラメータ ScrollingBehavior を使用すると、スクロール領域を調整して画面上の HTML制御の位置を定義できます。スクロール動作を設定の詳細情報は see chapter "Center (標準)" をご覧ください。  | 
                                                        
モバイルWebAutomationでは、 UseXBrowserForMobileTCP を使用する場合にのみユーザーシミュレーションがサポートされることにご注意ください。別の方法として、単一のキーボードコマンドと SendKeys キーボードコマンドを組み合わせて使用することもできます。
{CLICK} アクションのためにフォールバックメカニズムを有効にします
制御の上で {CLICK} 操作を使用し、ステアリングの問題が発生した場合は、クリックの代わりにタップをシミュレートすることができます。
これを行うには、テストケースに TCP TapByCoordinates を作成し、その Value を TRUE に設定します。
この TCP を TRUE に設定すると、 Mobile Engine 3.0 はコントロールの座標を Appium Server に渡します。その後、 {CLICK} のアクションを指定したコントロールのタップをシミュレートします。