Использование MozMill для тестирования отдельных приложений XUL - PullRequest
0 голосов
/ 29 июля 2011

В качестве продолжения этого вопроса я пытаюсь использовать MozMill для тестирования автономных приложений XUL (не расширение для Firefox). Однако я еще не «понял», а именно, как протестировать приложение на основе 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...
}

К сожалению, однако, я не нашел никакой документации о тестировании автономных приложений, по крайней мере, ни одной, объясняющей основные шаги. Поэтому я спрашиваю: можно ли писать такие тесты? Как я мог это сделать, если это возможно?

1 Ответ

3 голосов
/ 05 сентября 2011

Я получил его для работы с расширением MozMill; распакуйте расширение и отредактируйте следующие файлы:

  • добавьте это в install.rdf в нужном месте:

    <em:targetApplication>
      <Description>
        <em:id>mozmill@example.com</em:id>
        <em:minVersion>0.9</em:minVersion>
        <em:maxVersion>1.1</em:maxVersion>
      </Description>
    </em:targetApplication>`
    
  • создать папку «extensions» в корне приложения (где находятся application.ini, папка «chrome» и «default»); вставьте туда распакованное расширение для mozmill.

  • Включить диспетчер расширений, как описано в MDC

  • вставьте код расширения MozMill в ваше приложение XULRunner: <script src="chrome://mozmill/content/overlay.js"/>

  • Включить расширение путем добавления или изменения %appdata%\Adam Brandizzi\MozMill Example\Profiles\123455.default\extensions.ini: [ExtensionDirs] Extension0=C:\Users\John\Desktop\myXULApp\extensions\mozmill

    • Используйте следующий код JS, чтобы открыть MozMill: MozMill.onMenuItemCommand(event);
...