WatiN不适用于LinkedIn OAuth令牌访问表单

时间:2010-02-18 10:52:52

标签: c# .net watin linkedin

WatiN是否支持重定向?

我正在尝试使用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 = "some@mail.com";
         ie.TextField("password-oauthAuthorizeForm").Value = "password";
         ie.Button(Find.ByName("authorize")).Click();
         //ie.Forms[0].Submit();
    }
}

按下按钮,Internet Explorer立即重定向到同一页面。 表单提交具有相同的行为。

你怎么看?这是WatiN问题还是会有保护?

2 个答案:

答案 0 :(得分:1)

当页面重定向到另一个页面时,我已经看到了之前的行为。

因此,您需要为新网址再次创建一个单独的IE对象

提交页面后

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

为新网址

创建新的观看会话
using (var ie = new IE(urredirectedurl))   
{ 
     //ur code
}

我不知道有没有更好的方法,但这对我有用..

答案 1 :(得分:1)

请注意,LinkedIn的服务条款不允许您编写授权流程的脚本。我们要求您让用户决定通过提供的表单授予或拒绝访问您的集成。

如果是自动测试套件,我建议您一次授权访问令牌并将其与测试脚本一起存储。