メインコンテンツまでスキップ
バージョン:23.3

eggPlant Functional v15 リリースノート

以下のノートは、各リリースで導入されたeggPlantの新機能と変更点の説明を提供します。早期のバージョンからアップグレードする際は、関連する変更について読むことを強く推奨します。

互換性の問題はREDで強調表示されます。

互換性

  • Mac OS X 10.7、10.8、10.9、10.10
  • Windows 7、8、Server 2008、Server 2012
  • glib 2.11以降をベースにしたLinux 32ビット DebianおよびRedHat

64ビットのディストリビューションは、すべての依存する32ビットライブラリのサポートされたバージョンを持つ必要があります。

クロスプラットフォームユーザー向けの注意事項:

LinuxおよびWindows用のeggPlantには、Mac用のeggPlantで利用可能なほぼすべての機能が含まれています。リリースノートの最後に除外された機能がリストアップされています。

リリースノートのリスト

以下に提供されるリリースノートのリストです:

リリースv15.20 (2015年8月18日)

ハイライト

  • 共通スクリプティング用語の説明、テンプレート、およびドキュメンテーションリンクを含む新しいSenseTalk Browser
  • スクリプトエディターでの句読点、制御構造、およびSenseTalk言語要素の自動補完
  • SenseTalk Browserの一部としてカスタムコードスニペットを作成する機能。
  • Variable Watcherは、スクリプト実行中に変数の値を表示および編集できます。
  • テーブルテストは、CSVテーブルに格納された値を反復処理するData Driven実行をサポートしています。
  • コードのセクションを新しいスクリプトに抽出することで、スクリプトをrefactor scriptsする機能。

接続の改善

  • Windows RDPは、Windows上で大幅にCPU使用率を低減します。
  • Connectコマンドで指定された値、またはコマンドライン引数を使用して指定された値は、Connection List内の既存の値よりも優先されます。
  • 組み込みのAndroid Server 2.6がeggPlant Functional 15.20に含まれています。 iOS Gateway 2.6は間もなく提供されます。
  • リモート画面のサイズを縮小するためのモバイルVNC接続のオプションを追加しました。必要に応じて、縮小されたスクリーンをブレンドすることができます(古いVNCサーバーとの互換性のため)。注:iOS Gateway 2.6またはAndroid Server 2.6が必要です。
  • モバイル接続用のRebootコマンドを追加しました。注:iOS Gateway 2.6またはAndroid Server 2.6が必要です。
  • モバイルアプリを終了するKillAppコマンドを追加しました。注:iOS Gateway 2.6またはAndroid Server 2.6が必要です。
  • Androidデバイス用の**SUTinfo()**関数を追加しました。SUTinfoは、接続されているAndroidデバイスに関する情報のプロパティリストを返します。プロパティには、タイプ、device_os_version、およびデバイスが含まれます。注:Android Server 2.6が必要です。

ユーザーインターフェイスの改善

  • RunウィンドウにはVariable Watcherがあり、スクリプトが実行中に変数の値を確認できます。オプションには、表示される変数のスコープと変数の更新頻度(連続またはスクリプトが一時停止したときのみ)が含まれます。
  • Windows上でスクリプト名と画像名をクリックして、それらをインラインで編集することができるようになりました。これにより、Renameメニューアイテムを使用する必要がなくなりました。
  • 実行ウィンドウ内のAd Hoc Do Box (AHDB)は、複数行のテキストが入力されたときに拡大されるようになりました。
  • スクリプトリストで、テーブルアクションが有効になっているスクリプトを示す色指示器を有効にすることができます。

スクリプトの改善

  • テーブルは、オプションでCSV データファイルを指定することができます。指定された場合、テーブルアクションはファイル内の各行で繰り返されます。最初の行は列ヘッダーを含める必要があります。各列の値は、$HEADER_NAMEを使用して引数または期待値フィールドで使用できます。

  • テーブルは、引数または期待値フィールドで使用するための前の行からの戻り値を指定することができます。特定の行の結果を#LINE_NUMBERで参照するか、直前の行に対しては#prevを使用できます。

  • スクリプトエディターでの句読点、制御構造、およびSenseTalk言語要素の自動補完。オプションには括弧、引用符、コンマ、中括弧、角括弧、if文、repeat文、ハンドラー、スクリプト名、ローカル変数、画像名、SenseTalkキーワードが含まれます。

  • answerコマンドはfrom listmultiple、およびdefault answerオプションで拡張されています。例:

    answer "何を飲みたいですか?" from list ("コーヒー", "紅茶", "ココア", "水") allow multiple default “コーヒー”
  • 新しいスクリプトにコードを抽出することでスクリプトをリファクタリングする能力。新しいスクリプトにコードを抽出するには、コードを選択し、右クリックし、ドロップダウンリストでExtract New Scriptを選択します。

  • assertコマンドを追加しました。assertコマンドが実行されると、eggPlantは成功、失敗、警告、または例外をログに記録します。読みやすさを向上させるために、assertコマンドに"that"という単語を挿入することができます。例:

    assert that x > 10

    assertコマンドの動作はいくつかのプロパティによって制御されます:

    • assertionBehaviorプロパティは現在デフォルトでExceptionに設定されています。ErrorWarning、またはPauseに設定することもできます。これにより、挙動を指定しないassertコマンドのデフォルト挙動を確立します。挙動が"Pause"の場合、logWarningが発生し、スクリプトはassertコマンドの次の行でデバッガーで一時停止します。
    • assertionPassCountassertionFailCountassertionErrorCountassertionWarningCount、およびassertionExceptionCountは、assertコマンドが実行されるたびに適切に増加するグローバルカウンターです。各失敗は、assertionFailCountとエラー、警告、または例外カウンターの一つを増加させます。
    • assertionsEnabledプロパティはデフォルトでTrueに設定されています。Falseに設定されている場合、assertコマンドは無視され、実行されません。
  • Linux用:Image名は、標準的なeggPlant画像コマンドで使用されるときに大文字と小文字を区別しないようになりました。ローカルファイル操作は、ローカルファイルシステムのケース挙動に従います。

