Я использую htmlUnit из Java (преобразован для запуска в .net) Подробности здесь
Я использую ту же логику, что и в примере, использую веб-клиент, и это прекрасно работает с моим кодом / представлениями MVC3 Razor.
Проблема возникает, когда у меня есть [Authorize]
над моими представлениями, так как веб-клиент не может получить доступ к странице. Это можно обойти? Как бы я (если это возможно) настроить автоматический вход в систему? Если я просто проанализирую страницу входа и сделаю отправку с паролем / паролем ... это будет перенесено на каждую страницу, посещенную в этой "сессии"
Я пробовал:
[SetUp]
public void Setup()
{
//Initiate WebClient
webClient = new WebClient();
//Login
var loginPage = (HtmlPage)webClient.getPage(properties.DomainNameToTest + "Account/Logon/");
((HtmlInput)loginPage.getElementByName("UserName")).setValueAttribute(properties.adminUsername);
((HtmlInput)loginPage.getElementByName("Password")).setValueAttribute(properties.adminPassword);
var action = (HtmlPage)loginPage.getElementByName("loginButton").click();
}
Это отлично работает.