Перейти к основному содержимому Главная страница каталога дополнений для NVDA от русскоязычного сообщества NVDA.RU.

Официальный русскоязычный каталог дополнений NVDA

Крупнейший каталог дополнений для программы экранного доступа NVDA, доступный в Интернете

Каталог дополнений от «🇷🇺 Русскоязычного сообщества NVDA.RU.»

NvdaDevTestToolbox (Набор инструментов для разработки и тестирования NVDA)

Краткое описание

Дополнение NvdaDevTestToolbox добавляет набор инструментов для разработчиков и тестировщиков NVDA.
Особенности:
Улучшенный диалог перезагрузки для указания дополнительных параметров при перезапуске NVDA.
Различные функции, связанные с залогированными ошибками.
Исследователь свойств объектов.
Инструменты для работы со скриптами: расширенный режим описания скриптов и открыватель скриптов.
Команды для удобного чтения и анализа логов.
Резервные копии старых логов.
В рабочей области Python-консоли - функция для открытия исходного кода объекта.
Пользовательский стартовый скрипт для Python-консоли.
Команда для логирования трассировки стека функции speech.speak.
Команда для обратного перевода элементов интерфейса.
Подробнее о каждой функции и сочетаниях клавиш вы можете прочитать в руководстве к дополнению.

⬇ Перейти к подробной справке 🔝 Назад к оглавлению

Основная информация

Название Версия Совместимость с API NVDA Последняя протестированная версия NVDA Минимальная версия NVDA Дата загрузки в каталог Размер Лицензия
nvdaDevTestToolbox 8.0 2025.1 2025.3.1 2019.2 11-11-2025 17:45:39 306 Кб. GPL v2
🔝 Назад к оглавлению

Информация о локализации на русский язык

🔝 Назад к оглавлению

Скачать

NvdaDevTestToolbox-V.8.0.nvda-addon

⬇ Перейти к истории версий 🔝 Назад к оглавлению

Разделы

🔝 Назад к оглавлению

Справка

Подробнее

NvdaDevTestToolbox (Набор инструментов для разработки и тестирования NVDA)

Это дополнение собирает различные функции для отладки и тестирования NVDA.

Возможности

Команды

Это дополнение использует многоуровневые команды для всех новых добавляемых им команд. Точка входа для этих команд — NVDA+X; таким образом, все команды должны выполняться с помощью NVDA+X, за которым следует другая отдельная буква или жест. Вы можете перечислить все доступные многоуровневые команды, нажав NVDA+X, H.

Для команд, которые вы используете чаще, вы также можете определить прямой жест в диалоге управления жестами.

Улучшенный диалог перезагрузки

Команда NVDA+X, Q открывает диалог для указания дополнительных опций перед перезапуском NVDA. Опции, которые можно указать, соответствуют параметрам командной строки, которые можно использовать с nvda.exe, например, -c для пути к конфигурации, --disable-addons для отключения дополнений и т.д.

Функции, связанные с залогированными ошибками

Сообщить о последней залогированной ошибке

Нажатие NVDA+X, E позволяет сообщить о последней залогированной ошибке без необходимости открывать лог. Второе нажатие очищает запомненную последнюю ошибку.

Воспроизведение звука для залогированных ошибок

Настройка "Воспроизводить звук для залогированных ошибок" была введена в NVDA 2021.3 и позволяет указать, будет ли NVDA воспроизводить звук ошибки в случае, если ошибка залогирована.

Это дополнение предоставляет дополнительную команду (NVDA+X, shift+E) для переключения этой настройки. Вы можете выбрать:

Для NVDA версии ранее 2021.3 это дополнение предоставляет обратный порт этой функции и возможность управлять ею с помощью команды клавиатуры. Однако флажок в панели дополнительных настроек не портирован обратно.

Обозреватель свойств объектов

Эта функция позволяет сообщать некоторые свойства текущего объекта навигатора без открытия просмотрщика лога.

Чтобы перечислить свойства объекта, переместите объект навигатора на него и используйте следующие команды:

Список поддерживаемых свойств следующий: name, role, state, value, windowClassName, windowControlID, windowHandle, location, Python class, Python class mro.

При использовании команд навигации по объектам вы также можете выбрать, чтобы сообщалось выбранное в данный момент свойство, вместо обычного сообщения объекта в NVDA. Команда переключения, NVDA+X, control+N, позволяет переключаться между этим пользовательским сообщением объектов и обычным сообщением NVDA.

