public void AssertGetThenSubmit() { var search = Guid.NewGuid().ToString(); using (var waiter = new WebBrowserWaiter()) { waiter.Await( p => p.Navigate(uri + "search"), p => { // ReSharper disable PossibleNullReferenceException p.Document.All["search"].SetAttribute("value", search); p.Document.All.Cast<HtmlElement>().First(q => q.TagName == "FORM").InvokeMember("Submit"); // ReSharper restore PossibleNullReferenceException } ); var text = waiter.Await( p => p.DocumentText ); Assert.IsTrue( text.Contains(search) ); } }
public void AssertGetThenSubmit() { var search = Guid.NewGuid().ToString(); using (var waiter = new WebBrowserWaiter()) { waiter.Await( p => p.Navigate(uri + "search"), p => { // ReSharper disable PossibleNullReferenceException p.Document.All["search"].SetAttribute("value", search); p.Document.All.Cast <HtmlElement>().First(q => q.TagName == "FORM").InvokeMember("Submit"); // ReSharper restore PossibleNullReferenceException } ); var text = waiter.Await( p => p.DocumentText ); Assert.IsTrue( text.Contains(search) ); } }
public void AssertRedirectFollowed() { using (var waiter = new WebBrowserWaiter()) { var url = waiter.Await( p => { p.Navigate(uri + "redirect"); return(null); }, p => p.Url.ToString() ).Last(); Assert.AreEqual(uri + "landing", url); } }
public void AssertNavigate() { using (var waiter = new WebBrowserWaiter()) { string text = null; waiter.Await( p => p.Navigate(uri + "greet/World"), p => text = p.DocumentText ); Assert.IsTrue( text.Contains("Hello World") ); } }
public void CookieTest() { using (var waiter = new WebBrowserWaiter()) { var cookie = Guid.NewGuid().ToString(); waiter.Await( p => p.Navigate(uri + "cookies"), p => { var function = @"(function() {{ document.cookie = 'cookie={0}; expires={1:R}; path=/'; document.getElementsByTagName('form')[0].submit(); }})();"; function = string.Format( function, cookie, DateTime.UtcNow.AddHours(1) ); // ReSharper disable PossibleNullReferenceException var head = p.Document.GetElementsByTagName("head")[0]; var script = p.Document.CreateElement("script"); var element = script.DomElement as dynamic; element.text = function; head.AppendChild(script); // ReSharper restore PossibleNullReferenceException } ); var text = waiter.Await( p => p.DocumentText ); Assert.IsTrue( text.Contains(cookie) ); } }
public void AssertRedirectFollowed() { using (var waiter = new WebBrowserWaiter()) { var url = waiter.Await( p => { p.Navigate(uri + "redirect"); return null; }, p => p.Url.ToString() ).Last(); Assert.AreEqual(uri + "landing", url); } }