SilkTest 技術情報(FAQ)


MobileBaseStateの使い方

SilkTestの構成は、BaseStateクラスを使うと動的に生成することができます。構成を使用しないスクリプトは、スクリプト内で全ての処理が完結するため、スクリプトの再利用性が高まります。

特に、定型の操作を構成を使用しないプログラムにまとめておき、テスト対象アプリケーションが使用する構成に影響されず実行したい場合などに便利です。

たとえば、テストの実行前に環境設定を行う、などの場合、環境設定に関する部分を構成を使用しない形で作成しておきます。

デスクトップアプリにはBaseStateクラス、クロスブラウザのアプリにはBrowserBaseStateクラスを使います。

モバイルデバイスについて、.NET スクリプトから使用可能なメソッドは航海されていませんが、Silk4net用に用意されている、MobileBaseStateというクラスがそのまま使用できます。

文書化されていない機能ですが、Silk4Netでは使用されている機能であり、比較的安全に使用できます。


MobileBaseStateコンストラクタ

.NET スクリプトから、MobileBaseStateオブジェクトは次のコンストラクタで構築できます。

  • MobileBaseState(ByVal connectionString As String)
    connectionString : アプリケーション構成に書かれている接続文字列です
  • MobileBaseState(ByVal agent RemoteAgent , ByVal connectionString as String )
    RemoteAgent:リモートエージェントのアドレスを指定します。
    conectionString: アプリケーション構成に書かれる接続文字列を指定します

MobileBaseStateの使用例

MobileBaseStateを使用したプログラムは次のようになります。このスクリプトは、構成が無くても動作します。

Androidの設定画面を開き、WIFI設定の画面に遷移します。

Imports SilkTest.Ntf.Mobile

Public Module Main
 Dim _desktop As Desktop = Agent.Desktop

Public Sub Main()
 Dim bs As MobileBaseState
 bs = New MobileBaseState( ("deviceName=Nexus 5X;platformName=Android;appActivity=com.android.settings.Settings;appPackage=com.android.settings")
 bs.Execute
 Dim device As MobileDevice = _desktop.MobileDevice("/MobileDevice")
 
 device.MobileObject("[@caption='Wi-Fi']").Click()
 End Sub
End Module

スクリプトには、MobileDeviceオブジェクトが使用されています。これは、構成を使用したとき With _desktop.MobileDevice() として使用されるオブジェクトの実体で、次のように作成できます。

Dim device As MobileDevice = _desktop.MobileDevice("/MobileDevice")

BaseStateを使う場合、このモバイルデバイスオブジェクトへの参照を使用して、オブジェクトへのアクセスを行います。


免責事項

ここで紹介したスクリプトは説明のためのサンプルであり、製品の一部ではございません。スクリプトが実際に動作するか、御社業務に適合するかなどに関しまして、一切の保証はございません。 スクリプト、説明、その他すべてについて、無謬性は保障されません。

ここで紹介するスクリプトの一部、もしくは全部について、弊社に断りなく、御社スクリプトの内部に組み込み、そのままご利用頂いても構いません。

本スクリプトの一部もしくは全部を二次的著作物に対して引用する場合、著作権法の精神に基づき、適切な扱いを行ってください。