Например, вы можете выбрать свойство "windowClassName" и включить пользовательское сообщение объектов. Затем при перемещении объекта навигатора к следующему или предыдущему объекту вы будете слышать windowClassName объекта вместо обычного сообщения.

Инструменты для скриптов

Открыватель скриптов

Команда открывателя скриптов позволяет открыть код скрипта, зная его жест.

Чтобы использовать его, нажмите NVDA+x, C, а затем жест скрипта, код которого вы хотите увидеть. Например, чтобы увидеть код скрипта, который сообщает заголовок окна переднего плана, нажмите NVDA+X, C, а затем NVDA+T.

Чтобы эта функция работала, вам нужно настроить команду вашего любимого редактора в настройках дополнения. Если вы не запускаете NVDA из исходного кода, расположение исходного кода NVDA также должно быть настроено.

Расширенный режим описания скриптов

Расширенный режим описания скриптов позволяет получать сообщаемую информацию о скриптах без описания в режиме справки по вводу.

Когда расширенный режим описания скриптов активен, режим справки по вводу (NVDA+1) изменяется следующим образом. Если у скрипта нет описания, сообщаются имя и класс скрипта. Если у скрипта есть описание, его описание сообщается как обычно. Жест для активации или деактивации этой функции — NVDA+X, D.

Выполнение жеста, привязанного к скрипту без описания в режиме справки по вводу, также создает запись для этого скрипта в диалоге управления жестами. Эта запись находится в специальной категории под названием "Скрипты без описания (изменяйте на свой риск!)". Это позволяет легко добавлять, удалять или изменять нативные жесты NVDA для этих скриптов. Однако имейте в виду, что часто предполагается, что у таких скриптов нет описания, чтобы предотвратить изменение пользователем связанного жеста. Действительно, жест может быть определен так, чтобы соответствовать сочетанию клавиш приложения. Например, скрипт script_toggleItalic на NVDAObjects.window.winword.WordDocument привязан к control+I, и это не следует изменять, поскольку жест передается приложению для фактического выполнения сочетания клавиш.

Пример использования

Control+shift+I также переключает курсив в Word, даже если он изначально не сообщается NVDA. Чтобы NVDA сообщала результат control+shift+I как control+I, вы должны выполнить следующие шаги:

Известная ошибка: Скрипт, добавленный для конкретного класса, виден, даже если диспетчер жестов открыт в другом контексте.

Функции чтения и анализа логов

Размещение маркеров в логе

Во время тестирования или работы вам может потребоваться отметить конкретный момент в логе, чтобы позже, при чтении лога, можно было легко вернуться к нему. Чтобы добавить сообщение-маркер в лог, нажмите NVDA+X, K. Сообщение следующего вида будет залогировано на уровне INFO: -- NDTT маркер 0 -- Вы можете добавить столько маркеров, сколько хотите, в лог. Номер маркера будет увеличиваться каждый раз, когда вы размещаете маркер в логе; он сбрасывается только при перезапуске NVDA.

Режим чтения лога

Режим чтения лога предоставляет команды для облегчения чтения и анализа логов. В окне просмотрщика лога и в области вывода консоли Python режим чтения лога включен по умолчанию, поэтому команды чтения лога доступны немедленно. В другой области чтения текста, такой как редактор (например, Notepad++) или веб-страница (например, проблема на GitHub), вам нужно нажать NVDA+X, L, чтобы включить режим чтения лога и использовать его команды. Когда вы закончите с задачами чтения и анализа лога, вы можете снова отключить NVDA+X, L, чтобы выключить режим чтения лога.

Команды, доступные в режиме чтения лога, описаны ниже. В этом режиме вы также можете нажать control+H, чтобы отобразить все доступные команды.

Команды быстрой навигации

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

Нажатие одной буквы перемещает к следующему вхождению этого сообщения. Сочетание буквы с клавишей shift перемещает к предыдущему вхождению этого сообщения.

Кроме того, внутри определенных типов сообщений вы можете переходить блоками, нажимая O или shift+O. Поддерживаются следующие типы сообщений и связанные с ними блоки:

Наконец, внутри блока вам может потребоваться быстро перейти к первой или последней интересной строке блока. Используйте shift+L, чтобы перейти к первой интересной строке содержимого текущего блока, например, к первому кадру трассировки. И L, чтобы перейти к последней интересной строке содержимого блока, например, к последнему кадру стека потока или ошибке под трассировкой.