バグ修正/調整

接続

  • スクリプトレベルで画面サイズの変更が適切に検出されない問題をいくつか修正しました。
  • スクリプトから作成された接続で接続リストが更新されない問題をいくつか修正しました。
  • 接続リストで作業しているときに範囲例外を取得する問題をいくつか修正しました。
  • Bonjourディスカバリー設定が反映されない問題を修正しました。
  • 接続が外部で閉じられた後にRDP接続を再設定できなかった問題を修正しました。
  • コマンドラインからのいくつかのRDP接続を作成する問題を修正しました。
  • RDP接続にWindowsAltKeyのサポートを追加しました。
  • RDP接続のF11マッピングを修正しました。
  • ローカルのAndroidデバイス名やシリアル番号が正しく表示されない問題を修正しました。
  • eggCloudデバイスの名前を適切に表示します。
  • eggCloudからの予約が誤った時間を報告する問題を修正しました。
  • 設定されたeggCloudサーバーに接続できないときに非常に遅い起動が発生する問題を解決しました。
  • ルールを使用してeggCloud SUTに接続すると、時々間違ったSUTに接続する問題を修正しました。

スクリプティング

  • テーブルテストが実行中にスイートを閉じるとクラッシュが発生する可能性がある問題を修正しました。
  • 値がセルをオーバーフローするテーブルのフォーマット問題をいくつか修正しました。
  • テーブルが呼び出していたスクリプトとの関連付けが失われる問題を修正しました。
  • TypeText HomeButtonの問題を修正しました。
  • Pinchesが発生する前にRemoteWorkIntervalがチェックされるようになりました。
  • SUTから/へのファイルのコピーを試みると、接続がない場合にエラーがスローされるようになりました。
  • OCRコマンドのメモリ使用量を大幅に改善しました。
  • OCR検索のValidWordsを指定する際のたまに発生するタイミング問題を修正しました。
  • 無効なOCR操作を試みるときのエラーメッセージを改善しました。
  • 非常に長い戻り値(例:URLの読み取りから)がWindows上で正しく表示されない問題を修正しました。

ユーザーインターフェース

  • スクリプトのすべてのログを削除すると、結果リストからスクリプトが削除されるようになりました。
  • WindowsおよびLinux上のTurbo CaptureモードでのDrag and Dropイベントの記録が大幅に改善しました。
  • スケジュールから他のスイートの結果を開く問題を修正しました。
  • 中断したスケジュールが成功ステータスのスクリプトを表示する問題を修正しました。
  • トレラント画像がパルシング検索タイプが選択されているかのように表示される問題を修正しました。
  • Update Image Panelを使用して画像を再取得すると、ホットスポットが中央にリセットされる問題を修正しました。
  • Update Image PanelのDiscrepancy Searchで修正された画像は、パーセンテージではなく絶対ピクセル値を使用するようになります。
  • Update Image Panelからヘルパースイートに再取得した画像を保存する問題を修正しました。
  • トレース機能がスクリプトの最後の行を無視する問題を修正しました。
  • Preference Panes内の多くのフォーマット問題をクリーンアップしました。

その他

  • ライセンスパネルのホストID用にクリップボードにコピーボタンを追加しました。
  • 一部のLinuxディストリビューションで、外部ファイルとURLリソースが正しく開かない問題を修正しました。
  • 特殊なCLIライセンスがGUIライセンスよりも優先されることがある問題を修正しました。

リリースv15.14(2015年6月9日)

バグ修正/微調整

  • リモートで終了したRDPセッションへの再接続の問題を修正しました。
  • Windowsのスクリプト内の乱数に関する問題を修正しました。
  • 内蔵Android VNCサーバーにZLIB圧縮のサポートを追加しました。
  • 内蔵Android VNCサーバーにスケーリングサポートを追加しました。ユーザーはConnectコマンドに"--scale-screen RATIO"をAdditionalArgs引数として渡すことでスケーリングを指定できます。
  • 繰り返し接続および切断すると発生する内蔵Android VNCサーバーの問題を修正しました。

リリースv15.13(2015年4月27日)

