2010-02-18 1 views
0

Поддерживает ли WatiN переадресацию?WatiN не работает с LinkedIn OAuth token Форма доступа

Я пытаюсь автоматизировать тестирование, связанное с интеграционной библиотекой с WatiN.

// url like "https://api.linkedin.com/uas/oauth/authorize?oauth_token=ba826cd4-644a-4709-b2de-bedb7c8fb5b4" 
using (var ie = new IE(authorizationUrl)) 
{ 
    if (ie.TextField("email-oauthAuthorizeForm").Exists 
      && ie.TextField("password-oauthAuthorizeForm").Exists) 
    { 
     ie.TextField("email-oauthAuthorizeForm").Value = "[email protected]"; 
     ie.TextField("password-oauthAuthorizeForm").Value = "password"; 
     ie.Button(Find.ByName("authorize")).Click(); 
     //ie.Forms[0].Submit(); 
    } 
} 

Нажата кнопка, и Internet Explorer перенаправляется немедленно на ту же страницу. Форма представления имеет такое же поведение.

Что вы думаете об этом? Это проблема WatiN или связанная с охраной?

ответ

1

Обратите внимание, что Условия использования LinkedIn не позволяют сценарию потока авторизации. Мы требуем, чтобы вы разрешили пользователю предоставлять или запрещать доступ к вашей интеграции через предоставленную форму.

Если это автоматические тестовые сьюты после того, как я предлагаю разрешить токен доступа один раз и сохранить его с помощью тестовых скриптов.

1

Я видел поведение раньше, когда страница перенаправляется на другую.

Так что вам нужно создать отдельный объект IE снова для нового URL

После страницы представить

ie.Button(Find.ByName("authorize")).Click(); 

создать новую сессию WatiN для нового URL

using (var ie = new IE(urredirectedurl)) 
{ 
    //ur code 
} 

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