Перевод речевых сообщений

Иногда вам может потребоваться просмотреть лог, сделанный в системе на иностранном языке, который вы не понимаете. Например, лог был сделан в китайской системе / NVDA, а вы понимаете только французский. Если у вас установлено дополнение Instant Translate, вы можете использовать его в сочетании с командами быстрой навигации по логу для перевода речевых сообщений.

Если вы хотите отключить перевод речи, снова нажмите control+T.

Открытие файла исходного кода в вашем редакторе

В логе некоторые строки могут ссылаться на исходный код:

Вам может потребоваться открыть файл, содержащий этот код, чтобы понять контекст трассировки или залогированного сообщения. Просто нажмите C, чтобы открыть этот файл.

Чтобы эта функция работала, вам нужно настроить команду вашего любимого редактора в настройках дополнения. Если вы не запускаете NVDA из исходного кода, расположение исходного кода NVDA также должно быть настроено.

Анализ трассировки

Иногда в логе могут быть трассировки ошибок, как в следующем примере:

ERROR - scriptHandler.executeScript (14:47:43.426) - MainThread (15492):
error executing script: <bound method LogContainer.script_openSourceFile of <NVDAObjects.Dynamic_LogViewerLogContainerIAccessibleRichEdit50WindowNVDAObject object at 0x34C1E510>> with gesture 'c'
Traceback (most recent call last):
File "scriptHandler.pyc", line 300, in executeScript
File "C:\Users\myUserName\AppData\Roaming\nvda\addons\nvdaDevTestToolbox\globalPlugins\ndtt\logReader.py", line 603, in script_openSourceFile
if self.openStackTraceLine(line):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\myUserName\AppData\Roaming\nvda\addons\nvdaDevTestToolbox\globalPlugins\ndtt\logReader.py", line 667, in openStackTraceLine
0 / 0 # An erroneaous code line
~~^~~
ZeroDivisionError: division by zero

Для кадров, где доступен исходный код, вы могли заметить маркеры с символами ^ (каретка) и ~ (тильда). Так Python визуально указывает местоположение ошибки, а также ее контекст в кадре трассировки. Нажатие control+E перемещает курсор в начало ошибки в строке исходного кода, т.е. на текст, отмеченный символом ^ (каретка). Двойное нажатие выделяет этот текст. Тройное нажатие выделяет ошибку с ее контекстом, т.е. текст строки исходного кода, отмеченный символами ^ (каретка) и ~ (тильда).

Обратите внимание, что для логов, снятых с версией NVDA до 2024.1, то есть с Python 3.7 или старше, Python указывает ошибку только одним символом ^ (каретка). Таким образом, действие двойного или тройного нажатия этой команды становится довольно бесполезным.

Получение сводки доступных команд

Чтобы отобразить список всех доступных команд в режиме чтения лога, нажмите NVDA+X, H.

Анонимизация лога

При сообщении о проблемах вам может потребоваться предоставить лог. Однако логи могут содержать конфиденциальную информацию (имена пользователей, электронные почты и т.д.). Это дополнение предоставляет команду для анонимизации содержимого лога.

Выберите часть лога или все его содержимое и нажмите NVDA+X, A. Анонимизированное содержимое лога будет помещено в буфер обмена. Вы можете вставить его на текущее выделение, чтобы заменить его, или куда угодно еще.

Чтобы эта функция работала, вам нужно настроить правила анонимизации, используемые этой командой. Файл для настройки этих правил находится по адресу: pathToNVDAConfig\ndtt\anonymizationRules.dic (например, C:\Users\myUserName\AppData\Roaming\nvda\ndtt\anonymizationRules.dic). Вы найдете все инструкции для написания этого файла в его заголовке. Если вы повредили файл правил анонимизации или удалили инструкции в заголовке, просто удалите или переименуйте этот файл, и новая версия этого файла будет сгенерирована при следующем запуске.

Резервное копирование старых логов

NVDA уже предоставляет резервную копию лога предыдущего сеанса NVDA; файл называется nvda-old.log. Однако иногда вам может потребоваться доступ к более старым логам, например, потому что вам пришлось перезапустить NVDA снова, прежде чем посмотреть на nvda-old.log. Это дополнение позволяет вам настроить, хотите ли вы создавать резервные копии старых логов и сколько их; это делается в настройках дополнения.

Диалог менеджера логов позволяет просматривать резервные копии логов. Его можно открыть, перейдя в меню NVDA -> Инструменты -> Менеджер логов В этом диалоге вы можете увидеть список всех резервных логов и выполнить различные действия с выбранным логом:

Вы также можете выбрать несколько логов для выполнения действия над всеми ними.

Чтобы иметь возможность открыть лог, вы должны сначала настроить Команду для открытия файла в вашем любимом редакторе.

Расширение консоли Python

Функция openCodeFile

В консоли вы можете вызвать следующую функцию, чтобы просмотреть исходный код, определяющий переменную myVar: openCodeFile(myVar)

Чтобы эта функция работала, вам нужно настроить команду вашего любимого редактора в настройках дополнения. Если вы не запускаете NVDA из исходного кода, расположение исходного кода NVDA также должно быть настроено.

Функция openCodeFile может быть вызвана для объектов, определенных в коде NVDA, или для объектов, определенных дополнениями. Она не может быть вызвана для объектов, исходный код которых недоступен, таких как встроенные объекты Python.

Если вы еще не импортировали объект в консоль, вы также можете передать его имя в качестве параметра функции openCodeFile.

Ниже приведены примеры вызова в коде NVDA:

Стартовый скрипт консоли Python

Вы можете определить пользовательский скрипт, который будет выполняться в пространстве имен консоли Python при ее первом открытии.

Например, скрипт позволяет вам выполнять новые импорты и определять псевдонимы, которые вы сможете использовать непосредственно в консоли, как показано ниже:

# Различные импорты, которые я хочу видеть в консоли.
import globalVars as gv
import core
import ui
# Псевдонимы
ocf = openCodeFile

Скрипт запуска консоли Python должен быть размещен в следующем месте: pathToNVDAConfig\ndtt\consoleStartup.py Например: C:\Users\myUserName\AppData\Roaming\nvda\ndtt\consoleStartup.py

Примечание: В Python 2, т.е. в NVDA 2019.2.1 или более ранних, поддерживаются только чистые ASCII-скрипты; любая другая кодировка, такая как Unicode, не поддерживается.

Сохранение истории ввода консоли Python

В истории консоли Python вы можете использовать стрелки вверх и вниз для просмотра и изменения предыдущих вводов. Однако список предыдущих вводов очищается при выходе из NVDA. Это дополнение предоставляет опцию, включенную по умолчанию, позволяющую сохранять историю ввода консоли Python даже при перезапуске NVDA.

Логирование трассировки стека речевой функции

Иногда вам может потребоваться увидеть, какая часть кода ответственна за произнесение чего-либо. Для этого вы можете включить логирование трассировки стека речевой функции, нажав NVDA+X, S. Каждый раз, когда NVDA говорит, соответствующая трассировка стека будет залогирована в логе.

Примечание: Вы можете изменить файл скрипта напрямую, чтобы пропатчить другую функцию. См. все инструкции в файле для подробностей об использовании.

Команда обратного перевода

Многие тестировщики используют NVDA на другом языке, кроме английского. Но при сообщении результатов тестирования на GitHub описание измененных опций или сообщения, выдаваемые NVDA, должны быть написаны на английском. Довольно неприятно и затратно по времени необходимость перезапускать NVDA на английском, чтобы проверить точную формулировку опций или сообщений.

Чтобы избежать этого, дополнение предоставляет две команды обратного перевода, позволяющие обратно переводить интерфейс NVDA, такие как сообщения, метки элементов управления в GUI и т.д.

Более конкретно, обратно переводится первая строка последней речевой последовательности.

Например, во французской NVDA, если я перейду стрелкой вниз к меню Tools под названием "Outils", NVDA скажет "Outils sous-Menu o", что означает "Tools subMenu o". Если я нажму команду обратного перевода сразу после этого, NVDA обратно переведет "Outils" в "Tools".

Посмотрев на лог afterwards, мы можем найти следующие строки:

IO - speech.speech.speak (23:38:24.450) - MainThread (2044):
Speaking ['Outils', 'sous-Menu', CharacterModeCommand(True), 'o', CharacterModeCommand(False), CancellableSpeech (still valid)]

Это подтверждает, что "Outils" была первой строкой в речевой последовательности.

В случае, если обратный перевод приводит к двум или более возможным результатам, открывается контекстное меню, перечисляющее все возможности.

