コマンドラインからモノタッチアプリの GUI を自動的にテストする方法を見つけようとしていますか? つまり、CL から iOS シミュレーターで GUI テストを実行するということです。私が見つけた GUI テストの唯一の方法は Teleric ツールでしたが、まだ自動化されていません。
いくつかのヒント?ありがとう
コマンドラインからモノタッチアプリの GUI を自動的にテストする方法を見つけようとしていますか? つまり、CL から iOS シミュレーターで GUI テストを実行するということです。私が見つけた GUI テストの唯一の方法は Teleric ツールでしたが、まだ自動化されていません。
いくつかのヒント?ありがとう
TDD に役立つものを探している場合は、ひょうたんに興味があるかもしれません: https://github.com/calabash/calabash-ios
このフレームワークを使用して、UIAutomation
自動化された GUI テストを実現できます。厳密にはコマンド ラインからではありませんが、Instruments ツールを介して Javascript スクリプトを実行します。それは Monotouch で完全に動作します (とにかく、私はそれを使用しました)。
UIAutomation に関する Apple のドキュメントはかなり詳細です。うまくいけば、あなたが必要とする他のすべてをカバーするはずです。
スクリプトの例を挙げます (このスクリプトについては、Gist の jacksonh の功績によるものです。恥知らずにそこから引用しました)。
var target = UIATarget.localTarget();
var window = UIATarget.localTarget().frontMostApp().mainWindow ();
var table = window.tableViews () [0];
var results_cell = table.cells () [0]
var run_cell = table.cells () [1];
var passed = false;
var results = '';
run_cell.tap ();
while (true) {
target.delay (5);
try {
results = results_cell.name ();
} catch (e) {
UILogger.logDebug ('exception');
continue;
}
if (results.indexOf ('failure') != -1) {
passed = false;
break;
}
if (results.indexOf ('Success!') != -1) {
passed = true;
break;
}
}
UIALogger.logDebug ('Results of test run: ' + results);
UIALogger.logDebug ('Passed: ' + passed);