メインコンテンツまでスキップ

基本的なSenseTalkスクリプティング

SenseTalkは、Eggplant Functionalスクリプトを開発するために使用される英語のようなスクリプト言語です。このページでは、Eggplant Functionalによるテスト目的で使用される最も一般的なSenseTalk機能について説明します。以下にさらなる学習リソースが提供されています。SenseTalk言語とその背後にある哲学の紹介的な説明については、About SenseTalkを参照してください。

ノート

SenseTalk言語は色を使って表示され、個々の要素が異なる色で表示されることに気付くかもしれません。これは、スクリプトの作成を助けるためです。正しい構文で書かれたコードの行は色付けされますが、無効な構文は色付けされません。色は、Eggplant FunctionalのScript Preferencesで変更できます。

コマンドと関数の基本

コマンドと関数は似たように使用されますが、いくつかの重要な違いがあります。

  • 関数は常に戻り値がありますが、コマンドはmight戻り値があります。
  • 関数は通常、コマンドのパラメータとして使用されます。
  • コマンドは単独で書かれる必要があり、ステートメントの一部ではありません。関数はステートメントの一部でなければなりません。

構文ガイドライン

  1. コマンドと関数のパラメータをカンマで区切ります。 例:

    Click "SomeImage", "SomeOtherImage"
  2. 関数のパラメータを括弧で囲みます。 例:

    ImageLocation("ThisImage", "ThatImage")

Eggplant Functionalのコマンドと関数で使用されるデータ型

Eggplant Functionalのコマンドと関数は、さまざまなデータ型を使用します。数字、座標、文字列、プロパティリストなどです。

数字

パラメータとして渡される単一の数字は、引用符や括弧で囲まれません。

例:

ScrollWheelUp 10

時間

時間パラメータは秒単位で測定されますが、他に指定しない限り。SenseTalkは、weeksdayshoursminutessecondsmillisecondsという用語を理解しています。

例:

Wait 75
Wait 1 minute 15 seconds

座標

数字が座標として与えられる場合、それらは括弧で囲まれます。

例:

Click (40,65)

調整された座標

Eggplant Functionalでは、ベクトル演算を使用して、既知の位置に対して相対的な位置を生成することもできます。

例:

Click ((30,35) + (100,5))
Click (ImageLocation("SomeButton")+ (100,5))

文字列

文字列は、ファイル名やテキストリテラルなど、引用符で囲まれます。

例:

Click "CancelButton"
TypeText "Here is some text."

注:二重角括弧<< >>は、引用符を含むテキストや改行文字を含む大きなテキストブロックを囲むことができます。

プロパティリスト

プロパティリストは、特定のプロパティをリストすることでオブジェクトを定義または識別します。各プロパティは、プロパティが何を表すかを識別するキーと、オブジェクトのプロパティを定義する値からなります。

例:

Click (ImageName: "MenuButton", HotSpot: (10, 23))

上記の例では、画像名がMenuButtonの保存された画像と同じ画像が、異なるホットスポット位置(10,23)で記述されています。キーImageNameは、このプロパティリストが基づいている保存された画像を表します。ImageNameの値はMenuButtonであり、画像の実際の名前です。

プロパティリストは、常に括弧で囲まれ、各キーとその値の間にコロンが付けられます。クイックリファレンス:プロパティリストには、Eggplant Functionalで使用されるプロパティリストの種類の表が含まれています。詳細については、プロパティリストを参照してください。

SenseTalkのさらなる学習

SenseTalkとその使用方法をより深く理解するための情報については、SenseTalkリファレンスを参照してください。

SenseTalkリファレンスでカバーされているトピック:

  • SenseTalkについて:SenseTalkの概要とその仕組み。
  • 主要な要素:経験豊富なプログラマーや好奇心旺盛な人のための1時間のSenseTalk入門。
  • 基本:SenseTalkを効果的に使用するには、値、コンテナ、式、制御構造を理解する必要があります。
  • オブジェクトとメッセージ:メッセージとハンドラー、オブジェクトとそのヘルパーについての徹底的な理解を得る。
  • データベースの操作:SenseTalkスクリプトをデータベースで使用する方法についてよりよく理解するために、以下の情報を読んでください。
  • コマンドと関数:テキストの操作、計算の実行などの方法を学ぶ。
  • GUIオートメーションコマンドと関数:テスト対象システム(SUT)とやりとりするためのSenseTalk方法。マウスやキーボードコマンドを提供したり、画像を検索したり、接続されたモバイルデバイスを制御したりできます。
  • ローカルおよびグローバルプロパティ:SenseTalkでは、ローカルおよびグローバルプロパティは、実行環境の動作を決定するシステム全体の値です。

Eggplant Functionalのコマンドと関数のリファレンステーブルについては、それぞれクイックリファレンス:Eggplant Functionalコマンドクイックリファレンス:Eggplant Functional関数を参照してください。