Результат обратного перевода также копируется в буфер обмена, если включена соответствующая опция, что является значением по умолчанию.

Обратный перевод строк NVDA доступен только для версии NVDA 2022.1 или выше. Для более ранних версий NVDA доступны для обратного перевода только строки дополнений.

Кроме того, в версии NVDA 2019.2.1 или ранее, в случае, если обратный перевод не найден, производится вторая попытка в первой части строки. Действительно, в этих версиях NVDA речевая последовательность выглядит так:

IO - speech.speak (12:39:12.684):
Speaking [u'Outils sous-Menu o']

Мы видим, что метка объекта может быть объединена с ролью, состоянием, сочетанием клавиш и т.д. Поэтому, если обратный перевод не дает результата со всей строкой, вторая попытка делается для части строки до двойного пробела (" "). Однако это не надежно, поскольку мы не можем исключить, что строка изначально содержит двойной пробел.

Настройки

Некоторые функции дополнения могут требовать специфической конфигурации. Панель настроек позволяет включать их или контролировать их работу. Чтобы просмотреть и изменить эти настройки, перейдите в меню NVDA -> Параметры и выберите категорию NVDA Dev & Test Toolbox. Этот диалог настроек также можно открыть непосредственно из диалога Менеджера логов.

Эти настройки глобальны и могут быть настроены только тогда, когда активен профиль по умолчанию.

Команда для открытия файла в вашем любимом редакторе

Некоторые функции позволяют просматривать содержимое в вашем любимом редакторе. Это включает команды для просмотра исходного файла из лога, из объекта в консоли или из введенного жеста, а также кнопку «Открыть» в менеджере логов.

Чтобы использовать их, вам сначала нужно настроить команду, которая будет вызываться для открытия файла в вашем любимом редакторе. Команда должна быть вида: "C:\path\to\my\editor\editor.exe" "{path}":{line} Вам, конечно, следует изменить эту строку в соответствии с реальным именем и расположением вашего редактора и синтаксисом, используемым им для открытия файлов. {path} будет заменен полным путем к файлу для открытия, а {line} — номером строки, на которую вы хотите установить курсор. Для Notepad++, например, команда для ввода в консоли будет: "C:\Program Files\Notepad++\notepad++.exe" "{path}" -n{line}

Путь к исходному коду NVDA

При использовании команды для просмотра исходного файла из лога, из объекта в консоли или из введенного жеста, файл может принадлежать самой NVDA. Если вы не запускаете NVDA из исходного кода, ваша NVDA содержит только скомпилированные файлы. Таким образом, вы можете указать здесь альтернативное расположение, где будет найден соответствующий исходный файл, например, место, где вы клонировали исходные файлы NVDA, чтобы исходный файл можно было открыть в любом случае. Путь должен быть таким: C:\pathExample\GIT\nvda\source Конечно, замените путь к исходному коду NVDA на правильный.

Однако убедитесь, что версия вашего исходного файла (например, коммит GIT) совпадает с версией запущенного экземпляра NVDA.

Резервное копирование старых логов

Комбинированный список «Резервное копирование старых логов» позволяет включить или отключить функцию. Если она включена, вы также можете указать ниже в «Ограничить количество резервных копий» максимальное количество резервных копий, которые вы хотите сохранить. Эти настройки вступают в силу только при следующем запуске NVDA, когда происходит резервное копирование.

Копировать результат обратного перевода в буфер обмена

Эта опция позволяет выбрать, должна ли команда обратного перевода также копировать свой результат в буфер обмена.

Сохранять историю ввода консоли после перезапуска

Если этот флажок установлен, история ввода консоли Python будет сохраняться при перезапуске NVDA. Если он установлен, вы также можете указать ниже максимальное количество вводов, которые будут сохранены. Если он снят, NVDA будет вести себя как обычно, т.е. история консоли будет пустой после перезапуска.

Перевод

Журнал изменений

Версия 8.0

Версия 7.3

Версия 7.1

Версия 7.0

Версия 6.3

Версия 6.2

Версия 6.1

Версия 6.0

Версия 5.0

Версия 4.2.

Версия 4.1

Версия 4.0

Версия 3.2

Версия 3.1

Версия 3.0

Версия 2.1

Версия 2.0

Версия 1.0

🔝 Назад к оглавлению

История версий

Список версий
🔝 Назад к оглавлению