eggPlant Functional v15リリースノート
以下のノートは、eggPlantの各リリースで導入された新機能および変更を説明したものです。以前のバージョンからアップグレードする際には必ず、関連する変更項目を読んでおくことを強くお勧めします。
潜在的な互換性の問題は赤でハイライト表示されます。互換性
- 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ブラウザ。
- スクリプトエディタにおける句読点、制御構造、およびSenseTalk言語要素のAuto-Completion(自動補完)。
- SenseTalkブラウザに含まれるカスタムコードスニペット作成機能。
- スクリプト実行中に変数値を閲覧および編集できる変数ウォッチャー。
- CSV表に格納された値にわたって反復するデータ駆動型実行を表テストがサポート。
- コードのセクションを新しいスクリプトへ抽出する、スクリプトのリファクタリング能力。
接続の改善点
- Windows RDPによるWindowsのCPU使用量が大幅に削減。
- Connectコマンドまたはコマンドライン引数で指定された値が接続リストの既存の値に優先。
- eggPlant Functional 15.20がビルトインのAndroid Server 2.6を装備。今後は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デバイスに関する情報のプロパティリストを返します。プロパティには、type、device_os_version、およびdeviceが含まれます。注:Android Server 2.6が必要です。
ユーザインタフェースの改善点
- 実行ウィンドウに変数ウォッチャーを装備。スクリプトの実行中に変数値を閲覧できるようになりました。選択項目としては、表示される変数の範囲、および変数の更新頻度(常時またはスクリプトの一時停止時のみ)などがあります。
- Windows上でスクリプト名や画像名をクリックしてインラインで編集可能に。名前変更メニュー項目を使用する必要がなくなりました。
- 実行ウィンドウのAd Hoc Do Box (AHDB)が、複数行のテキスト入力時に拡張されるようになりました。
- スクリプトリストで、Table Actions(表アクション)向けに有効化されているスクリプトを示すカラーインジケータが有効化できるようになりました。
スクリプティングの改善点
- 表で、オプションのCSV Data File(データファイル)を指定できるようになりました。指定された場合、そのファイル内の行ごとに表アクションが繰り返されます。最初の行には列ヘッダが含まれていなければなりません。$HEADER_NAMEを利用して、各列の値をArguments(引数) またはExpected Value(期待値)フィールドに使用することができます。
- 表で、以前の行からの返り値を引数または期待値フィールドに使用するよう指定できるようになりました。特定の行の結果は#LINE_NUMBERで参照でき、直前の行の場合には#prevが使用できます。
- スクリプトエディタにおける句読点、制御構造、およびSenseTalk言語要素の自動補完。選択項目としては、括弧、引用符、コンマ、波括弧、角括弧、if文、repeat文、ハンドラ、 スクリプト名、ローカル変数、画像名、およびSenseTalkキーワードなどがあります。
- answerコマンドが、from list、multipleおよびdefault answerオプションにより拡張されました。例:
answer "What would you like to drink?" from list ("Coffee", "Tea", "Cocoa", "Water”) allow multiple default “Coffee”
- 新しいスクリプトへのコードセクション抽出によるスクリプトリファクタリング機能。新しいスクリプトにコードを抽出するには、コードを選んで右クリックし、ドロップダウンリストでExtract New Script(新規スクリプトの抽出)を選択します。
- assertコマンドを追加。assertコマンドを実行すると、eggPlantは成功、失敗、警告または例外をログします。可読性向上のため、単語「that」 を assertコマンドに挿入できます。例:
assert that x > 10
assertコマンドの動作をつかさどるプロパティ群:
- assertionBehaviorプロパティは現在、Exception(例外)にデフォルト設定されています。Error(エラー)、Warning(警告)またはPause(一時停止) に設定することも可能で、動作を指定していないassertコマンドのデフォルト動作が確定します。動作が「一時停止」の場合は、logWarningが出され、assertコマンドの次の行のデバッガでスクリプトが一時停止します。
- assertionPassCount、assertionFailCount、assertionErrorCount、assertionWarningCountおよびassertionExceptionCountは、assertコマンドが実行されるたびに適宜インクリメントされるグローバルカウンタです。失敗のときは毎回、assertionFailCountと、エラー、警告、または例外カウンタのいずれか1つの両方がインクリメントします。
- assertionsEnabledプロパティは、デフォルトでTrueに設定されています。Falseに設定すると、assertコマンドは無視され、実行されません。
- Linuxの場合:画像名は、標準的なeggPlant画像コマンド内での使用時には大文字小文字の区別なしで扱われるようになりました。ローカルファイルの操作では、依然としてローカルファイルシステムの大文字小文字区別の挙動に従います。
バグ修正/微調整
接続
- 画面サイズの変更がスクリプトレベルで正しく検出されない複数の問題を修正。
- スクリプトから行われた接続が接続リストにアップデートされない複数の問題を修正。
- 接続リストでの作業時に範囲例外を受け取る複数の問題を修正。
- Bonjourディスカバリー設定が遵守されない問題を修正。
- 接続を外部から閉じた後にRDP接続を再確立できない問題を修正。
- コマンドラインからRDP接続を行う上での問題を修正。
- RDP接続にWindowsAltKeyのサポートを追加。
- RDP接続用のF11のマッピングを修正。
- ローカルAndroid デバイス名およびシリアル番号が正しく表示されないことがある問題を修正。
- eggCloudデバイスの名前の表示が正確に。
- eggCloudからの予約が誤った時間をレポートする問題を修正。
- 構成済みのeggCloudサーバに到達できない場合に起動が非常に遅くなる問題を解決。
- 規則を使用してeggCloud SUTに接続すると時折誤ったSUTに接続される問題を修正。
スクリプティング
- 表テスト実行中にスイートを閉じると起こることがあったクラッシュを修正。
- セルをオーバーフローしている値を有した表における複数のフォーマッティングの問題を修正。
- 表が、呼び出していたスクリプトと関連付けられなくなる問題を修正。
- TypeText HomeButtonの問題を修正。
- ピンチが行われる前にRemoteWorkIntervalをチェック。
- 接続がない場合に、SUTとの間でのファイルコピー試行時にエラーをスロー。
- OCRコマンドによるメモリ使用量を劇的に改善。
- OCR検索でValidWordsを指定しているときに時折起こるタイミングの問題を修正。
- 無効なOCR操作を行おうとするときのエラーメッセージを改善。
- (URL readからなどの)非常に長い返り値がWindows上で正しく表示されない問題を修正。
ユーザインタフェース
- スクリプトのすべてのログが削除された場合に、結果リストでそのスクリプトを削除。
- WindowsおよびLinux上でターボキャプチャモードでのドラッグ&ドロップイベントの記録を大幅に改善。
- スケジュールから別のスイート内の結果を開く際の問題を修正。
- 中止したスケジュールが成功ステータスのスクリプトを表示する問題を修正。
- 許容範囲画像がパルシング検索タイプを選択したかのように表示される問題を修正。
- 画像が画像アップデートパネルを使用して再キャプチャされた場合にホットスポットが中央へとリセットされる問題を修正。
- 画像アップデートパネルでDiscrepancy Search(相違検索)を使用して修正された画像は、パーセント値ではなく絶対ピクセル値を使用。
- 画像アップデートパネルからヘルパースイートに再キャプチャされた画像を保存する問題を修正。
- Trace(トレース)機能でスクリプトの最後の行が無視されていた問題を修正。
- 設定ペインにおける多数の書式設定の問題をクリーンアップ。
その他
- ライセンスパネル内にホストID用のCopy To Clipboard(クリップボードへコピー)ボタンを追加。
- 一部のLinuxディストリビューションで外部ファイルとURLリソースが正しく開かない問題を修正。
- 特殊なCLIライセンスがGUIライセンスより優先される場合がある問題を修正。
リリースv15.14 (2015年6月9日)
バグ修正/微調整
- リモートで終了されたRDPセッションへの再接続の問題を修正。
- Windows上のスクリプトにおける乱数の問題を修正。
- ビルトインAndroid VNCサーバにZLIB圧縮のサポートを追加。
- ビルトインAndroid VNCサーバに拡大縮小のサポートを追加。AdditionalArgs引数で「--scale-screen RATIO」を渡すことにより、Connectコマンドでユーザが拡大縮小を指定できるようになりました。
- ビルトインAndroid VNCサーバにおいて、繰り返しの接続および切断時に起きていた問題を修正。
リリースv15.13(2015年4月27日)
バグ修正/微調整
- ADBのバージョンを選択するためのGUI管理を設定に追加。
- Android用に自動的に展開されるVNCサーバを改善。
- 誤ったSUTに接続されてしまう可能性がある接続リストの条件を修正。
- Androidデバイスに接続する際、ホストによって接続が時期尚早に閉じられていた問題を修正。
- スイート内に多数の画像が存在するときのWindows上のスイート検索フィールドが劇的に改善。
- Ad-hoc eggCloud予約が自動的に延長されない問題を修正。
- 複数同時デバイスのテストを容易にするためWindowsがADBサーバを停止しないよう変更。(ADB 1.0.31では推奨されません。)
ADBStopServerOnQuit
リリースv15.12(2015年4月6日)
バグ修正/微調整
- 複数バージョンのADBにわたる幅広いAndroidデバイスと動作するためのロジックを追加。デフォルトでは、ADBバージョン1.0.31が使われています。
- 以下のコマンドを出すことで、より新しいバージョンのADB(一部の古いデバイスとは互換性なし)に切り替えることができます。
defaults write Eggplant ADBVersion "1.0.32"(Mac/Linux)
defaults.bat write Eggplant ADBVersion "1.0.32"(Windows)
リリースv15.11(2015年3月26日)
ハイライト
- eggPlant FunctionalにAndroidデバイス用のビルトインVNCサーバを装備。VNCサーバがまだない場合は、デバイスに接続するとインストールされます。
- eggCloudサーバとの統合を改善。
ユーザインタフェースの改善点
- Table(表)GUIおよびプレースホルダトークンを改善。
- Windows上のFind(検索)および置換のパフォーマンスを劇的に改善。
接続の改善点
- RDPでドメイン/ユーザ名が使用可能に。
- RDP接続が予期せず失敗するときのクラッシュを修正。
- USB経由でAndroid向けeggOnアプリを立ち上げる際の問題を修正。
- 同一ポートを使用していた複数のAndroidサーバに接続する際の問題に対処。
スクリプティングの改善点
- エンドポイントに異なる単位が使用されたときに範囲が値を正しく算出。
- 定義済み変数が変更されたときに空として動作しない問題を修正。
- テキストを点および長方形で読み取るときの行末を正規化。
- 非識別子文字のあるプロパティキーをアーカイブする問題を修正。
バグ修正/微調整
- eggPlant Functionalがコマンドラインから実行されたとき、または突然終了したときにライセンスが解放されない問題を修正。
- RunHistory.xmlファイルが破損状態になることがあった問題を修正。
- eggPlant Functionalの反応が鈍い、または反応しない問題を修正。
- データベースから非ASCII文字を読み取る問題を修正。
- Bonjour/Zeroconfが有効化されていない場合にフィードバックを提供。
- CaptureScreen中に接続が切れるときのハングを修正。
- 画像使用状況を表示により起こり得る例外をクリア。
- テキスト画像検索でValidWordsプロパティを使用するときに起こり得る状況を修正。
- スクリプトのメタデータを変更していない場合は、SuiteInfoファイルがアップデートされなくなりました。
リリースv15.10(2015年3月3日)
ハイライト
- モバイルサーバにファイルをコピーおよびアプリケーションをアップロードするための新しいコマンド。
- iOS GatewayでのPinch(ピンチ)ジェスチャーをサポート。
- iOSデバイスのOrientation(向き)を設定する新しいコマンド。
- VNC Server Discoveryを追加( Bonjour/
zeroconf経由で通知するサーバ向け)。(以前はMacのみ)
ユーザインタフェースの改善点
- 接続インタフェースでRDPセッションの解像度を指定できる機能を追加。
- 接続を行う際に「Save Password(パスワードを保存)」チェックボックスを追加。
- 表で、名前にスペースを含むスクリプトからACTIONS(アクション)を定義可能に。
- 名前に無効な文字(コロンまたは引用符など)を含むスクリプトおよび画像の保存を防止。
- 設定で、eggCloudポート番号を指定できる機能を追加。
- 垂直/水平ツールバー設定をセッション間で保存。
スクリプティングの改善点
- PinchOut/PinchInのコマンド追加により、マルチタッチ
デバイス上でズーム動作を呼び出し。1点のみ、1点と 距離、または2点を指定可能です。詳しい説明は、ドキュメントをご覧ください。//デフォルト時間(2秒)で画像にズームイン:
PinchOut (At:"MyPhoto")
//1点から300ピクセルにわたってズームアウト:
PinchIn (At:(500, 500), Distance:300)
//画像の2点を使ったズームイン:
PinchOut (At:"LEFT_SIDE", To:"RIGHT_SIDE")
- RotateLeft、RotateRight、SetDeviceOrientationおよびGetDeviceOrientation()のコマンドを追加。これらのコマンドにより、 モバイルデバイスの向きを完全に操作できます。詳しい説明は、ドキュメントをご覧ください。
SetDeviceOrientation "Landscape"
put GetDeviceOrientation()
- iOS Gatewayとの間のファイルのコピー機能を追加。copy file … to …構文を使い、ファイル名の前にsut:を入れてリモートファイルを示します。
copy file "/Users/jonathan/MyFile.txt" to "sut:/tmp/MyFile.txt"
- iOS Gatewayが制御するSUTにアプリケーションをインストールして署名できる機能を追加。使用するのはInstallAppコマンドです。このコマンドは、インストールするファイルの参照先としてApplicationPathキーを取ります。sut:で始めると、iOS Gatewayマシン上のファイルを指定することができます。アプリケーションの再署名に使用するため、オプションで、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)")
- 新しいarchive()およびunarchive()関数を追加。これを使うと、SenseTalk値のアーカイブ用のテキスト表現を生成したり、当該アーカイブから相当する値を効率的に復元したりすることができます。このアーカイブフォーマットは、リストの値やプロパティリストのプロパティを複数行にわたって展開するため、
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 ftに設定します
- プロパティリスト内のプロパティのビルトインプロパティ(
フォーマットや単位など)の設定と取得に伴う問題を修正。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()関数を改善。フォーマット文字列で示されたフォーマットが与えられた場合に、例えそれがtimeInputFormatグローバルプロパティに含まれる通常のフォーマットの1つでなくとも、第2パラメータをdate/timeとして正しくインタープリットできるようにしました。
set displayDate to formattedTime(“%A %B %d”, “Friday April 3”)
バグ修正/微調整
- クラッシュおよび予期せぬ動作を引き起こす可能性のある画像アップデートパネルに関連した複数のメモリの問題を修正。
- 適正な%HOMEPATH%( Jenkins)を持っているユーザがいない状態でCLIからRDPを使用するときのWindows上のクラッシュを修正。
- Team License Serverによる、
どのライセンスが使用中かという報告の複数の不整合を修正。 - スイートの表および結果システムによる、名前を変更したスクリプトの処理方法の問題を修正。
- eggManを使用してライブモードで共有しているクリップボードの問題を修正。
- OCR検索のValidWordsとして空白または空の値を渡すときに起こるエラーを修正。
- repositionPointの負の値が正しく履行されない問題を修正。
- 最新バージョンが使用されるようADBをアップデート。
- 非ASCII文字を備えたeggDriveからの不正なcontent-length指定に伴う問題を修正。
- スクリプトの実行中に記録を開始できてしまう問題を修正。
- 文字列の前後に同時にテキストを挿入するときのクラッシュを修正。
- Error: No Error(エラー:エラーなし)例外を扱うため、テキスト画像生成の改善をいくつか追加。
- Removing All Breakpints(すべてのブレークポイントを削除)におけるいくつかの問題を修正。
- リストまたはプロパティリストを値として取っている定義済み変数が、一部のコンテキストでリストまたはプロパティリストとして正しく処理されない問題を修正。
- スクリプトが表から呼び出されたときに、ScriptResultsを呼び出す上での問題を修正。
- データ、カラー、および日付/時刻の値のstandardFormatを修正。
- joinコマンドおよびjoined by演算子を修正。範囲をリストとして正しく処理し、その値を結合するようになりました。
リリースv15.02(2015年1月19日)
ユーザインタフェースの改善点
- キーワード駆動テストの表内のアクションを並べ替えられる機能を追加。
- 表に画像をドラッグ&ドロップできる機能を追加。
- スイート内での選択時にスクリプト名の入力が可能に。
スクリプティングの改善点
- スクリプトの最後の行がトレースされない問題を修正。
- readコマンドのinオプションがtimeout、timeout inまたはtime out afterとしても指定可能に。
- sin()、cos()およびtan()関数を修正。ラジアン以外の回転単位のパラメータ値を正しく処理するようになりました。atan()関数をアップデート。ラジアン単位の値を返すようになりました(度またはその他の回転単位に容易に変換可能)。
put sin(90 degrees) — 1
put atan(1) as deg — 45 degrees
- diskSpace()関数、ファイルまたはフォルダのsizeプロパティ、およびsystemInfo()関数で返されるmemorySizeとphysicalMemoryプロパティを修正。バイト単位の値を返すようになりました(ギガバイトまたはその他のデータサイズ単位に容易に変換可能)。
- URLDecode()関数で、後続の2桁の16進数がないパーセント記号(%)を含む文字列で呼び出された場合に、ハングしたり、例外を投げたりするバグを修正。
- 結果が空文字列となる一部の形態のdeleteコマンドで例外が投げられるバグを修正。例、
put "a" into foo
delete "a" in foo――これは問題なく動作します。
put "a" into foo
delete the first "a" in foo――これは例外が投げられます。
- 定義済み変数boxListFormat、jsonListFormat、およびstandardListFormatを追加。listFormatの設定に便利です。
バグ修正/微調整
- RedHat 6パッケージの問題を修正。
大規模なターボキャプチャセッションによりeggPlant Functionalがメモリを使い果たす原因となる 問題を修正。- スイートでスクリプト
またはスケジュールとのインタラクション時に起こり得るクラッシュの 問題を修正。 - Undo(元に戻す)がクラッシュの原因となり得る複数の問題を修正。
OCRを使ったテキストの読み取り後にクリーンに終了する際の問題を 修正。- eggPlant Functionalがドライブ
モードで実行されていたときの持続的なメモリリークを 修正。 - 表内の最初のアクションとしてスクリプトを
CLIから呼び出す問題を 修正。 - スクリプト実行時にLinux上で時折起こるハングを修正。
- スクリプト情報を編集する上での例外を修正。
- Global Results Directory(グローバル結果ディレクトリ)が
存在しなかったときのいくつかの致命的な例外を クリーンアップ。 - スクリプトの
接続失敗時にUIがパスワードのプロンプトを 出さなくなりました。 - スクリプトを表にドラッグしても、GUIで開かれなくなりました。
- URLDecodeを使用している特定の状況でのハングを修正。
- 「NSCharacterConversion」例外のいくつかのケースを修正。
- 例外をスローしていたdeleteコマンドの形式を修正。
- 中国語UI画面の複数の問題を修正。
リリース15.01(2014年12月19日)
RDPの改善点
- ConnectionInfo()にTypeプロパティを追加。スクリプト内でRDP接続が識別できるようになりました。
- Windowsマシン上でRDP接続を行うときに一部の状況で起こるハングを修正。
- 同じRDP接続に繰り返し再接続するときのクラッシュを修正。
- WindowsおよびLinux上のRDPセッション用のクリップボードサポートを改善。
ユーザインタフェースの改善点
- 表での作業中にTabを押すときの引数処理 を改善。
- 複数行の
値を受け取るときのActual Value(実際値)のフォーマッティングを 改善。 - ターボキャプチャ画像の長方形のフォーカスの問題を複数修正。
Windows上でヘルパースイートから表アクションを選択する際の問題を 修正。- ターボ
キャプチャモードでもAutomatic Image Naming(自動画像命名)設定を 遵守。
何千もの画像があるスイートの表画像セレクタのパフォーマンスの 問題を修正。- ターボキャプチャセッションで最終画像を更新するときの動作を改善。
- スクリプト名および表名変更のいくつかの問題を修正。
- UIから表を削除できる機能を追加。
スクリプティングの改善点
- OCR ValidPatternを改善。パターン内のその他の記号(パーセント記号:%など)が自動的に含まれるようになりました。
- ポストされた結果が何千とあるスクリプトでの実行時間を劇的に改善。
- 分が秒として処理される問題を修正。
- プロパティリスト内のusernameおよびpasswordが
RDP接続で履行されないことがあった問題を修正。
バグ修正/微調整
- WindowsおよびLinux上のOCR検索のキャンセルを追加。
接続終了時にeggPlant Functionalがハングすることがあった問題を 修正。- ChinesePRCおよびChineseTaiwanを言語リストに追加。
画面に実行ウィンドウを立ち上げた状態でLinux上でスクリプトを実行する際に時折起こるハングを 修正。- 新規接続を行った直後は、CaptureScreenが以前の接続から画像を返すことがある問題を修正。
- キャプチャ画面UIで、画像を.suiteファイルとして保存するよう提案される問題を修正。
キャプチャ画面UIでスイートレベルまで移動するとローカルの スイートフォルダが選択されてウィンドウが閉じる関連問題を修正。
リリースv15.00 (2014年12月2日)
ハイライト:
- キーワード駆動テストのための新しい表機能。
- スクリプト記録のためのターボキャプチャモード。
- Microsoft RDP接続のサポートを追加。
- アップグレードされたOCRエンジン。
Linux用のeggPlant Functional 15にはRedHat Version 6以上が必要です。
キーワード駆動テスト
スイートの新しい表セクションにより、コマンドや関数をリストから選択して、直接的なワークフローを作成できるようになりました。
- 最も一般的なeggPlant Functionalプリミティブはすでに含まれています。
- Script Infoセクション(スクリプトエディタで「i」ボタンを使用)に呼び出し引数と返り値(検証アクション用)を指定すると、独自のスクリプトをリストに追加することができます。
- 表内では、アクションを選択したら、Tabを使って引数と期待値の間を移動します。
- 検証アクション(関数)については、返り値との比較を行うための期待値を指定することができます。
- 期待値には、あらゆるSenseTalk式が可能です。
- テストを実行しながら各行の最新結果を確認できます。過去の実行については、結果タブで結果を確認できます。
ターボキャプチャ
ライブモードでSUTとインタラクションを行い、後ほど画像に名前を付ける、新しいターボキャプチャ機能を利用して、スクリプトを生成できるようになりました。
- 同機能を開始するには、ツールバーのStart Session(セッションを開始)ボタンを押すか、またはControl(コントロール)メニューのStart a Turbo Capture Session(ターボキャプチャセッションを開始)を選択します。
- ライブモードでSUTとのインタラクションを行って一連の手順を実行し、終了したらEnd Session(セッションを終了)します。
- 注:マウスの動きを記録する場合(クリックなし)、シフトキーを押します。
- ご希望の場合はセッションに名前を付けます。Open Session(セッションを開く)ボタンを使って、 ワークフローを確認し、画像に名前を付けたり調整したりといった作業を開始します。
- 作業は任意の時点で中断し、後で戻ってくることが可能です。進行状況は自動的に保存されます。
- 完了したら、Generate Script(スクリプトを生成)ボタンを押して、すべての画像の記録とスクリプトの生成を行います。
RDP接続サポート
MicrosoftのRemote Desktop Protocol(リモートデスクトッププロトコル)(RDP)を使用して、コンピュータとの接続が行えるようになりました。
- 接続を追加するときは、接続タイプにRDPを選択し、Windowsのユーザ名とパスワードを追加で入力します。
アップグレードされたOCRエンジン
すべてのプラットフォームで最新のABBYYバージョン11へのアップグレードを行いました。これで、eggPlantプラットフォーム間でOCRの動作が統一されます。
- 新しいエンジンではテキスト読み取り時の精度が格段に向上していますが、そのためにバージョン14とは読み取り結果が若干異なってくる場合もあります。
- 新しいValidWordsプロパティが追加されました。このプロパティは、単語のリストか、空白で区切られた複数の単語を含む文字列に設定することができます。ValidWordsを使用すると、OCRエンジンはすべてを指定単語の1つとして読み取ろうとします。
- OCR検索において、新しいValidWordsプロパティを*(アスタリスク)の値とともに設定すると、ターゲットフレーズに含まれる単語のみが認識されるようになります。
- TextRotationプロパティとともに、Clockwise、CounterClockwiseまたはUpsideDownの値を指定することで、回転していしたり、逆さまになっているテキストを読み取ることができるようになりました。
- ValidPatternプロパティを追加することで、ReadTextコマンドを行う際に使用する正規表現を指定できるようになりました。ValidPatternプロパティは、各単語のマッチングに使用するための正規表現に設定します。
テキスト設定から、OCRパネルで表示する言語をカスタマイズできるようになりました。
スクリプティング
- イテレータとしてリストまたは範囲を使用する場合、連続した次の値を取得するNextValueの使用に加え、新しいCurrentValueプロパティにより、CurrentIndexを進ませることなく現在値にアクセスすることができます。CurrentValueプロパティはコンテナでもあり、その値への参照と同様に機能するため、リスト内で当該値の置き換えまたは修正が行えます。
- repeat with eachで、値のリストを提供するソースイテレータから、繰り返しごとに複数のループ変数を割り当てられるようになりました。
- repeat with each (x,y,z) in ((12,22,14),(6,9,18),(15,3,44))
- 複数の割り当てに使用する同一規則が適用されるため、考慮しない値については変数を省略することができます。また、リストとして収集するための省略記号(...)が最終変数名の後ろに付かない限り、余分な値は無視されます。
- プロパティリストをイテレータとして使用できるようになりました。リピートループで繰り返される場合に、2項目のリストとして各キーとその値を提供します。(注:以前の動作との互換性を維持するには、このプロセスを機能させるループ変数のリストをrepeatで指定しなければなりません。)独自の繰り返しを定義しているオブジェクト(objectTypeが「iterator」のオブジェクト)は、従来どおりその繰り返し処理を使用します。その他のオブジェクトについては、そのプロパティの(キー、値)の組にわたって繰り返しを実行することになります。
- 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を、次の(キー、値)組の取得にnextKeyValueを使用することができます。繰り返し処理を進めずに現在のプロパティの該当値を取得するには、currentKey、currentValueおよびcurrentKeyValueが使用可能です。
- 任意のイテレータの繰り返し処理を開始または再開するためのstart iterationコマンドが追加されました。これは、プロパティリストで繰り返し処理を再開する唯一の方法です。また、リスト、範囲、チャンクの繰り返し処理の開始にも、このコマンドが使用できます。または、これらのタイプでは、currentIndexを0に設定しても同じ結果が得られます。
- 「6 5/8」のような帯分数がサポートされました。ただし、整数と分数との間にはスペースを1個入れ、「/」の前後にはスペースを入れないことが条件です。「3/4 ft」形式の単位付きの単分数がコンパイラによって1つの数値として(2つの数値と除算演算子ではなく)処理されるようになりました。ただし、分数が数字で直接書かれていること(変数やその他の式ではなく)、単位名が後に続いていることが条件です。
- 式内の演算子として、特殊記号≤、≥、+、+、➕、−、×、÷、√、≠のサポートを追加。また、文字Xが乗算演算子として使用できるようになりました。
- マージ関数を呼び出すショートハンドとして、引用符で囲まれた文字列の前に!を使用することのサポートを追加。
- put !"The month is now [[the monthName]]" -- "The month is now September"
- 以前から使用可能な英数字とアンダースコアに加え、追加の文字を識別子(変数名およびハンドラ名)に含める能力を追加。
- 対応するフォーマット演算子(format "words"またはformat "hex")と同等のものとして、as words(語として)、as hex(16進数として)を追加。as wordsの場合、"words"という語の後に大文字使用が続きます。
- maximum()およびminimum()関数のシノニムとして、それぞれ、highestValue()、largestValue()、およびlowestValue()、smallestValue()を追加。また、そのための自然言語構文を追加。
- 数値の最小値または最大値を制限するタスクを容易にする、but at least、but no less than、but at most、およびbut no more than演算子を追加 (内部でこれらの演算子はlargestValueまたはsmallestValue関数を呼び出します)。
- hence演算子のシノニムとしてfrom nowを追加。
- 指定の長さを上限としてある回数だけ繰り返されるテキスト文字列を作成したり、繰り返し後のリストを作成したりするrepeated演算子を追加。
- put "$" repeated 12 times -- "$$$$$$$$$$$$"
- put "Hello" repeated to length 12 -- "HelloHelloHe"
- 繰り返し後の項目のリストを作成するには、repeatedと一緒にas (a) listまたは(a) list ofを使用します。
- put "$" repeated 6 times as a list -- ("$","$","$","$","$","$")
- 乗算または繰り返しのためのnumber of演算子を追加。(注:この構文では、単語ofの前に、変数ではなくリテラル数値が必要です。)これは特に数値と単位の分数に有用です。値が数値またはリストの場合、値は当該数値で乗算されます。そうでない場合、number of演算子はrepeated演算子のように値の繰り返しを行います。
- standardFormat関数を変更。数値は引用符なしで記録され、値を正確に表すのにふさわしい場合には、numberFormatを用いることなく科学的表記が使用されるようになりました。単位を伴う数値には単位名が含まれます。文字列の引用には「@」の引用スタイルが使用され、必要に応じてバックスラッシュによるエスケープシーケンスが組み込まれます。
- 定義済み変数としてLightSpeedおよびgoogolを追加。
- Common(一般)記号カテゴリに定義済み変数heavyCheckMark、xMarkおよびheavyXMarkを追加。
- seekコマンドで、fromに加えてbeforeまたはafterが使用可能に。
- 一部のテキストエディタでは2個のダッシュ(--)が自動的に1個の全角ダッシュに置き換えられることから、コメントの開始に全角ダッシュ文字(—)を使用可能に。
- intersection、union、excludeItemsおよびuniqueItems関数においてconsidering case/ignoring caseのサポートを追加。これらの関数は、デフォルトでcaseSensitive(大文字小文字の区別)プロパティの現在の設定に従うようになります(以前は常に大文字と小文字が区別されていました)。
- 「to」および「..」に加え、「down to」を使って範囲式を記述可能に。
- 科学的または指数表記の数値を含む文字列を数値と認識。
- リピートループにおいて、刻み値の前に(stepまたはstep byに加えて)単語byが使用可能に。
- maximumおよびminimum関数が、空のパラメータ(または数値を含まないリスト)で呼び出されたときに、ゼロではなく空を返すようになりました。
- 文字列リテラルの前に2つの@記号が許される小さなバグを修正。許容されるのは1つのみとなります。
- 「database」が「new database」を指すことができるエラーを修正。単語「new」が必要になります。
- 引用符記号« »で、引用符内の最初の文字が省略されるバグを修正。
- 1つの数値と1つの数値を含む単一項目リストとの加算/減算を、結果が常にリストではなく単独の数値になるよう修正。
- 1つの数値と単一数値リストとの乗算を、結果が常に単一数値リストになるよう修正(数値とリストのスカラー乗法)。
- 空変数の、非存在プロパティのリスト項目プロパティを設定する際の不明瞭バグを修正。
- 定義済み変数が特定のコンテキストにおいて値を持っていると認識されない問題を修正。
- コマンドが範囲とともに呼び出される一部のケースでエラーメッセージを改善。
スクリプティングの単位のサポート
- 単位のサポートを追加。数値に単位名を含めて値のタイプを識別できるようになりました。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
- asの後に他の単位名を指定すると、ある単位から別の(互換性のある)単位へ値を変換することができます。
- put 1 gallon as 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
- 単位システムの動作は、2つのグローバルプロパティによって管理されます。unitsEnabledは、デフォルトでTrueに設定され、単位の使用と表示が有効になっています。これをFalseに設定すると、単位名は無視され、すべての数値が単なる数として扱われます。
- strictUnitsプロパティもデフォルトでTrueに設定されています。この設定により、計算の整合性が保たれます。単なる数と単位値のある数との間の加算、減算、または比較など、互換性のない単位が関与する計算については、例外が投げられます。より寛大な動作を得るには、これをFalseに設定します。これによって例外が投げられなくなる代わりに、状況によっては値の単位との関連付けが失われます。
バグ修正/微調整
- ヘルパースイートをバックレコード。他のどのスイートが「ヘルプ」しているかを確認できるようになりました。
- ヘルパースイートにあるログを開いたときに例外が上がらなくなりました。
- 存在しないスイートが「最近のスイートを開く」メニューに表示されなくなりました。
- コマンドラインからスクリプトを実行するときに時折起こるハングを修正。
- GUIライセンスが見つからないときの不明瞭な複数のライセンスメッセージを修正。
- コマンドラインモードからの実行中にAsk/Answerパネルが呼び出されるときのLogWarningを追加。
- スケジュールを複製できる機能を追加。
- 外部ソースからの「変則的な」引用符をスクリプトに貼り付けると、標準ASCII引用符に変換され、パースおよびコンパイルの問題が生じなくなりました。
- SUTへの接続時に時折起こるクラッシュを修正。
- 一時的なUI要素の画像キャプチャを容易にするため、リモート画面を一時フリーズさせる機能を追加。
- コマンドラインからのスクリプト実行時に時折起こるハングを修正。
- スイートで開いているタブ同士を切り替えるキーボードショートカットを追加。
- Macの場合、Command+Shift+[ and Command+Shift+]
- WindowsまたはLinuxの場合、Control+Shift+[ and Control+Shift+] on
- ファンクションキーのショートカットがメニューに表示されない問題を修正。
- フィルタリング時に、「interesting(関心のある)」ログラインのリストの中にCaptureScreenが含まれるようになりました。
- Mac 10.9および10.10上でAppNapを行わないようeggPlant Functionalを修正。この省電力機能は、eggPlant Functionalのバックグラウンド実行スクリプトが画面上で非表示またはオフスクリーンのときに中断される原因となっていました。
- VNCサーバをAndroid上でUSB経由で立ち上げると稀に起こるクラッシュを修正。
- 結果から画像「修正」を適用すると、開いているその画像のあらゆるコピーに変更が反映されるようになりました。
- 画像アップデートの中で画面から画像を選択するとき、置き換わる画像が両方向に2ピクセル大きくなることがなくなりました。
- Windowsの名前付きポート(PRN、またはCOM1など)に対応する文字列にマウスオーバーする際の問題を修正。
- コピーまたはペーストがNSRange例外をスローするいくつかの問題を修正。
- Remote Window Toolbar(リモートウィンドウツールバー)をカスタマイズするときに生じ得る複数の例外を修正。