バグ修正/微調整

  • ADBのバージョンを選択するためのGUIコントロールを設定に追加しました。
  • Android向けに自動展開されるVNCサーバーの改善。
  • Connection Listの条件を修正しました。これにより、誤ったSUTに接続することがありました。
  • ホストによって接続が早期に終了された場合のAndroidデバイスへの接続問題を修正しました。
  • Suite内に多くの画像が存在する場合、WindowsのSuite Searchフィールドのパフォーマンスを大幅に改善しました。
  • ad hoc eggCloudの予約が自動的に延長されない問題を修正しました。
  • 複数のデバイスを同時にテストするために、WindowsをADBサーバーを停止しないように変更しました。(ADB 1.0.31では推奨されません) (ADB 1.0.31では推奨されません)
    ADBStopServerOnQuit

リリースv15.12(2015年4月6日)

バグ修正/微調整

  • ADBの複数のバージョンに対応したより広範なAndroidデバイスと連携するロジックを追加しました。デフォルトでは、ADBバージョン1.0.31が使用されます。

  • 以下のコマンドを発行することで、ADBの新しいバージョン(一部の古いデバイスとは互換性がありません)に切り替えることができます:

    Mac/Linux:

    defaults write Eggplant ADBVersion "1.0.32"

    Windows:

    defaults.bat write Eggplant ADBVersion "1.0.32"

リリースv15.11(2015年3月26日)

ハイライト

  • eggPlant Functionalには、Androidデバイス用の組み込みVNCサーバーが含まれています。VNCサーバーがまだ存在しない場合、デバイスへの接続時にインストールされます。
  • eggCloudサーバーとの統合を改善しました。

ユーザーインターフェイスの改善

  • Table GUIおよびプレースホルダートークンの改善。
  • Windows上のFindおよびReplaceのパフォーマンスを大幅に改善しました。

接続の改善

  • RDPでdomain\usernameを使用する機能を追加しました。
  • RDP接続が予期せずに失敗したときのクラッシュを修正しました。
  • USB経由でAndroid用eggOnアプリを起動する問題を修正しました。
  • 同じポートを使用している複数のAndroidサーバーに接続する問題を対処しました。

スクリプトの改善

  • 端点で異なる単位が使用された場合でも、範囲が正しく評価されるようにしました。
      • 事前に定義された変数が、それらが変更されたときに空であるかのように動作しない問題を修正しました。
  • ポイントと矩形でテキストを読む際の行末を正規化しました。
  • 非識別子文字を含むプロパティキーをアーカイブする問題を修正しました。

バグ修正/調整

  • ライセンスがコマンドラインから実行されたり、突然終了したりしたときにeggPlant Functionalがリリースされない問題を修正しました。
  • RunHistory.xml ファイルが破損する可能性のある問題を修正しました。
  • eggPlant Functionalが反応が遅い/反応しない問題を修正しました。
  • データベースから非ASCII文字を読み取る問題を修正しました。
  • Bonjour/Zeroconfが有効化されていない場合にフィードバックを提供します。
  • CaptureScreen中に接続がドロップしたときのハングを修正しました。
  • Show Image Usageで発生する可能性のある例外をクリアしました。
  • テキスト画像検索でValidWordsプロパティを使用するときに発生する可能性のある状況を修正しました。
  • スクリプトのメタデータを変更していない場合、SuiteInfoファイルを更新しないようにしました。

リリースv15.10(2015年3月3日)

ハイライト

  • モバイルサーバーへのファイルのコピーアプリケーションのアップロードに関する新しいコマンド。
  • iOS GatewayでのPinchジェスチャのサポート。
  • iOSデバイスOrientationを設定する新しいコマンド。
  • Bonjour/zeroconfを介して広告を行うサーバーのVNC Server Discoveryを追加しました。(以前はMacのみ)

ユーザーインターフェイスの改善

  • 接続インターフェイスでRDPセッションの解像度を指定する機能を追加しました。
  • 接続を行う際に"パスワードを保存"するチェックボックスを追加しました。
  • テーブルは、名前にスペースが含まれるスクリプトからACTIONSを定義することを許可します。
  • 名前に無効な文字(コロンや引用符など)が含まれるスクリプトや画像の保存を防止します。
  • 設定でeggCloudポート番号を指定する能力を追加しました。
  • 縦と横のツールバーの設定は、今後セッション間で保存されます。

