Skip to content

Instantly share code, notes, and snippets.

@wadewegner
Created August 29, 2015 15:04
Show Gist options
  • Save wadewegner/cad2252c61bae17e0ab1 to your computer and use it in GitHub Desktop.
Save wadewegner/cad2252c61bae17e0ab1 to your computer and use it in GitHub Desktop.
using System.Diagnostics;
using System.Web;
using ikvm.extensions;
using javax.tools;
using NHtmlUnit;
using NHtmlUnit.Html;
using WebClient = NHtmlUnit.WebClient;
using NUnit.Framework;
using Uber;
namespace OIS.Tests
{
[TestFixture]
public class UberTests
{
[Test]
public void Asdf()
{
var clientId = "";
var callbackUrl = "";
var userName = "";
var password = "";
var clientSecret = "";
var url = Common.FormatAuthorizeUrl(0, clientId, HttpUtility.UrlEncode(callbackUrl));
var webClient = new WebClient(BrowserVersion.CHROME);
webClient.Options.ThrowExceptionOnFailingStatusCode = false;
webClient.Options.ThrowExceptionOnScriptError = false;
webClient.Options.JavaScriptEnabled = true;
webClient.Options.RedirectEnabled = true;
webClient.WaitForBackgroundJavaScript(2000);
var page = webClient.GetHtmlPage(url);
Assert.IsNotNull(page, "page");
var signInSpan = (HtmlSpan) page.GetElementsByTagName("span")[0];
Assert.AreEqual(signInSpan.NodeValue, "Sign In");
var emailInputElement = (HtmlTextInput)page.GetElementByName("email");
Assert.IsNotNull(emailInputElement, "email");
emailInputElement.Type(userName);
var passwordInputElement = (HtmlPasswordInput)page.GetElementByName("password");
Assert.IsNotNull(passwordInputElement, "password");
passwordInputElement.Type(password);
//var submitPage1Button = (HtmlButton)page.GetElementsByTagName("button")[0];
//Assert.IsNotNull(submitPage1Button, "submit");
var submitPage1Button = (HtmlForm)page.GetElementsByTagName("form")[0];
Assert.IsNotNull(submitPage1Button, "submit");
var page2 = (HtmlPage)submitPage1Button.Click();
var notSignInSpan = (HtmlSpan)page2.GetElementsByTagName("span")[0];
Assert.That(signInSpan.NodeValue, Is.Not.EqualTo("Sign In"));
Assert.IsNotNull(page2, "page2");
//var buttons2 = page2.GetElementsByTagName("button");
//Assert.IsNotNull(buttons2);
//var buttons21 = buttons2[0];
//Assert.IsNotNull(buttons21);
//var buttons22 = buttons2[1];
//Assert.IsNotNull(buttons22);
//var asdf = (HtmlButton)submitPage2Button;
//Assert.IsNotNull(asdf);
//var page3 = submiPage2Button.Click();
//var page3Url = page2.Url;
//var queryCollection = HttpUtility.ParseQueryString(page3Url.ToString());
//var code = queryCollection[0];
//var auth = new AuthenticationClient();
//auth.WebServerAsync(clientId, clientSecret, callbackUrl, code).Wait();
//Assert.IsNotNull(auth);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment