2010-02-18 15 views
0

Est-ce que WatiN prend en charge les redirections? J'essaie d'automatiser les tests liés dans la bibliothèque d'intégration avec WatiN.WatiN ne fonctionne pas avec le jeton LinkedIn OAuth Formulaire d'accès

// 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(); 
    } 
} 

Les boutons sont enfoncés et Internet Explorer redirige immédiatement vers la même page. La soumission de formulaire a le même comportement.

Qu'en pensez-vous? Est-ce que c'est le problème WatiN ou le gardien de la sécurité?

Répondre

1

Notez que les conditions d'utilisation de LinkedIn ne vous permettent pas d'écrire le flux d'autorisation. Nous vous demandons de laisser l'utilisateur décider d'accorder ou de refuser l'accès à votre intégration via le formulaire fourni.

S'il s'agit de suites de tests automatiques, je vous suggère d'autoriser un jeton d'accès une fois et de le stocker avec vos scripts de test.

1

J'ai vu le comportement plus tôt, lorsque la page redirigeait vers la différente.

Vous devez créer un objet séparé IE nouveau pour la nouvelle URL

Après la page soumettre

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

créer une nouvelle session de Watin pour la nouvelle URL

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

Je ne savoir est-il de meilleures approches disponibles, mais cela fonctionne pour moi ..