スクリプティングの改善

  • マルチタッチデバイス上でズームを呼び出すための PinchOut / PinchIn コマンドを追加しました。単一のポイント、ポイントと距離、または2つのポイントを指定できます。詳細については、ドキュメンテーションを参照してください。

    //デフォルトの期間(2秒)で画像を拡大します:
    PinchOut (At:"MyPhoto")
    // 一点から300ピクセルズームアウトします:
    PinchIn (At:(500, 500), Distance:300)
    // 二つの画像点を使用してズームインします
    PinchOut (At:"LEFT_SIDE", To:"RIGHT_SIDE")
  • RotateLeftRotateRightSetDeviceOrientation、および**GetDeviceOrientation()**コマンドを追加しました。これらのコマンドは、モバイルデバイスの方向に対する完全な制御を提供します。詳細については、ドキュメンテーションを参照してください。

    SetDeviceOrientation "Landscape"
    put GetDeviceOrientation()
  • iOS Gatewayへ/からファイルをコピーする機能を追加しました。リモートファイルを示すために、ファイル名の前に**sut:**を使用して、**copy file … to …**の構文を使用します。

    copy file "/Users/jonathan/MyFile.txt" to "sut:/tmp/MyFile.txt"
  • iOS Gatewayが制御するSUTにアプリケーションをインストールおよび署名する機能を追加しました。インストールするファイルの参照としてApplicationPathキーを取るInstallAppコマンドを使用します。これは、iOS Gatewayマシン上のファイルを指定するためにsut:で始めることができます。オプションで、アプリケーションに再署名するために使用するモバイルプロビジョンファイルをProvisionPathで指定することもできます。再び、**sut:**を使用してiOS Gatewayマシン上のファイルを指定することができます。最後に、CertificateNameは、iOS Gatewayマシン上のキーチェーンに保存された有効な証明書名でなければなりません。

    installApp (applicationPath:"/Users/paul/Desktop/YetAnotherSampleApp.ipa", provisionPath:"sut:/Users/paul/Library/MobileDevice/Provisioning Profiles/0c7acd92-b4fc-4295-9938-58b759287d3f.mobileprovision", certificateName:"iPhone Developer: Paul Landers(7JZCTVR53Z)")
  • 任意のSenseTalk値のアーカイブテキスト表現を生成し、そのようなアーカイブから同等の値を効率的に復元するために使用できる新しい**archive()unarchive()**関数を追加しました。アーカイブ形式はリスト値とプロパティリストのプロパティを複数の行に広げ、それはstandardFormat関数によって生成される形式よりも人間が読みやすいです(常に一行)、そしてunarchive関数はそれを再び読むのがvalue関数よりも効率的です(ただし、アーカイブ形式から値を復元するためにvalue()も使用できます)。 standardFormat関数(これは常に1行である)とunarchive関数は、再度読み込む際にvalue関数よりも効率的です(ただし、value() はアーカイブ形式から値を復元するためにも使用できます)。

    put archive of complexData into file "/tmp/archive.txt"
    put unarchive of file "/tmp/archive.txt" into restoredData
  • ファイルにテキストまたはデータを追加するために使用されるときのput … afterコマンドのパフォーマンスが改善されました。

  • 値の単位プロパティは、今では複雑な単位に設定することができます。以前は、単純な単位のみがサポートされていました:

    put 8 into bar
    set bar's units to "ft"-- これは以前から動作していました
    set bar's units to "cubic ft / second"-- これは今動作します
  • 単位の新しい'units(expr)'構文を追加しました。これにより、変数または式が値の単位を供給することができます。

    set measure to "ft"
    set length to 5 units(measure) -- 長さを5フィートに設定します
  • プロパティリスト内の組み込みプロパティ(形式や単位など)の設定と取得 に関する問題を修正しました。

    set invoice to (number:1, date:the date)
    put the format of invoice.date-- 値を表示し、形式は表示しない
    set the format of invoice.date to "%Y %A %d"
  • formattedTime() 関数を改良し、第2パラメータが形式文字列に示される形式で指定されている場合でも、日時として正しく解釈できるようになりました。これは、timeInputFormatグローバルプロパティに含まれる通常の形式の一つではない場合でも適用されます。

    set displayDate to formattedTime("%A %B %d", "Friday April 3")

バグ修正/調整

  • クラッシュや予期せぬ動作を引き起こす可能性がある、Update Image Panelに関連するいくつかのメモリ問題を修正しました。
  • ユーザーが適切な%HOMEPATH%を持っていない状態で、CLIからRDPを使用してWindowsでクラッシュする問題を修正しました(例:Jenkins)。
  • 使用中のライセンスの報告に関するTeam License Serverのいくつかの不一致を修正しました。
  • SuiteのTablesとResultsシステムによって処理されるリネームされたスクリプトに関する問題を修正しました。
  • eggManを使用したLiveモードでのClipboard共有の問題を修正しました。
  • OCR検索のValidWordsとして空白や空の値を渡すことで引き起こされるエラーを修正しました。
  • the repositionPointに対する負の値が適切に扱われない問題を修正しました。
  • ADBを最新版に更新しました。
  • eggDriveからの不正確なcontent-length指定の問題を修正しました。これには非ASCII文字が関係していました。
  • スクリプトが実行中に録音を開始できる問題を修正しました。
  • 同時に文字列の前後にテキストを挿入するとクラッシュする問題を修正しました。
  • Error: No Error例外を処理するためのText-Image-Generationにいくつかの改善を追加しました。
  • すべてのブレークポイントを削除する際のいくつかの問題を修正しました。
  • リストやプロパティリストであるプリセット変数の値が、一部の文脈で正しくリストやプロパティリストとして扱われない問題を修正しました。
  • スクリプトがTableから呼び出されたときにScriptResultsを呼び出す問題を修正しました。
  • データ、カラー、日付/時間値のstandardFormatを修正しました。
  • 範囲をリストとして正しく扱い、その値を結合するためのjoinコマンドとjoined by演算子を修正しました。

リリースv15.02 (2015年1月19日)

ユーザーインターフェースの改善

  • キーワード駆動テストのための新しいTables機能
  • Tablesへの画像のドラッグアンドドロップ機能を追加しました。
  • スイート内でスクリプトの名前を入力して選択できるようになりました。

