Как создать автоматизированный тест для действительных сертификатов установщика WIndows? - PullRequest
1 голос
/ 16 ноября 2009

У нас есть ситуация, когда по каким-то причинам сертификаты на наших установщиках Windows для нашего продукта имеют тенденцию портиться или портиться. Не берите в голову, почему, ключ в том, что это в настоящее время не обнаружено нашими ночными тестовыми прогонами.

Так как это можно сделать?

Т.е., автоматический тест, который запускает установщик Windows и проверяет, выводит ли он UAC или предупреждение о плохом сертификате каким-либо другим способом (насколько я знаю, зависит от настройки Windows, как именно сообщается о плохом сертификате). Что-то, что может быть выполнено как часть скриптовой большой серии тестов, и сообщать об успехе или неудаче без участия человека.

Я попытался выполнить поиск переполнения стека, но не смог найти другой вопрос, касающийся этой конкретной проблемы.

1 Ответ

0 голосов
/ 19 ноября 2009

Пара наносит удар по идее:

  • Используйте механизм автоматического тестирования, который запускает тестирование GUI. SilkTest & WinRunner - это дорогие коммерческие варианты, но есть несколько бесплатных программ с открытым исходным кодом, которые помогут. Инструмент должен быть в состоянии действовать как пользователь, запускать установку, а затем выкрикивать фол при появлении предупреждений. Тогда я думаю, что вы можете запустить тестовый поток, чтобы удалить установку и вернуться в исходное состояние на следующую ночь.
  • Независимо проверяйте сертификат, фактически не устанавливая его. Если вы знаете, что ваши ошибки происходят из-за неправильных подписей, сертификатов с истекшим сроком действия, конфигурации сертификата или чего-то, что является частью сертификата, и / или того, как сертификат защищает установку - вы сможете запустить этот тест как программу, используя обычную API - например, PKI в Java должен быть в состоянии справиться с этим.

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

Второй вариант будет проверять качество сертификата и подписи, но они не будут охватывать вопрос о том, действительно ли Windows позволит вам установить его. Существуют и другие типы ошибок, которые он может не уловить - например, если ваш хост требует OCSP для проверки сертификата, а ваш OCSP не работает, установка Windows завершится неудачно, но ваш тест сертификата пройдет (если вы не встроите проверку OCSP в Это...).

...