Как выдать себя за пользователя домена Windows для автоматического веб-тестирования? - PullRequest
0 голосов
/ 10 июня 2009

мы собираемся создать несколько тестов пользовательского интерфейса с selenium-rc и клиентом java

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

мы хотели бы автоматизировать этот тест, что-то вроде

если зарегистрированный пользователь является доменом / user_test, тогда опция x должна быть включена ...

существует ли какой-либо способ программно олицетворять учетную запись домена, чтобы selenimum-rc на сервере мог "запускать" браузер с указанным пользователем?

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

как вы справляетесь с такого рода тестами?

Большое спасибо ...

Ответы [ 2 ]

1 голос
/ 13 июля 2009

Вы проверяете права доступа пользователя на основе некоторых просмотренных записей и создаете меню для этого пользователя.

Следующее, кажется, подходит ....

  1. IIS выполняет роль идентификации пользователя для приложения на основе аутентификации.
  2. IIS идентифицирует пользователя как ИЗВЕСТНОГО пользователя или НЕИЗВЕСТНОГО пользователя.
  3. Если компьютер IIS находится в домене, в число ИЗВЕСТНЫХ пользователей будут входить учетные записи DOMAIN и LOCAL.

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

Чтобы идентифицировать пользователя, перешлите ваши учетные данные в URL:

http://username:password@hostname/website

Обратите внимание, что обновления безопасности убили эту функцию в IE с 832894. По данным МС: По умолчанию версии Windows Internet Explorer, выпущенные начиная с выпуска обновления безопасности 832894, не поддерживают обработку имен пользователей и паролей в HTTP и HTTP с URL-адресами Secure Sockets Layer (SSL) или HTTPS. Следующий синтаксис URL не поддерживается в Internet Explorer или Windows Explorer: HTTP (s): // имя пользователя: password@server/resource.ext

Если вы состоите в браке с IE, вам, возможно, придется инициировать с RUNAS (как упомянуто выше) и включить автоматическую аутентификацию.

Если вы используете FF или OPERA, то все в порядке, если вы настраиваете безопасность каталога веб-сайта IIS, чтобы разрешить «обычную аутентификацию».

0 голосов
/ 10 июня 2009

Вы всегда можете использовать опцию «Запуск от имени» для запуска браузера под разными учетными записями пользователей. Если олицетворение включено в ASP, то под этой учетной записью будет выполняться процесс ASP. Эта олицетворенная учетная запись также должна работать с вашей базой данных, поскольку вы включили встроенную защиту. Однако следует помнить о проблеме классического двойного прыжка в Windows.

...