スクリプティングの改善

  • スクリプトの最後の行が追跡されない問題を修正しました。

  • readコマンドのinオプションは、timeouttimeout in、またはtime out afterとしても指定できるようになりました。

  • sin()cos()、およびtan()関数を修正して、ラジアン以外の回転単位のパラメータ値を適切に処理するようにしました。また、atan()関数を更新して、ラジアン単位の値を返すようにしました(これは簡単に度数または他の回転単位に変換できます)。

    put sin(90 degrees) — 1`

    put atan(1) as deg — 45 degrees`
    put atan(1) as deg — 45 degrees
  • diskSpace()関数、ファイルやフォルダのsizeプロパティ、およびsystemInfo()関数が返すmemorySizeおよびphysicalMemoryプロパティを修正して、バイト単位の値を返すようにしました(これは簡単にギガバイトや他のデータサイズの単位に変換できます)。

  • 2つの16進数の数字に続かないパーセント記号(%)を含む文字列を引数にして呼び出されると、URLDecode()関数のバグがフリーズするか例外をスローする問題を修正しました。

  • 空の文字列を結果として生じるdeleteコマンドの一部の形式で例外をスローするバグを修正しました。例えば、

    put "a" into foo
    delete "a" in foo

    — これはうまく動作します。

    put "a" into foo
    delete the first "a" in foo

    — これは例外をスローします。

  • boxListFormatjsonListFormat、およびstandardListFormatという事前定義された変数を追加しました。これらはlistFormatを便利に設定するために使用できます。

バグ修正/調整

  • RedHat 6パッケージの問題を修正しました。
  • 大きなTurbo CaptureセッションでeggPlant Functionalがメモリ不足になる問題を修正しました。
  • スクリプトまたはスイート内のスケジュールと対話するときに発生する可能性があるクラッシュの問題を修正しました。
  • Undoがクラッシュを引き起こす可能性がある問題を数多く修正しました。
  • OCRを使用してテキストを読み取った後に正常に終了する問題を修正しました。
  • eggPlant Functionalがドライブモードで動作しているときの永続的なメモリリークを修正しました。
  • CLIからテーブルで最初のアクションとしてスクリプトを呼び出す問題を修正しました。
  • スクリプトを実行するときにLinuxでたまにフリーズする問題を修正しました。
  • スクリプト情報の編集における例外を修正しました。
  • Global Results Directoryが存在しないときの一部の致命的な例外をクリーニングしました。
  • UIはスクリプトが接続に失敗したときにはもはやパスワードを求めません。
  • スクリプトをテーブルにドラッグすると、それはもはやGUIで開かれません。
  • URLDecodeを使用した特定の状況でのフリーズを修正しました。
  • "NSCharacterConversion"例外のいくつかのケースを修正しました。
  • 例外をスローするdeleteコマンドの形式を修正しました。
  • 中国語のUI画面に関連するいくつかの問題を修正しました。

リリース v15.01(2014年12月19日)

RDPの改善

  • スクリプト内のRDP接続を識別するために、ConnectionInfo()Typeプロパティを追加しました。
  • Windowsマシン上でRDP接続を行うときに発生する場合があるハングアップを修正しました。
  • 同じRDP接続に何度も再接続するときにクラッシュする問題を修正しました。
  • WindowsおよびLinuxのRDPセッションのクリップボードサポートを改善しました。

ユーザーインターフェースの改善

  • Tablesで作業中にTabを押すときの引数の処理を改善しました。
  • 複数行の値を受け取るときの実際の値のフォーマットを改善しました。
  • Turbo Capture画像矩形のいくつかのフォーカス問題を修正しました。
  • Windows上のヘルパースイートからTable Actionsを選択する問題を修正しました。
  • Automatic Image Naming preferencesは現在、Turbo Captureモードでも適用されます。
  • 数千の画像を持つスイートのTable image selectorのパフォーマンス問題を修正しました。
  • Turbo Captureセッションで最終画像を更新する際の動作を改善しました。
  • スクリプトとテーブルの名前を変更する際のいくつかの問題を修正しました。
  • UIからテーブルを削除する機能を追加しました。

スクリプトの改善

  • OCRのValidPatternを改善し、パターン内の他のマーク(パーセント記号など:%)も自動的に含めるようにしました。
  • 数千の結果が投稿されたスクリプトの実行時間を大幅に改善しました。
  • 分が秒として扱われる問題を修正しました。
  • プロパティリストのusernamepasswordがRDP接続に対して常に尊重されない問題を修正しました。

バグ修正/調整

  • WindowsとLinuxでOCR検索をキャンセルする機能を追加しました。
  • eggPlant Functionalが接続を終了するときにハングアップする可能性がある問題を修正しました。
  • Language ListにChinesePRCとChineseTaiwanを追加しました。
  • Run Windowが画面上に表示されているLinuxでのスクリプト実行時に時折ハングする問題を修正しました。
  • CaptureScreenが新しい接続を確立した直後に前の接続からの画像を返す問題を修正しました。
  • Capture Screen UIが.suiteファイルとして画像を保存するように提案する問題を修正しました。
  • Capture Screen UIでスイートレベルまでUPすると、ローカルのスイートフォルダが選択され、ウィンドウが閉じる関連する問題を修正しました。

