Difference between revisions of "RU/development/qa/vcltesttool/introduction"
(Основной текст статьи) |
|||
(88 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | <section begin=title /><noinclude>{{DISPLAYTITLE:Контроль качества: </noinclude>Введение для начинающих пользователей<noinclude>}}</noinclude><section end=title />{{BreadCrumbL10n}} |
− | |ShowPrevNext= | + | |
− | |ShowPrevPage= | + | {{RU/vcltesttool/vcltesttooltoc |
− | | | + | |ShowPrevNext=block |
− | |NextPage= | + | |ShowPrevPage=block |
+ | |PrevPage=RU/development/qa/vcltesttool | ||
+ | |NextPage=RU/development/qa/vcltesttool/developer | ||
|ShowNextPart=none | |ShowNextPart=none | ||
|ShowPrevPart=none | |ShowPrevPart=none | ||
}} | }} | ||
− | = | + | =Инструментарий для автоматического тестирования OpenOffice.org= |
− | = | + | = О TestTool = |
− | + | '''TestTool''' - это программа, предназначенная для автоматизированного тестирования {{OOo}}. TestTool взаимодействует через TCP/IP-интерфейс с {{OOo}} и выполняет тестирование установленного на PC {{OOo}}. Текущая версия TestTool предназначена для работы с OpenOffice.org 3.0 и выше. Однако, в будущем в {{OOo}} могут быть внесены несовместимые изменения и потребуется обновить версию TestTool. | |
− | + | TestTool связывается с {{OOo}}, используя SlotIDs, UniqueIDs, и HelpIDs для управления каждым пунктом меню, окнами, диалогами, и диалоговыми параметрами в {{OOo}}. Идентификаторы генерируются автоматически в {{OOo}} построителями процессов или назначаются разработчиками. | |
{| class="prettytable" | {| class="prettytable" | ||
− | | '''SlotIDs | + | | '''SlotIDs''' |
+ | |Каждый пункт меню имеет SlotID который используется, например, чтобы открыть диалог или совершить действие. | ||
|- | |- | ||
− | | '''HelpIDs | + | | '''HelpIDs''' |
+ | |Каждый элемент управления, окно или диалог автоматически получает HelpID для внутренней справочной системы. TestTool использует HelpIDs для идентификации конкретного элемента управления, окна или диалога. | ||
|- | |- | ||
− | | '''UniqueIDs''' | + | | '''UniqueIDs''' |
+ | |Разработчики могут назначать UniqueID элементам управления, которые не имеют собственного HelpID, чтобы TestTool мог идентифицировать данный контрол. | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Вы можете создать скрипт теста для TestTool на языке программирования StarBasic (подобный VisualBasic). Некоторые команды доступны для TestTool, например, получить или разместить информацию в элементе управления {{OOo}}. Есть [[VCLTesttool/API_reference|полный список доступных команд, описывающий внутренние команды, методы, и функции TestTool [en]]]. Вы можете симулировать большинство действий мыши и клавиатуры из TestTool, а так же собирать информацию из элементов управления или изменять установки по умолчанию в {{OOo}}. Иными словами, TestTool позволяет симулировать поведение пользователя {{OOo}}. | |
− | = | + | = Расположение TestTool = |
− | + | ''Окружающая среда TestTool'' может быть проверена на [[Mercurial/Getting_Started#Creating_a_local_copy|Mercurial]] в openoffice.org, | |
+ | и находится в каталоге: '''testautomation'''; | ||
+ | Или она доступна в [http://ooopackages.good-day.net/pub/OpenOffice.org/qa/testautomation/ виде отдельно пакета]. | ||
− | + | Приложение ''TestTool'' [http://qa.openoffice.org/ooQAReloaded/AutomationTeamsite/ooQA-TeamAutomationBin.html всегда доступно для загрузки]. | |
+ | Для других платформ установка так же доступна. Просто используйте двоичный файл из каталога | ||
+ | .../{officepath}/program. | ||
− | + | Запустите программу | |
+ | {{DocLinux| '''testtool.bin'''}} | ||
+ | или | ||
+ | {{DocWindows| '''testtool.exe'''}} | ||
+ | или | ||
+ | {{DocOSX | скопируйте скрипт ''soffice'' в ''testtool'' и запустите его.}} | ||
− | + | = Установка TestTool = | |
− | + | Для установки TestTool, распакуйсте содержимое загруженного архива TestTool на локальный диск. Если TestTool планируют использовать несколько пользователей, скопируйте распакованный архив на сетевой диск. | |
− | |||
+ | После запуска TestTool выполняет файл настроек | ||
+ | {{DocLinux| '''.testtoolrc'''}} | ||
+ | или | ||
+ | {{DocWindows| '''testtool.ini'''}} | ||
− | {| | + | Если ваш файл настроек TestTool расположен в том же каталоге, что и исполняемые файлы TestTool, то он автоматически буде скопирован в каталог |
− | + | {{DocLinux| ''home''}} | |
+ | или | ||
+ | {{DocWindows| ''профиль''}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | {{DocLinux| '''Только для Linux''': Если вы получили сообщение, аналогичное этому:<br> | ||
+ | "''Couldn't bootstrap uno servicemanager for reason : Couldn't create registry file ...services.rdb for writing"'',<br> | ||
+ | убедитесь, что вы используете '''nfslock'''.<br> | ||
+ | Например, в Linux запустите<br> | ||
+ | '''/etc/init.d/nfslock status'''<br> | ||
+ | Если команда не выполняется, то измените от имени root и выполните<br> | ||
+ | '''/etc/init.d/nfslock start''' | ||
+ | и<br> | ||
+ | '''chkconfig nfslock on'''.<br> | ||
+ | Это необходимо для дистрибутивов '''TurboLinux''' и '''SuSe 8.1'''.}} | ||
+ | = Настройка TestTool = | ||
+ | Выберите {{Menu|Extra|Settings|Profile}}. | ||
− | | | + | {| class="prettytable" |
− | + | !colspan="2" | [[Image: Testtool-option-profile.jpg]] | |
− | + | |- | |
− | ''' | + | |1. '''Profile:''' |
− | + | |Введите название вашего профиля. | |
− | (... | + | |- |
+ | |2. '''Log base directory''': | ||
+ | |Введите путь, куда будут сохраняться результаты тестов.<br>Например:<br> | ||
+ | {{DocLinux|/opt/qa/qatesttool/errorlog/mymachine}} | ||
+ | или | ||
+ | {{DocWindows|d:\qa\qatesttool\errorlog\mymachine}} | ||
+ | |- | ||
+ | |3. '''Base directory''': | ||
+ | |Введите полный путь к ''Окружению TestTool'' ('''БЕЗ завершающего слэша!'''). <br>Например:<br> | ||
+ | {{DocLinux| '''/opt/qa/qatesttool'''}} | ||
+ | или | ||
+ | {{DocWindows| '''d:\qa\qatesttool'''}} | ||
+ | |- | ||
+ | |4. '''Default HID directory''': | ||
+ | |Отметьте данный флажок. | ||
+ | |} | ||
− | |||
− | ''' | + | При необходимости можно изменить эти настройки в соответствующем конфигурационном файле |
+ | {{DocLinux| '''.testtoolrc'''}} | ||
+ | {{DocWindows| '''testtool.ini'''}} | ||
− | |||
− | '''HIDDir'''<nowiki>=/opt/qa/qatesttool/global/hid</nowiki> | + | '''CurrentProfile'''<nowiki>=_profile_Default</nowiki> |
+ | (...) | ||
+ | <nowiki>[_profile_Default]</nowiki> | ||
+ | '''LogBaseDir'''<nowiki>=/opt/qa/qatesttool/errorlog/mymachine</nowiki> | ||
+ | '''BaseDir'''<nowiki>=/opt/qa/qatesttool</nowiki> | ||
+ | '''HIDDir'''<nowiki>=/opt/qa/qatesttool/global/hid</nowiki> | ||
− | = | + | = Автоматизированные креш-отчёты = |
− | : | + | : Выберите меню {{Menu|Extra|Settings|Crashreport}}. |
{| class="prettytable" | {| class="prettytable" | ||
− | + | |colspan="2" | <center>[[Image: Testtool-option-crashreport.jpg]]</center> | |
− | + | |- | |
− | |- | + | |1. '''Use Proxy''' |
− | | | + | |Выберите, если доступ в интернет осуществляется через прокси. |
− | + | |- | |
− | + | |2. '''Host''' | |
− | + | |Адрес прокси. Например: | |
− | + | ''proxy.somewhere.de'' | |
− | + | |- | |
+ | |3. '''Port''' | ||
+ | |Введите номер порта прокси. Например: | ||
+ | ''8080'' | ||
+ | |- | ||
+ | |4. '''Allow Contact''' | ||
+ | |Отметьте этот флажок, если вы разрешите отправлять вам письма касательно ваших креш-отчётов. | ||
+ | |- | ||
+ | |5. '''Email''' | ||
+ | |Адрес вашей электропочты. Например: | ||
+ | ''you@somewhere.de'' | ||
+ | |} | ||
+ | В последствии можно отредактировать все эти параметры в конфигурационных файлах | ||
+ | {{DocLinux| '''.testtoolrc'''}} | ||
+ | {{DocWindows| '''testtool.ini'''}} | ||
− | |||
− | |||
− | |||
− | + | <nowiki>[</nowiki>Crashreporter] | |
− | + | '''UseProxy'''<nowiki>=true</nowiki> | |
− | + | '''ProxyServer'''<nowiki>=proxy.somewhere.de</nowiki> | |
− | + | '''ProxyPort'''<nowiki>=8080</nowiki> | |
− | + | '''AllowContact'''<nowiki>=true</nowiki> | |
− | + | '''ReturnAddress'''<nowiki>=you@somewhere.de</nowiki> | |
− | = | + | = Выбор установки OpenOffice.org = |
− | |||
− | + | Есть два варианта: | |
+ | Выберите меню {{Menu|Extra|Settings|Misc}}. | ||
{| class="prettytable" | {| class="prettytable" | ||
− | | <center>[[Image: Testtool-option-misc.jpg]] </center> | + | |colspan="2" | <center>[[Image: Testtool-option-misc.jpg]] </center> |
− | + | |- | |
− | + | |1. '''OOo Program Dir''' | |
− | + | |Выберите установку OpenOffice.org, предназначенного для тестирования. Например: | |
− | + | /Volumes/OpenOffice.org 2.0.app/Contents/MacOS | |
− | + | |} | |
− | |} | ||
− | |||
− | |||
− | + | В последствии можно отредактировать все эти параметры в конфигурационных файлах | |
+ | {{DocLinux| '''.testtoolrc'''}} | ||
+ | {{DocWindows| '''testtool.ini'''}} | ||
− | '''Type'''=Path | + | <nowiki>[</nowiki>OOoProgramDir] |
+ | '''Type'''=Path | ||
+ | '''Current'''=/Volumes/OpenOffice.org 2.0.app/Contents/MacOS | ||
+ | '''All'''=/Volumes/OpenOffice.org 2.0.app/Contents/MacOS | ||
− | + | = Редактор TestTool = | |
+ | TestTool использует подсветку синтаксиса для всего BASIC, StarBasic, и внутренних комманд TestTool. Подробная информация описана в разделе [[VCLTesttool/API_reference|Внутренние команды, методы и функции TestTool [en]]]. Подсветка может увеличивать время загрузки больших файлов. | ||
− | + | = Запуск скрипта TestTool = | |
− | + | Для запуска установленного OpenOffice.org используйте параметр для запуска TestTool из командной строки | |
− | + | '''-enableautomation''' | |
− | + | В среде TestTool запустится крипт с расширением '''*.bas'''. Для запуска скрипта загрузите '''*.bas-файл''', и затем выполните этот скрипт через меню или комбинацию горячих клавиш. | |
− | |||
− | = | ||
− | |||
{| class="prettytable" | {| class="prettytable" | ||
− | ! colspan=" | + | ! colspan="6" | [[Image:tt_run.jpg]] |
+ | |- | ||
+ | !'''Клавиша''' | ||
+ | !'''Меню''' | ||
+ | !'''Описание''' | ||
+ | !'''Клавиша''' | ||
+ | !'''Меню''' | ||
+ | !'''Описание''' | ||
+ | |- | ||
+ | | {{Key|F5}} | ||
+ | |''Stert'' | ||
+ | |Запуск скрипта, создание нового или открытие старого файла результатов, и вставка результатов теста в файл результатов. | ||
+ | |{{Key|Shift|F5}} | ||
+ | |''Cancel'' | ||
+ | |Завершение выполнение скрипта | ||
+ | |- | ||
+ | |{{Key|F8}} | ||
+ | |''Single stepping'' | ||
+ | |Запуск пошагового выполнения скрипта. | ||
+ | |{{Key|Ctrl|F5}} | ||
+ | |''Interrupt'' | ||
+ | |Прерывание выполняемого сценария. | ||
+ | |- | ||
+ | |{{Key|F9}} | ||
+ | |''Set / Select a break point'' | ||
+ | |Создание точки останова (красный круг) в скрипте на синем бордюре с левой стороны. | ||
+ | |{{Key|Shift|F7}} | ||
+ | |''Previous Error'' | ||
+ | |Перейти к предыдущей ошибке в сценарии. | ||
+ | |- | ||
+ | |{{Key|F10}} | ||
+ | |''Single step over procedures'' | ||
+ | |Выполнение по одной подпрограмме скрипта за один раз. | ||
+ | |{{Key|Shift|F8}} | ||
+ | |''Next Error'' | ||
+ | |Перейти к следующей ошибке после синтаксической ошибки в скрипте. | ||
+ | |} | ||
− | + | = Файл результатов = | |
− | |||
− | |||
− | ''' | + | TestTool автоматически сохраняет результаты в файл результатов в течении всего времени выполнения тестов. Имя файлу результатов даётся по имени выполняемого файла сценария (*.bas-файла), результаты которого сохраняются; при этом файлу результатов даётся другое расширение: '''*.res'''. |
− | |||
− | '' | + | Например: ''{{Menu|first.bas|first.res}}''. |
− | |||
− | ''' | + | Для установки пути сохранения файла результатов, выберите меню {{Menu|Extra|Settings|Profile}} и введите путь в графу '''Log Base directory'''. |
− | |||
− | + | Если файл результатов уже есть, то файл будет открыт и новые результаты будут добавлены в начало файла. | |
− | |||
− | |||
− | |||
− | ''' | + | Результаты представляются в виде иерархического дерева. Каждую ветвь дерева можно развернуть для просмотра её содержимого. Для этого нужно щёлкнуть по '''[+]''' в дереве. Чтобы свернуть ветвь, нужно щёлкнуть по '''[-]'''. |
− | |||
− | + | [[Image:tt_result.png]] | |
− | : | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | *Первый этап - ''Чтение файлов''. Разверните его, чтобы просмотреть список файлов. Если список окрашен в оранжевый цвет, значит файлы (*.win / *.sid) содержат ошибки. Сумма ошибок показывается в конце теста как предупреждения, произошедшие в ходе инициализации. | |
− | + | * Следующий вывод содержит автоматически сгенерированное вступление ''Запуск процедуры''. В нём отображается информация о версии TestTool, пути установки OpenOffice.org, а так же о запущенном приложении. Отображается локаль Офиса и системы. | |
− | + | * Каждая запись, которой предшествует '''[+]''' является блоком тестов. Если блок тестов окрашен в цвет отличный от чёрного, значит этот тест содержит ошибки. | |
− | + | * Оранжевый блок тестов указывает на одно или больше предупреждений. Чтобы увидеть, где произошла ошибка, раскройте секцию и изучите лог предупреждений, который следует отправить разработчикам данного тестового скрипта. Чтобы перейти непосредственно к месту скрипта, где произошла ошибка, дважды щёлкните по этому предупреждению. | |
− | + | * Светло-зелёный цвет блока обозначает QAErrorLog, вставленный разработчиками в данный раздел тестов, чтобы дать тестерам дополнительную информацию (например - о возникших ошибках и способах их обхода). | |
− | + | * Светло-синий цвет блока обозначает утверждение о предоставлении дополнительной информации для тестирования и отладки сборки OpenOffice.org. | |
− | * | + | * Красный блок показывает наличие одной или более ошибок. Раскрытие данной ветки дерева покажет подробную информацию о проблемах. В примере результирующего файла ошибка произошла, когда TestTool не нашёл слот, потому что в нём есть опечатка "ToosOptions" вместо "Too'''l'''sOptions". |
− | * | + | * Раскрывайте красную группу по щелчку на '''[+]''' напротив группы уровень за уровнем (главный - блок тестов... - подпрограмма... - ...) для просмотра всех ошибок. Вы так же можете увидеть, что TestTool получил в ответ от OpenOffice.org, так как TestTool может работать запускать следующие тестовые блоки без вывода окон и диалогов. Например: |
− | * | ||
− | * | ||
− | * | ||
− | * | ||
− | * | ||
** the WORKINGWINDOW "Untitled2 - OpenOffice.org Writer" is closed (geschlossen = closed) | ** the WORKINGWINDOW "Untitled2 - OpenOffice.org Writer" is closed (geschlossen = closed) | ||
** Explanation: | ** Explanation: | ||
** the working document is closed | ** the working document is closed | ||
** The TestTool then started the next testcase at the base state of OpenOffice.org (that is, with one open document and no open dialog). | ** The TestTool then started the next testcase at the base state of OpenOffice.org (that is, with one open document and no open dialog). | ||
− | * | + | * В конце теста выводятся номера ошибок и предупреждений. |
+ | |||
+ | = Запуск сценария тестов из командной строки = | ||
− | + | Для запуска сценария тестирования из командной строки используйте следующий синтаксис: | |
− | |||
{| class="prettytable" | {| class="prettytable" | ||
− | | | + | | |
− | | '''<nowiki>testtool.exe [/port=xxx /host=xxx] startprogram /run</nowiki>''' '''<nowiki>[/result xxx]</nowiki>''' '''<nowiki>[/printlog]</nowiki>''' | + | | '''<nowiki>testtool.exe [/port=xxx /host=xxx] startprogram /run</nowiki>''' '''<nowiki>[/result xxx]</nowiki>''' '''<nowiki>[/printlog]</nowiki>''' |
+ | |||
+ | |- | ||
+ | | <div align="right">'''/Port '''</div> | ||
+ | | Указывается com-порт на машине, выделяемый TestTool для связи с OpenOffice.org. Если вы опустите этот параметр, TestTool будет использовать соответствующий параметр из файла | ||
+ | {{DocLinux| '''.testtoolrc'''}} | ||
+ | или | ||
+ | {{DocWindows| '''testtool.ini'''}} | ||
− | |- | + | |- |
− | | <div align="right">'''/ | + | | <div align="right">'''/Host '''</div> |
− | | | + | | Указывается имя хоста машины, на которой установлен тестируемый OpenOffice.org. Если OpenOffice.org находится на той же машине, что и TestTool, введите '''localhost'''. Если вы опустите этот параметр, TestTool будет использовать соответствующий параметр из файла |
+ | {{DocLinux| '''.testtoolrc'''}} | ||
+ | или | ||
+ | {{DocWindows| '''testtool.ini'''}} | ||
+ | но только в случае использования ''localhost''! | ||
− | |- | + | |- |
− | | <div align="right">''' | + | | <div align="right">'''Startprogram '''</div> |
− | | | + | | Указания файла-сценариев '''*.bas''', который необходимо запустить на выполнение. |
− | |- | + | |- |
− | | <div align="right">''' | + | | <div align="right">'''/run'''</div> |
− | | | + | | Запуск сценариев тестирования и запись результатов в результирующий файл, и выход из TestTool по окончании тестов. |
− | |- | + | |- |
− | | <div align="right">'''/ | + | | <div align="right">'''/result'''</div> |
− | | | + | | Ограничивает количество тестов до Х исключая уже выполненные. Данные о выполненных тестах будут взяты из файла результатов. |
− | |- | + | |- |
− | | <div align="right">'''/ | + | |<div align="right">'''/printlog'''</div> |
− | | | + | |{{DocLinux| '''Писать данные, записанные в журналы, в стандартный вывод'''<br>***** UNIX only ! *****}} |
− | |||
− | | | ||
− | |||
− | |} | + | |} |
{| class="prettytable" | {| class="prettytable" | ||
− | | | + | | Например: |
− | | '''testtool.exe /port=12481 /host=localhost /opt/qatesttool/writer/update/w_update.bas /run''' | + | | '''testtool.exe /port=12481 /host=localhost /opt/qatesttool/writer/update/w_update.bas /run''' |
− | |- | + | |- |
− | | | + | | |
− | | | + | | TestTool запускает сценарий '''w_update.bas''' на локальной машине через порт 12481, и завершает TestTool по окончании тестов. |
+ | |} | ||
− | + | = Пакетное выполнение сценариев тестирования = | |
− | + | : Примеры для Win32 и Unix приведены в статье http://hg.services.openoffice.org/DEV300/file/1467f46f8817/testautomation/tools/run_tests. | |
− | + | = Тестирование Non-Product-сборки = | |
− | + | Non-Product Version / [[Non_Product_Build|Non-Product Build]] - версия не для распространения, содержащая дополнительный отладочный код. | |
− | + | Предназначена для технических специалистов, отличается большим размером и низкой производительностью. | |
− | * | + | * Определите файл, где вам необходимо хранить переменные отладки для OpenOffice.org, включив соответствующую секцию в '''''win.ini'''''-файле. (Если вы не имеете доступа к этому файлу, вы можете использовать переменные окружения.): |
<nowiki>[SV]</nowiki> | <nowiki>[SV]</nowiki> | ||
dbgsv<nowiki>=c:\</nowiki>dbgsv.ini | dbgsv<nowiki>=c:\</nowiki>dbgsv.ini | ||
dbgsvlog<nowiki>=c:\</nowiki>dbgsv.log | dbgsvlog<nowiki>=c:\</nowiki>dbgsv.log | ||
− | * | + | |
+ | * На платформе Linux/Unix/Win32 вы можете установить и сохранить переменные окружения: | ||
DBGSV_INIT=/some/path/dbgsv.ini | DBGSV_INIT=/some/path/dbgsv.ini | ||
DBGSV_LOG=/some/path/dbgsv.log | DBGSV_LOG=/some/path/dbgsv.log | ||
− | * | + | * В OpenOffice.org, нажмите {{Key|Shift|Ctrl|Alt|D}}, и выберите ''TestTool'' в списке '''Error '''. |
− | * | + | * В TestTool, соответствующая индикация будет светло-голубой. Чтобы вручную воспроизвести утверждение, выберите в ''списке'' '''Error '''. |
− | = | + | = Окружение TestTool = |
− | + | Окружение TestTool позволяет запускать сценарии, содержит скрипты тестов, и библиотеки (''включённых файлов''), с помощью которых проводится автоматическое тестирование OpenOffice.org. Окружение TestTool имеет отдельные модули для каждого приложения или области, которую вам необходимо протестировать в OpenOffice.org. Для проверки приложения OpenOffice.org, такого какWriter, потребуется только ''application module'' и модуль ''global''. | |
{| class="prettytable" | {| class="prettytable" | ||
− | ! | + | ! Имя модуля / Путь |
− | ! | + | ! Описание |
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
− | == | + | ==Модули приложений== |
|- | |- | ||
| '''dbaccess''' | | '''dbaccess''' | ||
− | | | + | | База данных / Источник Данных, работающие в OpenOffice.org |
|- | |- | ||
| '''spreadsheet''' | | '''spreadsheet''' | ||
− | | Calc ( | + | | Calc (Электронная таблица) |
|- | |- | ||
| '''chart2''' | | '''chart2''' | ||
− | | | + | | Диаграммы электронных таблиц |
|- | |- | ||
| '''graphics''' | | '''graphics''' | ||
− | | Impress ( | + | | Impress (приложение для создания презентаций) и Draw (графический редактор) |
|- | |- | ||
| '''math''' | | '''math''' | ||
− | | Math ( | + | | Math (редактор формул) |
|- | |- | ||
| '''extensions''' | | '''extensions''' | ||
− | | | + | | Работа с расширениями |
|- | |- | ||
| '''writer''' | | '''writer''' | ||
− | | Writer ( | + | | Writer (текстовый процессор, редактор HTML-документов и составных документов) |
|- | |- | ||
| '''xml''' | | '''xml''' | ||
− | | XML | + | | Поддержка формата XML-файлов для всего OpenOffice.org |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | |
− | == | + | |
+ | ==Общие модули== | ||
|- | |- | ||
| '''framework''' | | '''framework''' | ||
− | | | + | | Общая функциональность для всех приложений (например - галерей и расширений) |
|- | |- | ||
| '''global''' | | '''global''' | ||
− | | | + | | Все общие процедуры (например - запуск, инструменты, объявление файлов) |
|- | |- | ||
| '''tools''' | | '''tools''' | ||
− | | | + | | Полезные автономные приложения (hid.lst perl script) |
|} | |} | ||
− | |||
+ | |||
+ | Следующие подкатегории определены для модулей в окружении TestTool: | ||
{| class="prettytable" | {| class="prettytable" | ||
− | ! | + | ! Имя модуля / Путь |
− | ! | + | ! Описание |
|- | |- | ||
| '''required''' | | '''required''' | ||
− | | | + | | Тест ресурсов: Активирует все пункты меню и открывает все диалоги в проверяемом приложении. |
|- | |- | ||
| '''optional''' | | '''optional''' | ||
− | | | + | | Выполняет функции общего назначения для каждой функции в тестируемом приложении, в том числе по каждому пункту меню. |
|- | |- | ||
| '''tools''' | | '''tools''' | ||
− | | | + | | Подключает библиотеки, которые содержат общие подпрограммы, необходимые для всех сценариев тестирования в модулях или приложениях. |
|} | |} | ||
− | |||
− | + | Эти предопределённые имена так же могут находиться в других подкатегориях пути. Чаще всего имя директории является зеркальным отражением имени тестируемой области. | |
+ | |||
+ | Если вы нашли ''*.bas''-файл в одной из директорий, значит вы находитесь в модуле тестирования. То есть, модуль должен вклчать следующие каталоги / файлы: | ||
{| class="prettytable" | {| class="prettytable" | ||
− | ! | + | ! Имя модуля / Путь |
− | ! | + | ! Описание |
|- | |- | ||
− | | ''' | + | | '''*.bas''' |
− | | | + | | Содержит выполняемые сценарии тестирования. Для запуска данного скрипта, откройте *.bas-файл в TestTool, и нажмите {{Key|F5}} или выберите в меню {{Menu|Program|Start}}. |
|- | |- | ||
| '''inc''' | | '''inc''' | ||
− | | | + | | Содержит библиоткеи и любые ассоциированные файлы, требуемые при тестировании (включены в ''use''-метод в ''*.bas''-файле). |
|- | |- | ||
| '''input''' | | '''input''' | ||
− | | | + | | Файл данных, требуемых при тестировании. |
|- | |- | ||
| '''tools''' | | '''tools''' | ||
− | | | + | | Включает библиотеки, содержащие общие подпрограммы, используемые в сценариях тестирования (*.bas). Эти библиотеки должны быть в том же каталоге, что и скрипт теста. |
|} | |} | ||
− | == | + | |
− | + | == Общие модули == | |
+ | Параметр ''global-directory'' требуется для каждого теста. Этот каталог содержит главные процедуры для выполняемых сценариев тестирования, включённых в файл ''hid.lst'', являющегося декларацией, определяющей пункты меню, диалоги, элементы управления OpenOffice.org, а так же общие процедурные инструменты. | ||
{| class="prettytable" | {| class="prettytable" | ||
− | ! | + | ! Имя каталога |
− | ! | + | ! Описание |
|- | |- | ||
| '''hid''' | | '''hid''' | ||
− | | | + | | Содержит файл ''hid.lst''. |
|- | |- | ||
| '''input''' | | '''input''' | ||
− | | | + | | Содержит общие файлы, требующиеся TestTool. |
− | + | * переводит '''office language dependent''' умолчальный фильтр имён каждого приложения (''filters''-каталог) | |
− | * | + | * переводит '''office language dependent''' имена OLE-объектов (''olenames''-каталог) |
− | * | + | * фильтры для каждого графического формата, который может прочесть OpenOffice.org (''graf_inp''-каталог) |
− | * | ||
− | |||
− | |||
− | |||
|- | |- | ||
| '''sid''' | | '''sid''' | ||
− | | | + | | Включает в себя все декларации SlotID. |
|- | |- | ||
| '''system''' | | '''system''' | ||
− | | | + | | Содержит процедуры для запуска сценариев тестирования в inc-файлах. |
|- | |- | ||
| '''tools''' | | '''tools''' | ||
− | | | + | | Содержит общие процедуры в inc-файлах (Например: ''declare.bas''). |
|- | |- | ||
| '''update''' | | '''update''' | ||
− | | | + | | Содержит общие ресурсы для тестов в файлах (опции диалогов и мастеров) |
|- | |- | ||
| '''win''' | | '''win''' | ||
− | | | + | | Содержит все декларации HelpID. |
|} | |} | ||
− | = | + | =Конфигурирование файла настроек= |
− | + | ||
+ | Конфигурационный файл TestTool | ||
+ | {{DocLinux| '''.testtoolrc'''}} | ||
+ | {{DocWindows| '''testtool.ini'''}} | ||
+ | содержит несколько секций. | ||
− | == GUI | + | Имена секций заключены в квадратные скобки [...]. |
− | ''Current='' | + | |
+ | Каждая секция содержит несколько записей на подобии: | ||
+ | EntryName=Value | ||
+ | |||
+ | == Платформа GUI == | ||
+ | ''Current='' зависит от платформы. | ||
Line 406: | Line 493: | ||
|- | |- | ||
− | | ''' | + | | '''Подсистема''' |
− | | ''' | + | | '''Значение''' |
− | | ''' | + | | '''Подсистема''' |
− | | ''' | + | | '''Значение''' |
|- | |- | ||
Line 497: | Line 584: | ||
|} | |} | ||
− | + | ||
+ | {{SignTransYear|RU|Sancho|А. Е. Харламенков|2010}} | ||
+ | |||
+ | {{RUqaBottom}} |
Latest revision as of 19:56, 18 September 2011
Contents
- 1 Инструментарий для автоматического тестирования OpenOffice.org
- 2 О TestTool
- 3 Расположение TestTool
- 4 Установка TestTool
- 5 Настройка TestTool
- 6 Автоматизированные креш-отчёты
- 7 Выбор установки OpenOffice.org
- 8 Редактор TestTool
- 9 Запуск скрипта TestTool
- 10 Файл результатов
- 11 Запуск сценария тестов из командной строки
- 12 Пакетное выполнение сценариев тестирования
- 13 Тестирование Non-Product-сборки
- 14 Окружение TestTool
- 15 Конфигурирование файла настроек
Инструментарий для автоматического тестирования OpenOffice.org
О TestTool
TestTool - это программа, предназначенная для автоматизированного тестирования OpenOffice.org. TestTool взаимодействует через TCP/IP-интерфейс с OpenOffice.org и выполняет тестирование установленного на PC OpenOffice.org. Текущая версия TestTool предназначена для работы с OpenOffice.org 3.0 и выше. Однако, в будущем в OpenOffice.org могут быть внесены несовместимые изменения и потребуется обновить версию TestTool.
TestTool связывается с OpenOffice.org, используя SlotIDs, UniqueIDs, и HelpIDs для управления каждым пунктом меню, окнами, диалогами, и диалоговыми параметрами в OpenOffice.org. Идентификаторы генерируются автоматически в OpenOffice.org построителями процессов или назначаются разработчиками.
SlotIDs | Каждый пункт меню имеет SlotID который используется, например, чтобы открыть диалог или совершить действие. |
HelpIDs | Каждый элемент управления, окно или диалог автоматически получает HelpID для внутренней справочной системы. TestTool использует HelpIDs для идентификации конкретного элемента управления, окна или диалога. |
UniqueIDs | Разработчики могут назначать UniqueID элементам управления, которые не имеют собственного HelpID, чтобы TestTool мог идентифицировать данный контрол. |
Вы можете создать скрипт теста для TestTool на языке программирования StarBasic (подобный VisualBasic). Некоторые команды доступны для TestTool, например, получить или разместить информацию в элементе управления OpenOffice.org. Есть полный список доступных команд, описывающий внутренние команды, методы, и функции TestTool [en]. Вы можете симулировать большинство действий мыши и клавиатуры из TestTool, а так же собирать информацию из элементов управления или изменять установки по умолчанию в OpenOffice.org. Иными словами, TestTool позволяет симулировать поведение пользователя OpenOffice.org.
Расположение TestTool
Окружающая среда TestTool может быть проверена на Mercurial в openoffice.org, и находится в каталоге: testautomation; Или она доступна в виде отдельно пакета.
Приложение TestTool всегда доступно для загрузки. Для других платформ установка так же доступна. Просто используйте двоичный файл из каталога
.../{officepath}/program.
Запустите программу
или
или
Установка TestTool
Для установки TestTool, распакуйсте содержимое загруженного архива TestTool на локальный диск. Если TestTool планируют использовать несколько пользователей, скопируйте распакованный архив на сетевой диск.
После запуска TestTool выполняет файл настроек
или
Если ваш файл настроек TestTool расположен в том же каталоге, что и исполняемые файлы TestTool, то он автоматически буде скопирован в каталог
или
Настройка TestTool
Выберите Extra → Settings → Profile.
При необходимости можно изменить эти настройки в соответствующем конфигурационном файле
CurrentProfile=_profile_Default (...) [_profile_Default] LogBaseDir=/opt/qa/qatesttool/errorlog/mymachine BaseDir=/opt/qa/qatesttool HIDDir=/opt/qa/qatesttool/global/hid
Автоматизированные креш-отчёты
- Выберите меню Extra → Settings → Crashreport.
В последствии можно отредактировать все эти параметры в конфигурационных файлах
[Crashreporter] UseProxy=true ProxyServer=proxy.somewhere.de ProxyPort=8080 AllowContact=true ReturnAddress=you@somewhere.de
Выбор установки OpenOffice.org
Есть два варианта:
Выберите меню Extra → Settings → Misc.
1. OOo Program Dir | Выберите установку OpenOffice.org, предназначенного для тестирования. Например:
/Volumes/OpenOffice.org 2.0.app/Contents/MacOS |
В последствии можно отредактировать все эти параметры в конфигурационных файлах
[OOoProgramDir] Type=Path Current=/Volumes/OpenOffice.org 2.0.app/Contents/MacOS All=/Volumes/OpenOffice.org 2.0.app/Contents/MacOS
Редактор TestTool
TestTool использует подсветку синтаксиса для всего BASIC, StarBasic, и внутренних комманд TestTool. Подробная информация описана в разделе Внутренние команды, методы и функции TestTool [en]. Подсветка может увеличивать время загрузки больших файлов.
Запуск скрипта TestTool
Для запуска установленного OpenOffice.org используйте параметр для запуска TestTool из командной строки
-enableautomation
В среде TestTool запустится крипт с расширением *.bas. Для запуска скрипта загрузите *.bas-файл, и затем выполните этот скрипт через меню или комбинацию горячих клавиш.
Файл результатов
TestTool автоматически сохраняет результаты в файл результатов в течении всего времени выполнения тестов. Имя файлу результатов даётся по имени выполняемого файла сценария (*.bas-файла), результаты которого сохраняются; при этом файлу результатов даётся другое расширение: *.res.
Например: first.bas → first.res.
Для установки пути сохранения файла результатов, выберите меню Extra → Settings → Profile и введите путь в графу Log Base directory.
Если файл результатов уже есть, то файл будет открыт и новые результаты будут добавлены в начало файла.
Результаты представляются в виде иерархического дерева. Каждую ветвь дерева можно развернуть для просмотра её содержимого. Для этого нужно щёлкнуть по [+] в дереве. Чтобы свернуть ветвь, нужно щёлкнуть по [-].
- Первый этап - Чтение файлов. Разверните его, чтобы просмотреть список файлов. Если список окрашен в оранжевый цвет, значит файлы (*.win / *.sid) содержат ошибки. Сумма ошибок показывается в конце теста как предупреждения, произошедшие в ходе инициализации.
- Следующий вывод содержит автоматически сгенерированное вступление Запуск процедуры. В нём отображается информация о версии TestTool, пути установки OpenOffice.org, а так же о запущенном приложении. Отображается локаль Офиса и системы.
- Каждая запись, которой предшествует [+] является блоком тестов. Если блок тестов окрашен в цвет отличный от чёрного, значит этот тест содержит ошибки.
- Оранжевый блок тестов указывает на одно или больше предупреждений. Чтобы увидеть, где произошла ошибка, раскройте секцию и изучите лог предупреждений, который следует отправить разработчикам данного тестового скрипта. Чтобы перейти непосредственно к месту скрипта, где произошла ошибка, дважды щёлкните по этому предупреждению.
- Светло-зелёный цвет блока обозначает QAErrorLog, вставленный разработчиками в данный раздел тестов, чтобы дать тестерам дополнительную информацию (например - о возникших ошибках и способах их обхода).
- Светло-синий цвет блока обозначает утверждение о предоставлении дополнительной информации для тестирования и отладки сборки OpenOffice.org.
- Красный блок показывает наличие одной или более ошибок. Раскрытие данной ветки дерева покажет подробную информацию о проблемах. В примере результирующего файла ошибка произошла, когда TestTool не нашёл слот, потому что в нём есть опечатка "ToosOptions" вместо "ToolsOptions".
- Раскрывайте красную группу по щелчку на [+] напротив группы уровень за уровнем (главный - блок тестов... - подпрограмма... - ...) для просмотра всех ошибок. Вы так же можете увидеть, что TestTool получил в ответ от OpenOffice.org, так как TestTool может работать запускать следующие тестовые блоки без вывода окон и диалогов. Например:
- the WORKINGWINDOW "Untitled2 - OpenOffice.org Writer" is closed (geschlossen = closed)
- Explanation:
- the working document is closed
- The TestTool then started the next testcase at the base state of OpenOffice.org (that is, with one open document and no open dialog).
- В конце теста выводятся номера ошибок и предупреждений.
Запуск сценария тестов из командной строки
Для запуска сценария тестирования из командной строки используйте следующий синтаксис:
testtool.exe [/port=xxx /host=xxx] startprogram /run [/result xxx] [/printlog] | |
/Port
|
Указывается com-порт на машине, выделяемый TestTool для связи с OpenOffice.org. Если вы опустите этот параметр, TestTool будет использовать соответствующий параметр из файла
или |
/Host
|
Указывается имя хоста машины, на которой установлен тестируемый OpenOffice.org. Если OpenOffice.org находится на той же машине, что и TestTool, введите localhost. Если вы опустите этот параметр, TestTool будет использовать соответствующий параметр из файла
или но только в случае использования localhost! |
Startprogram
|
Указания файла-сценариев *.bas, который необходимо запустить на выполнение. |
/run
|
Запуск сценариев тестирования и запись результатов в результирующий файл, и выход из TestTool по окончании тестов. |
/result
|
Ограничивает количество тестов до Х исключая уже выполненные. Данные о выполненных тестах будут взяты из файла результатов. |
/printlog
|
Например: | testtool.exe /port=12481 /host=localhost /opt/qatesttool/writer/update/w_update.bas /run |
TestTool запускает сценарий w_update.bas на локальной машине через порт 12481, и завершает TestTool по окончании тестов. |
Пакетное выполнение сценариев тестирования
- Примеры для Win32 и Unix приведены в статье http://hg.services.openoffice.org/DEV300/file/1467f46f8817/testautomation/tools/run_tests.
Тестирование Non-Product-сборки
Non-Product Version / Non-Product Build - версия не для распространения, содержащая дополнительный отладочный код. Предназначена для технических специалистов, отличается большим размером и низкой производительностью.
- Определите файл, где вам необходимо хранить переменные отладки для OpenOffice.org, включив соответствующую секцию в win.ini-файле. (Если вы не имеете доступа к этому файлу, вы можете использовать переменные окружения.):
[SV] dbgsv=c:\dbgsv.ini dbgsvlog=c:\dbgsv.log
- На платформе Linux/Unix/Win32 вы можете установить и сохранить переменные окружения:
DBGSV_INIT=/some/path/dbgsv.ini DBGSV_LOG=/some/path/dbgsv.log
- В OpenOffice.org, нажмите ⇧ Shift + Ctrl + Alt + D , и выберите TestTool в списке Error .
- В TestTool, соответствующая индикация будет светло-голубой. Чтобы вручную воспроизвести утверждение, выберите в списке Error .
Окружение TestTool
Окружение TestTool позволяет запускать сценарии, содержит скрипты тестов, и библиотеки (включённых файлов), с помощью которых проводится автоматическое тестирование OpenOffice.org. Окружение TestTool имеет отдельные модули для каждого приложения или области, которую вам необходимо протестировать в OpenOffice.org. Для проверки приложения OpenOffice.org, такого какWriter, потребуется только application module и модуль global.
Имя модуля / Путь | Описание |
---|---|
Модули приложений | |
dbaccess | База данных / Источник Данных, работающие в OpenOffice.org |
spreadsheet | Calc (Электронная таблица) |
chart2 | Диаграммы электронных таблиц |
graphics | Impress (приложение для создания презентаций) и Draw (графический редактор) |
math | Math (редактор формул) |
extensions | Работа с расширениями |
writer | Writer (текстовый процессор, редактор HTML-документов и составных документов) |
xml | Поддержка формата XML-файлов для всего OpenOffice.org |
Общие модули | |
framework | Общая функциональность для всех приложений (например - галерей и расширений) |
global | Все общие процедуры (например - запуск, инструменты, объявление файлов) |
tools | Полезные автономные приложения (hid.lst perl script) |
Следующие подкатегории определены для модулей в окружении TestTool:
Имя модуля / Путь | Описание |
---|---|
required | Тест ресурсов: Активирует все пункты меню и открывает все диалоги в проверяемом приложении. |
optional | Выполняет функции общего назначения для каждой функции в тестируемом приложении, в том числе по каждому пункту меню. |
tools | Подключает библиотеки, которые содержат общие подпрограммы, необходимые для всех сценариев тестирования в модулях или приложениях. |
Эти предопределённые имена так же могут находиться в других подкатегориях пути. Чаще всего имя директории является зеркальным отражением имени тестируемой области.
Если вы нашли *.bas-файл в одной из директорий, значит вы находитесь в модуле тестирования. То есть, модуль должен вклчать следующие каталоги / файлы:
Имя модуля / Путь | Описание |
---|---|
*.bas | Содержит выполняемые сценарии тестирования. Для запуска данного скрипта, откройте *.bas-файл в TestTool, и нажмите F5 или выберите в меню Program → Start. |
inc | Содержит библиоткеи и любые ассоциированные файлы, требуемые при тестировании (включены в use-метод в *.bas-файле). |
input | Файл данных, требуемых при тестировании. |
tools | Включает библиотеки, содержащие общие подпрограммы, используемые в сценариях тестирования (*.bas). Эти библиотеки должны быть в том же каталоге, что и скрипт теста. |
Общие модули
Параметр global-directory требуется для каждого теста. Этот каталог содержит главные процедуры для выполняемых сценариев тестирования, включённых в файл hid.lst, являющегося декларацией, определяющей пункты меню, диалоги, элементы управления OpenOffice.org, а так же общие процедурные инструменты.
Имя каталога | Описание |
---|---|
hid | Содержит файл hid.lst. |
input | Содержит общие файлы, требующиеся TestTool.
|
sid | Включает в себя все декларации SlotID. |
system | Содержит процедуры для запуска сценариев тестирования в inc-файлах. |
tools | Содержит общие процедуры в inc-файлах (Например: declare.bas). |
update | Содержит общие ресурсы для тестов в файлах (опции диалогов и мастеров) |
win | Содержит все декларации HelpID. |
Конфигурирование файла настроек
Конфигурационный файл TestTool
содержит несколько секций.
Имена секций заключены в квадратные скобки [...].
Каждая секция содержит несколько записей на подобии:
EntryName=Value
Платформа GUI
Current= зависит от платформы.
UNIX | Win32 | ||
Подсистема | Значение | Подсистема | Значение |
Solaris SPARC | 01 | Win 95 | 100 |
SCO UNIX | 02 | Win 98 | 395 |
Linux | 03 | Win NT 3 | 351 |
AIX | 04 | Win NT 4 | 400 |
Solaris x86 | 05 | Win SE | 410 |
Irix | 06 | Win ME | 490 |
HP | 07 | Win 2000 | 500 |
FreeBSD | 08 | Win XP | 501 |
Mac OS X | 12 | Win Server 2003 | 502 |
Linux PPC | 13 | ||
NetBSD | 14 | ||
Linux 64 bit | 15 | ||
Linux SPARC | 16 | ||
eComStation | 17 |