ハートコア株式会社
HeartCore Roboドキュメント一覧
GUIリファレンス
2023-01-04

HeartCore Robo ワークアイテム(旧称スケジュール)

目次:

  1. 概要
  2. ワークアイテムの作成
    2.1 空のワークアイテム作成
    2.2 ワークアイテム用スクリプトの追加
  3. ワークアイテムの実行
    3.1 手動実行
    3.2 CLIの実行
    3.3 Java APIの実行

1. 概要

スケジューリングはv4.0以降で提供を開始した機能です。1つのロボットプロセス内で実行される1つ以上のテストスクリプトの連続シーケンスを定義するワークアイテム(旧称スケジュール)を作成することができます。
機能:


2.ワークアイテムの作成

ワークアイテムは作成したロボットプロジェクトのschedules/ディレクトリ配下にXMLファイルとして保存されます。テストスクリプトは相対ファイルパスを介して参照されるため、プロジェクト全体を移動または名前を変更してもワークアイテムは機能します。

2.1空のワークアイテムの作成

ワークアイテムは、スケジューラツールを使用して簡単に作成および管理できます。ワークアイテムを作成するには、次のいずれかを実行します。

ワークアイテムを作成する

「開始設定」というタイトルの青色の長方形のオブジェクトは、最上位のワークアイテムオブジェクトを表します。下部のタブ付きペインは作業項目の属性へのアクセスを提供します。


[プロパティ]タブにはワークアイテムレポートの作成方法を設定する[ワークアイテム詳細][レポート詳細]セクションがあります。

「スケジューリング」タブでは[開始タイプ]プロパティを設定できます。ワークアイテムの開始方法を定義します。(起動オプションについてはワークアイテムの実行に記載のある起動オプションを参照してください):


2.2ワークアイテムを設定するためのスクリプトの追加

ワークアイテムに最初のスクリプト(「タスク」と呼ばれる)を追加するには、最上位ワークアイテムオブジェクトをクリックし、次のいずれかを実行します。

タスクは、スクリプトファイル名の付いた新しいボックスとしてビューに表示されます。オプションの表示名を付けることができます。
さらにスクリプトを追加するには:

タスクのプロパティは、下のエディタで編集できます。

たとえば、携帯電話アプリケーションのテストを検討します。iOS(iOS.tpr)とAndroid(Android.tpr)上でテストするための2つのテストスクリプトがあります。計画は、iOS 6デバイスで最初に実行し、iOS 7でも再テストに合格するときです。Androidでのテストは並行して開始されます。Samsung S2デバイスで最初に実行され、合格すればSamsung S3で再テストされます。ワークアイテムは次のようになります。

ワークアイテムの例  


3.ワークアイテムを実行する

テストスイートは一般に、個々のテストスクリプトと同じように扱われます。彼らは3つの方法で始めることができます:

3.1 手動実行

GUIモードでワークアイテムを開始するには、スケジューラツールでワークアイテムを開いた状態で、ツールバーの[ 走る 実行 ]ボタンまたは対応するスクリプト - >実行メニュー項目を選択します。実行中のワークアイテムは、停止ボタンや一時停止ボタンで実行の停止/一時停止を行うことができます。GUIの実行の詳細については、スクリプトエディタのトピックを参照してください。

GUIにワークアイテムとテストスクリプトの両方が開いている場合、実行ボタンは常にワークアイテムを優先します。テストスクリプトを単独で実行するには、スクリプトエディタを右クリックし、コンテキストメニューからスクリプトの実行を選択します。
スクリプトを実行する
GUIはテストスクリプトを並行して実行することできないため、GUIは常に1つずつ順番に実行されます。並列実行の場合は、-n/--nodisplayオプションとともにCLI またはJavaAPI実行モードを使用します。


3.2 CLIの実行

テストスクリプトのように、テストスイートのXMLファイルは、-r/--runCLIオプションを介してRobotに渡すこともできます。これでロボットが起動し、ワークアイテムを実行して終了します。2つのモードがあります。
<Robot_start_command>-r <workitem_XML_file_path>
<Robot_start_command>-n -r <workitem_XML_file_path>

プロセス終了コード


3.3 Java APIの実行

Java APIを使用すると、サードパーティのJavaアプリケーションからワークアイテムを実行できます。この方法は、ロボット駆動の自動化とカスタムフレームワークの統合に適しています。ワークアイテムは、main()メソッドから実行されるJavaテストスクリプトと同じ方法で処理されます。オートメーション実行可能ファイルは、createAutomatedRunnable(String、String []、PrintStream、boolean)メソッドを使用して作成できます。このメソッドでは、ワークアイテムファイルパスが-r/--run引数内のオプションを渡されます。
public static void main(String args[]) {
    ApplicationSupport robot = new ApplicationSupport();
    AutomatedRunnable t = robot.createAutomatedRunnable("Example" , new String[] {"-r", "<path_to_schedule_XML>"}, System.out, true);
    new Thread(t).start();
}
代わりに、既存のワークアイテムインスタンスの実行可能ファイルを作成する新しいcreateAutomatedRunnable(Schedule、String、String []、PrintStream、boolean)メソッドがあります:
public static void main(String args[]) throws ParserConfigurationException, SAXException, IOException {
    ApplicationSupport robot = new ApplicationSupport();
    com.tplan.robot.scheduler.Schedule schedule = new com.tplan.robot.scheduler.Schedule();
    schedule.read(new java.io.File("<path_to_schedule_XML>"));
    AutomatedRunnable t = robot.createAutomatedRunnable(schedule, "Example" , new String[] {}, System.out, true);
    new Thread(t).start();
}
両方とも、-n--nodisplayを入力引数のリストに追加することでCLIの実行モードを強制的に許可します
AutomatedRunnable t = robot.createAutomatedRunnable("Example" , new String[] {"-n", "-r", "<path_to_schedule_XML>"}, System.out, true);