リリース v15.00(2014年12月2日)

ハイライト

  • キーワード駆動テストのためのTablesでアクションの順序を変更する機能を追加しました。
  • スクリプト記録のためのTurbo Captureモード
  • Microsoft RDP接続のサポートを追加
  • Upgraded OCRエンジン

eggPlant Functional 15 for LinuxではRedHat Version 6+が必要です。

キーワード駆動テスト

新しいTablesセクションを使用して、リストからコマンドと関数を選択して直接的なワークフローを作成することができます。

  • 最も一般的なeggPlant Functionalプリミティブがすでに含まれています。
  • Script Infoセクション(Script Editorの "i" ボタンを使用)で呼び出し引数と戻り値(検証アクション用)を指定することで、自分のスクリプトをリストに追加することができます。
  • Tableでアクションを選択し、Tabを使用して引数と期待値の間を移動します。
  • 検証アクション(関数)では、戻り値と比較する期待値を指定することができます。
  • 期待値は任意のSenseTalk表現にすることができます。
  • テストを実行するときに各行の最新の結果を見ることができます。過去の実行結果はResultsタブにあります。

オンラインで完全なドキュメンテーションを読む

Turbo Capture

新しいTurbo Capture機能を使用して、ライブモードでSUTと対話してから画像に名前を付けることでスクリプトを生成することができます。

  • ツールバーのStart Sessionボタンをクリックするか、ControlメニューからStart a Turbo Capture Sessionを選択することで開始します。
  • ライブモードでSUTと対話して一連のステップを実行し、終了したらEnd Sessionをクリックします。
  • 注:マウスの移動(クリックなし)を記録したい場合は、Shiftキーをタップします。
  • 必要に応じてセッションに名前を付け、Open Sessionボタンを使用してワークフローを確認し、画像の命名と調整を開始します。
  • いつでも停止して後で戻ることができます。進行状況は自動的に保存されます。
  • 終了したら、Generate Scriptボタンをクリックしてすべての画像を記録し、スクリプトを作成します。

オンラインで完全なドキュメンテーションを読む

RDP接続サポート

Microsoftの**Remote Desktop Protocol (RDP)**を使用してコンピュータに接続することができます。

  • 接続を追加するときに、接続タイプとしてRDPを選択し、Windowsのユーザー名とパスワードを追加します。

Upgraded OCRエンジン

すべてのプラットフォームで最新のABBYY version 11にアップグレードしました。これにより、eggPlantのプラットフォーム間でOCRの動作が同じになります。

  • 新しいエンジンはテキストの読み取り精度が大幅に向上していますが、これによりバージョン14では若干異なる読み取り方をする可能性があります。
  • 新たにValidWordsプロパティが追加されました。これは単語のリストまたはスペースで区切られた単語を含む文字列に設定することができます。ValidWordsを使用すると、OCRエンジンはすべての指定された単語の1つとしてすべてを読み取ることを試みます。
  • OCR検索中に、新しいValidWordsプロパティを*(アスタリスク)の値で設定すると、ターゲットフレーズの一部である単語のみが認識されます。
  • TextRotationプロパティを指定することで、ClockwiseCounterClockwiseUpsideDownの値により、回転したテキストや上下逆のテキストを読み取る能力を追加しました。
  • ValidPatternプロパティを追加することで、ReadTextコマンドを実行する際に使用する正規表現を指定できるようになりました。ValidPatternプロパティは、各単語のマッチングに使用する正規表現に設定するべきです。 テキスト設定からOCRパネルに表示される言語をカスタマイズできるようになりました。

