この質問のフォローアップとして、スタンドアロンの XUL アプリケーション (Firefox の拡張機能ではない) をテストするために MozMill を試しています。しかし、私はまだ理解していませんでした。具体的には、XULRunner ベースのアプリケーションをテストする方法についてです。
たとえば、このアプリを考えてみましょう。今のところ、コマンド ラインから実行できますが、多かれ少なかれ次のようになります。
$ /path/to/xulrunner /full/path/to/mozmillexample/application.ini
それをテストする Mozmill スクリプトを書きたいと思います。たとえば、単体テストの「味」として次のようなテストを書きたいと思います。
Components.utils.import("chrome://mozmillexample/content/example.js", example);
var setupModule = function(module) {
module.controller = mozmill.getBrowserController(); // Or what?
}
var testEquals = function() {
jumlib.assertEqual(example.exHello(), "Hello, World!", "Should be equal");
}
いくつかの機能テストも書きたいと思います。
Components.utils.import("chrome://mozmillexample/content/example.js", example);
var setupModule = function(module) {
module.controller = mozmill.getBrowserController(); // Or what?
}
var testAlerts = function() {
var button = findElement.Elem(document.getElementById('button'));
button.click();
controller.window.assertAlert(); // I bet it does not exist but it gives the idea...
}
残念ながら、スタンドアロン アプリのテストに関するドキュメントは見つかりませんでした。少なくとも、基本的な手順を説明しているものはありません。だから私は尋ねます: これらのようなテストを書くことは可能ですか? 可能であれば、どうすればよいですか?