スクリプティング

  • リストや範囲をイテレータとして使用する際、次の連続値を取得するためにNextValueを使用するだけでなく、新しいCurrentValueプロパティを使用して、CurrentIndexを進めずに現在の値にアクセスできます。CurrentValueプロパティはまた、コンテナとして機能し、その値への参照のように動作し、リスト内のその値を置き換えたり変更したりすることができます。

  • 各イテレーションで、値のリストを提供するソースイテレータから複数のループ変数を割り当てることができます。

    repeat with each (x,y,z) in ((12,22,14),(6,9,18),(15,3,44))
  • 複数の割り当てに使用される同じルールが適用されるため、気にしない値に対して変数を省略することができ、余分な値は無視されます。ただし、最後の変数名の後に省略記号(...)が続くと、それらをリストとして収集します。

  • プロパティリストをイテレータとして使用することができます。リピートループで反復する際、各キーとその値を2項目のリストとして提供します。(注:以前の挙動との互換性を保つため、このプロセスが動作するようにリピートはループ変数のリストを指定する必要があります。)独自の反復を定義するオブジェクト(つまり、オブジェクトタイプが「イテレータ」のオブジェクト)は、以前と同じように独自の反復を使用します。他のオブジェクトは、そのプロパティの(key,value)ペアを反復します。

    set people to (Marty:12, June:16, Aaron:6, Grace:11)
    ハイライト
    set people to (Marty:12, June:16, Aaron:6, Grace:11)
    repeat with each (name,age) in people
    put name && "is" && age && "years old"
    end repeat
    反復を終了します
  • リピートループの外部でプロパティリストのプロパティを反復するとき、次のキーを取得するためにnextKeyを、次の値を取得するためにnextValueを、または次の(key,value)ペアを取得するためにnextKeyValueを使用できます。CurrentKey、currentValue、およびcurrentKeyValueは、反復を進めずに現在のプロパティの対応する値を取得するために使用できます。

  • 任意のイテレータの反復を開始または再開するためのstart iterationコマンドが追加されました。これはプロパティリストの反復を再度開始する唯一の方法です。また、リスト、範囲、およびチャンクの反復を開始するためにも使用できます。または、その型のcurrentIndexを0に設定することで同じ結果を達成できます。

  • "6 5/8"のような混合分数がサポートされています。ただし、整数と分数の間には単一のスペース文字があり、'/'文字の周囲にはスペースがありません。単位付きの単純な分数、例えば"3/4 ft"の形式は、分数が直接数値(変数や他の表現ではなく)で記述され、単位名で続けられている場合、コンパイラによって単一の数値(2つの数値と除算演算子ではなく)として処理されるようになりました。

  • 表現中の演算子として特殊な記号≤、≥、+、+、➕、−、×、÷、√、および≠のサポートを追加しました。また、文字Xを掛け算演算子として使用することができます。

  • merge関数を呼び出すための短縮形として、引用符で囲まれた文字列の前に!を使用するサポートを追加しました。

    put !"The month is now [[the monthName]]" -- "The month is now September"
  • 英数字とアンダースコアだけが許されていた識別子(変数名とハンドラー名)に、いくつかの追加文字を含める能力を追加しました。

  • as wordsas a wordas hexas hexadecimal を対応するフォーマット演算子(format "words" や format "hex")の同等物として追加しました。 as words の場合、大文字化は "words" の単語に従います。

  • highestValue()largestValue()、および lowestValue()smallestValue() をそれぞれ maximum() および minimum() 関数の同義語として追加し、それらの自然言語構文を追加しました。

  • 数値を最小値または最大値に制限するタスクを簡略化するために、 but at leastbut no less thanbut at most、および but no more than 演算子を追加しました。(内部的に、これらの演算子は largestValue または smallestValue 関数を呼び出します)。

  • from nowhence 演算子の同義語として追加しました。

  • 指定した回数だけテキストの文字列を繰り返す、または指定した長さまで繰り返す、または繰り返されるリストを作成するための repeated 演算子を追加しました。

    merge関数を呼び出すための短縮形として、引用符で囲まれた文字列の前に!を使用するサポートを追加しました。
    put "$" repeated 12 times -- "$$$$$$$$$$$$"
    put "Hello" repeated to length 12 -- "HelloHelloHe"
  • 繰り返されるアイテムのリストの場合、リピートされると共に(a)リストまたは(a)リストを使用します。

    put "$" repeated 6 times as a list -- ("$","$","$","$","$","$")
  • 掛け算または繰り返しのための number of 演算子を追加しました。(注:この構文では、of の前にリテラルの数字が必要です。変数は使用できません。)これは特に数値や単位の分数に便利です。値が数値またはリストであれば、その数値で掛け算されます。そうでなければ、 number of 演算子はそれが繰り返されるようにします。

  • standardFormat 関数を変更しました。今では、引用符なしで数字を記録し、必要に応じて科学的表記法を使用して、numberFormat を使用せずに値を正確に表現します。単位を含む数値には単位名が含まれます。文字列は今では必要に応じてバックスラッシュエスケープシーケンスが埋め込まれた "@" 引用スタイルを使用して引用されます。

  • LightSpeed と googol を事前定義変数として追加しました。

  • 共通記号カテゴリで heavyCheckMark、xMark、および heavyXMark を事前定義変数として追加しました。

  • seek コマンドで from に加えて before や after を許可しました。

  • エムダッシュ文字(—)は今ではコメントを開始するために使用できます。なぜなら、一部のテキストエディターは二つのダッシュ(--)を自動的にエムダッシュに置き換えます。

  • intersection、union、excludeItems、および uniqueItems 関数でケースを考慮する/ケースを無視するためのサポートを追加しました。これらの関数は現在、デフォルトで caseSensitive プロパティの現在の設定に従います(以前は常にケースセンシティブでした)。

  • 範囲表現は今では "to" と ".." に加えて "down to" を使用して書くことができます。

  • 科学/指数表記を含む数字の文字列は、今では数字として認識されます。

  • 繰り返しループでステップ値の前に by を使用することができます( step または step by に加えて)。

  • 最大関数と最小関数は、空のパラメータで呼び出されるとき(または数値を含まない任意のリストと一緒に)空を返し、ゼロではなくなりました。

  • 文字列リテラルの前に2つの @ 記号を許可する微小なバグを修正しました。許可されるのは1つだけです。

  • "database" が "new database" を意味することを許可するエラーを修正しました - 単語 "new" が今では必要です。

  • « »引用符のバグを修正しました。これらは引用符内の最初の文字を省略していました。

  • 数字と数値を含む単一項目リストの加算/減算が常に単純な数値を結果として得るように修正しました。リストではありません。

  • 数値と単一数値リストの乗算が常に単一数値リストを結果として得るように修正しました(数値とリストのスカラー乗算)。

  • 存在しない変数の存在しないプロパティのリスト項目のプロパティを設定する際の奇妙なバグを修正しました。

  • 一部のコンテキストで事前定義変数が値を持つと認識されない問題を修正しました。

  • コマンドが範囲で呼び出される場合の一部のケースに対するエラーメッセージを改善しました。

スクリプトユニットのサポート

  • ユニットサポートを追加しました。数値には現在、単位名が含まれて値のタイプを特定します。SenseTalk はさまざまなユニット間の関係を認識し、計算中やリクエストされた場合に必要に応じて互換性のあるユニットに自動的に変換します。

  • 多くのユニットタイプが認識され、今後も追加される予定です。unitTypes() 関数は、いくつかのケースで同義語を含むすべての異なるカテゴリのリストを提供します:

    put the unitTypes
  • 各タイプには多くのユニット名が認識され、多くのユニットには単数形、複数形、省略形の名前があります。unitNames() 関数によってユニット名の完全なリストが提供されます(ユニット名は数千に上ります)。

  • ユニットを使用するには、式内の数値または変数名の後にユニット名を含めるだけです:

    ハイライト
    put 3 feet into counterHeight
    add z grams to totalWeight
  • 面積や体積のような派生ユニットはいくつかの方法で表現できます:

    set surface to 9 cm^2 -- 9 square centimeters
    set area to 2 yds*ft -- 6 square feet
    set base to 5 sq in -- 5 square inches
    set vol to 3 cu yds -- 3 cubic yards
    set area to 2 yds*ft -- 6 square feet
    set base to 5 sq in -- 5 square inches
    set vol to 3 cu yds -- 3 cubic yards
  • as の後に他の単位名を指定することで、ある単位から別の(互換性のある)単位に値を変換することができます:

    put 1 gallon を liters として表示 -- 3.785412 liters
  • 数学的な演算子と関数は、可能な限りユニットを維持および/または適切に変換します。例えば、以下の加算では、まず 8 インチをセンチメートルに変換してから加算します:

    put 8 inches + 3 cm — 23.32 centimeters
  • 値が特定のユニットタイプであるかどうかは、is a演算子を使用してテストできます:

    put 4 cm is a distance — True
    put 9 ounces is a duration — False
    put 9 ounces is a duration — False
  • ユニットシステムの挙動を制御する2つのグローバルプロパティがあります。unitsEnabled はデフォルトで True に設定されており、ユニットの使用と表示を有効にします。false に設定すると、ユニット名は無視され、すべての数値はプレーンな数値として扱われます。

  • strictUnits プロパティもデフォルトで True に設定されています。この設定は、計算の整合性を維持し、互換性のないユニットを含む任意の計算、プレーンな数値とユニット値との間の加算、減算、比較に対して例外をスローします。false に設定すると、より寛容な挙動が提供され、例外はスローされませんが、一部の状況で値がユニット関連を失う可能性があります。

バグ修正/調整

  • 他のスイートが「助けて」いるのを見るために、バックレコードヘルパースイートを行っています。
  • ヘルパースイートにあるログを開くと、例外が発生しなくなりました。
  • 存在しないスイートはもう Open Recents メニューに表示されません。
  • コマンドラインからスクリプトを実行する際のたまに発生するハングを修正しました。
  • GUI ライセンスが見つからないときに不明確だったライセンスメッセージの数を修正しました。
  • コマンドラインモードで実行中にAsk/Answerパネルが呼び出されたときにLogWarningを追加しました。
  • スケジュールを複製する機能を追加しました。
  • 外部ソースからスクリプトに「特殊」な引用符を貼り付けると、パースやコンパイルの問題を防ぐためにそれらを標準のASCII引用符に変換するようになりました。
  • SUTに接続する際の時折発生するクラッシュを修正しました。
  • 一時的なUI要素の画像を簡単にキャプチャできるように、リモート画面を一時的にフリーズする機能を追加しました。
  • コマンドラインからスクリプトを実行する際の時折発生するハングを修正しました。
  • スイート内の開いているタブを切り替えるためのキーボードショートカットを追加しました:
    • MacではCommand+Shift+[ および Command+Shift+]
    • Windows/LinuxではControl+Shift+[ および Control+Shift+]
  • メニューに表示されないFunctionキーショートカットの問題を修正しました。
  • フィルタリング時に"interesting"なログラインのリストにCaptureScreenを含めるようになりました。
  • Mac 10.9および10.10では、eggPlant FunctionalをAppNapしないように変更しました。この省電力機能は、それが非表示/画面外だったときにeggPlant Functionalのバックグラウンドで実行されるスクリプトに不具合を引き起こしました。
  • Android上でUSB経由でVNCサーバーを起動する際の稀なクラッシュを修正しました。
  • 結果から画像の"Fix"を適用すると、その変更が開いている画像のすべてのコピーに反映されます。
  • Update Imageで画面から画像を選択するとき、置換画像が両方向に2ピクセルずつ大きくなることはもうありません。
  • Windowsの名前付きポート(PRNやCOM1など)に対応する文字列にマウスオーバーする問題を修正しました。
  • Copy/PasteがNSRange例外をスローする問題をいくつか修正しました。
  • Remote Window Toolbarをカスタマイズするときに発生する可能性がある例外をいくつか修正しました。