コード例 #1
0
        public void Seek(string url, string pathToSave)
        {
            /*Creates a SimpleBrowserDriver object and uses Navigate.GoToUrl() to access the given address*/
            IWebDriver browser = new SimpleBrowserDriver();
            browser.Navigate().GoToUrl(url);

            /*Gets page source*/
            string pageSource = browser.PageSource;

            /*Seek for image links if "Images" checkbox is checked*/
            if (images)
            {
                MatchCollection imageLinks = SeekImages(pageSource);
                /*Gets the value of all match objects and adds to the ListOfLinks*/
                FileLinks = FixLinks(url, imageLinks.Cast<Match>().Select(match => match.Value).ToList());
            }
            /*Seek for video links if "videos" checkbox is checked*/
            /*Focused on vimeo*/
            if (videos)
            {
                MatchCollection videoLinks = SeekVideos(pageSource);
                FileLinks = videoLinks.Cast<Match>().Select(match => match.Value).ToList();
            }

            /*Creates Downloader object and uses DownloadList() to download all items in ListOfLinks*/
            Downloader downloader = new Downloader();
            downloader.DownloadList(FileLinks, pathToSave);
        }
コード例 #2
0
		public void ClosingWindows()
		{
			IBrowser b = new BrowserWrapper(new Browser(Helper.GetAllways200RequestMocker(
				new List<Tuple<string, string>>()
				{
					Tuple.Create("^/otherpage", "<html></html>"),
					Tuple.Create("^.*", @"
										<html>
											<a href=""/otherpage"" target=""_blank"" id=""blanklink"">click</a>
										</html>"),
				}
			)));
			var dr = new SimpleBrowserDriver((IBrowser)b);
			dr.Navigate().GoToUrl("http://blah/");
			dr.FindElement(By.Id("blanklink")).Click();
			Assert.That(dr.Url == "http://blah/");
			Assert.That(dr.WindowHandles.Count == 2);
			string otherWindowName = dr.WindowHandles.First(n => n != dr.CurrentWindowHandle);
			var otherDr = dr.SwitchTo().Window(otherWindowName);
			Assert.That(otherDr.Url == "http://blah/otherpage");

			// Now we will close the first window and see that everything behaves as expected
			dr.Close();
			Assert.That(otherDr.WindowHandles.Count == 1);
			Assert.That(otherDr.Url == "http://blah/otherpage"); // still there
			Assert.Throws<ObjectDisposedException>(() => { var a = dr.Url; });

			
		}
コード例 #3
0
        static void Main(string[] args)
        {
            // This is some really stupid testing code. I want to replace this by proper unit test and mock away 
            // the simplebrowser library and the internet using MoQ
            IWebDriver browser = new SimpleBrowserDriver();
            browser.Navigate().GoToUrl("http://*****:*****@placeholder]"));
            inputBox.SendKeys("test");
            Console.WriteLine(inputBox.Text);
            inputBox = browser.FindElement(By.Name("somename"));
            Console.WriteLine(inputBox.Text);

            browser.Navigate().GoToUrl("http://www.funda.nl/koop");
            var firstThings = browser.FindElements(By.CssSelector("*[name!='description' ]"));
            firstThings = browser.FindElements(By.CssSelector("div[class ~= frst]"));
            firstThings = browser.FindElements(By.CssSelector("*[class ^= nav]"));

            var input = browser.FindElement(By.Name("PCPlaats"));
            input.SendKeys("Utrecht");
            input.Submit();
            Console.WriteLine(browser.Title);


            
            Console.ReadLine();
        }
コード例 #4
0
		public void GoingBackInitiallyShouldntCallNavigate()
		{
			var b = GetMockedBrowser();
			var dr = new SimpleBrowserDriver((IBrowser)b);
			dr.Navigate().Back();

			Assert.IsNull(b.LastRequest);
		}
コード例 #5
0
		public void GoingBackInTimeShouldntThrowExceptions()
		{
			var b = GetMockedBrowser();
			var dr = new SimpleBrowserDriver((IBrowser)b);
			var givenUrl = "http://www.a.com/";

			dr.Navigate().GoToUrl(givenUrl);
			dr.Navigate().Back();
			dr.Navigate().Back();
		}
コード例 #6
0
		public void FindingDuplicatesAndNotFinding()
		{
			Browser b = new Browser();
			b.SetContent(Helper.GetFromResources("DriverTest.GitHub.htm"));
			IWebDriver driver = new SimpleBrowserDriver(new BrowserWrapper(b));
			var anchor = driver.FindElement(By.TagName("a"));
			Assert.That(anchor.TagName == "a");

			Assert.Throws(typeof(NoSuchElementException), ()=>driver.FindElement(By.TagName("nosuchtag")));
		}
コード例 #7
0
		public void Searching_Html_Root_Element_Should_Work()
		{
			Browser b = new Browser();
			b.SetContent(Helper.GetFromResources("DriverTest.GitHub.htm"));
			IWebDriver driver = new SimpleBrowserDriver(new BrowserWrapper(b));

			var rootElement = driver.FindElements(By.TagName("html"));
			Assert.NotNull(rootElement);
			Assert.That(rootElement.Count > 0);
		}
コード例 #8
0
		public void NavigatingToUrlShouldDoIt()
		{
			var b = GetMockedBrowser();
			var dr = new SimpleBrowserDriver((IBrowser)b);
			var givenUrl = "http://www.a.com/";

			dr.Navigate().GoToUrl(givenUrl);

			Assert.AreEqual(dr.Url, givenUrl);
			Assert.AreEqual(b.LastRequest.Url.ToString(), givenUrl);
		}
コード例 #9
0
		public void NavigatingBackwardsAfterSecondShouldNavigateToFirstUrl()
		{
			var b = GetMockedBrowser();
			var dr = new SimpleBrowserDriver((IBrowser)b);
			string[] givenUrls = { "http://www.a.com", "http://www.b.com" };
			foreach (string url in givenUrls)
			{
				dr.Navigate().GoToUrl(url);
			}

			dr.Navigate().Back();

			Assert.That(new Uri(dr.Url), Is.EqualTo(new Uri(givenUrls[0])));
		}
コード例 #10
0
		public void UsingCheckboxes()
		{
			Browser b = new Browser();
			b.SetContent(Helper.GetFromResources("DriverTest.GitHub.htm"));
			IWebDriver driver = new SimpleBrowserDriver(new BrowserWrapper(b));
			var checkbox1 = driver.FindElement(By.CssSelector(".cb-container #first-checkbox"));
			var checkbox2 = driver.FindElement(By.CssSelector(".cb-container #second-checkbox"));
			Assert.That(checkbox1.Selected, "Checkbox 1 should be selected");
			Assert.That(!checkbox2.Selected, "Checkbox 2 should not be selected");
			checkbox2.Click();
			Assert.That(checkbox1.Selected, "Checkbox 1 should still be selected");
			Assert.That(checkbox2.Selected, "Checkbox 2 should be selected");
			var checkbox1Label = driver.FindElement(By.CssSelector("label[for=first-checkbox]"));
			Assert.NotNull(checkbox1Label, "Label not found");
			checkbox1Label.Click();
			Assert.That(checkbox2.Selected, "Checkbox 2 should still be selected");
			Assert.That(!checkbox1.Selected, "Checkbox 1 should be not selected");
			
		}
コード例 #11
0
		public void IframesShouldLoad()
		{
			IBrowser b = new BrowserWrapper(new Browser(Helper.GetAllways200RequestMocker(
				new List<Tuple<string, string>>()
				{
					Tuple.Create("^/frame", "<html></html>"),
					Tuple.Create("^.*", @"
										<html>
											<iframe src=""/frame""/><iframe src=""/frame""/>
										</html>"),
				}
				)));
			var dr = new SimpleBrowserDriver((IBrowser)b);
			b.Navigate("http://blah/");
			var test = dr.FindElement(By.TagName("html"));
			Assert.That(dr.WindowHandles.Count == 3);
			var firstFrame = dr.SwitchTo().Frame(0);
			Assert.IsNull(firstFrame.FindElement(By.TagName("iframe")));
		}
コード例 #12
0
		public void UsingRadioButtons()
		{
			Browser b = new Browser();
			b.SetContent(Helper.GetFromResources("DriverTest.GitHub.htm"));
			IWebDriver driver = new SimpleBrowserDriver(new BrowserWrapper(b));
			var radio1 = driver.FindElement(By.CssSelector(".rb-container #first-radio"));
			var radio2 = driver.FindElement(By.CssSelector(".rb-container #second-radio"));
			var radio1Label = driver.FindElement(By.CssSelector("label[for=first-radio]"));
			Assert.That(radio1.Selected, "Radiobutton 1 should be selected");
			Assert.That(!radio2.Selected, "Radiobutton 2 should not be selected");
			radio2.Click();
			Assert.That(!radio1.Selected, "Radiobutton 1 should not be selected");
			Assert.That(radio2.Selected, "Radiobutton 2 should be selected");
			Assert.NotNull(radio1Label, "Label not found");
			radio1Label.Click();
			Assert.That(radio1.Selected, "Radiobutton 1 should be selected");
			Assert.That(!radio2.Selected, "Radiobutton 2 should be not selected");

		}
コード例 #13
0
        public void SearchingInKnownDocument()
        {
            Browser b = new Browser();
            b.SetContent(Helper.GetFromResources("DriverTest.GitHub.htm"));
            IWebDriver driver = new SimpleBrowserDriver(new BrowserWrapper(b));

            var iconSpans = driver.FindElements(By.CssSelector("span.icon"));
            Assert.That(iconSpans.Count == 4, "There should be 4 spans with class icon");

            var accountSettings = driver.FindElements(By.CssSelector("*[title~= Account]"));
            Assert.That(accountSettings.Count == 1 && accountSettings[0].Text == "Account Settings", "There should be 1 element with title containing the word Account");

            var topStuff = driver.FindElements(By.CssSelector("*[class|=top]"));
            Assert.That(topStuff.Count == 3 , "There should be 3 elements with class starting with top-");

            var h2s = driver.FindElements(By.CssSelector("h2"));
            Assert.That(h2s.Count == 8, "There should be 8 h2 elements");

            var titleContainingTeun = driver.FindElements(By.CssSelector("*[title*=Teun]"));
            Assert.That(titleContainingTeun.Count == 3, "There should be 3 elements with 'Teun' somewhere in the title attrbute");
        }
コード例 #14
0
        public void UsingSelectBoxes()
        {
            Browser b = new Browser();
            b.SetContent(Helper.GetFromResources("DriverTest.GitHub.htm"));
            IWebDriver driver = new SimpleBrowserDriver(new BrowserWrapper(b));
            var selectbox = driver.FindElement(By.Name("sel"));
            var box = new SelectElement(selectbox);
            Assert.That(box.SelectedOption.Text == "two");
            box.SelectByValue("3");
            Assert.That(box.SelectedOption.Text == "three");
            box.SelectByText("one");
            Assert.That(box.SelectedOption.Text == "one");

			selectbox = driver.FindElement(By.Name("sel_multi"));
			box = new SelectElement(selectbox);
			Assert.That(box.IsMultiple);
			box.SelectByValue("3");
			box.SelectByText("one");
			Assert.That(box.AllSelectedOptions.Count == 3);

		}
コード例 #15
0
		public void UsingLinks()
		{
			Browser b = new Browser();
			b.SetContent(Helper.GetFromResources("DriverTest.SimpleForm.htm"));
			IWebDriver driver = new SimpleBrowserDriver(new BrowserWrapper(b));
			var link = driver.FindElement(By.CssSelector("a.clickLink"));
			string lastRequest = "";
			b.RequestLogged += (browser, logged) =>
			{
				Console.WriteLine("Request logged: " + logged.Url.ToString());
				lastRequest = logged.Url.ToString();
			};
			link.Click();
			Assert.That(lastRequest.Contains("www.google.com/search"), "Link has resulted in unexpected request");

			b.SetContent(Helper.GetFromResources("DriverTest.SimpleForm.htm"));
			link = driver.FindElement(By.CssSelector("a.link-relative"));
			link.Click();
			Assert.That(lastRequest.Contains("/search"), "Link has resulted in unexpected request");
			
		}
コード例 #16
0
        private void SetupElementSearch(By by, out Mock<IHtmlResult> mock)
        {
            var browserMock = new Mock<IBrowser>();
            mock = new Mock<IHtmlResult>();
            var foundElement = new Mock<IHtmlResult>();
            var elmEnumerator = new Mock<IEnumerator<IHtmlResult>>();

            foundElement.Setup(h => h.TotalElementsFound).Returns(1);
            foundElement.Setup(h => h.GetEnumerator()).Returns(elmEnumerator.Object);
            elmEnumerator.Setup(e => e.Current).Returns(foundElement.Object);
            elmEnumerator.SetupSequence(e => e.MoveNext()).Returns(true).Returns(false);
            mock.Setup(h => h.TotalElementsFound).Returns(1);
            mock.Setup(h => h.Select(It.IsAny<string>())).Returns(foundElement.Object);
            mock.Setup(root => root.Select(It.IsAny<string>())).Returns(foundElement.Object);
            browserMock.Setup(browser => browser.Find("html", It.IsAny<object>())).Returns(mock.Object);

            string url = "http://testweb.tst";
            SimpleBrowserDriver driver = new SimpleBrowserDriver(browserMock.Object);
            driver.Navigate().GoToUrl(url);
            driver.FindElements(by);

            browserMock.Verify(b => b.Navigate(url));
            browserMock.Verify(b => b.Find("html", It.IsAny<object>()));
        }
コード例 #17
0
		public void UsingHtml5Inputs()
		{
			Browser b = new Browser();
			b.SetContent(Helper.GetFromResources("DriverTest.SimpleForm.htm"));
			IWebDriver driver = new SimpleBrowserDriver(new BrowserWrapper(b));
			var colorBox = driver.FindElement(By.Id("colorBox"));
			Assert.NotNull(colorBox, "Couldn't find colorbox");
			colorBox.SendKeys("ff0000");
			Assert.AreEqual(colorBox.Text, "ff0000", "Colorbox did not pick up sent keys");

			var form = driver.FindElement(By.CssSelector("form"));
			string lastRequest = "";
			b.RequestLogged += (browser, logged) =>
			{
				Console.WriteLine("Request logged: " + logged.Url.ToString());
				lastRequest = logged.Url.AbsoluteUri;
			};
			form.Submit();
			Assert.That(lastRequest.Contains("colorBox=ff0000"), "Color box not posted correctly");
		}
コード例 #18
0
		public void SubmitPostForm()
		{
			Browser b = new Browser(Helper.GetAllways200RequestMocker());
			b.SetContent(Helper.GetFromResources("DriverTest.SimplePostForm.htm"));
			IWebDriver driver = new SimpleBrowserDriver(new BrowserWrapper(b));
			var form = driver.FindElement(By.CssSelector("form"));
			NameValueCollection lastRequest = null;
			b.RequestLogged += (browser, logged) =>
			{
				Console.WriteLine("Request logged: " + logged.Url.ToString());
				lastRequest = logged.PostData;
			};
			form.Submit();
			Assert.That(lastRequest.AllKeys.Contains("radios") && lastRequest["radios"].Contains("first"), "Radio buttons not in correct state");
			// NOTE: this line seems wrong: the line breaks in a textarea should remain preserved. But, XML parsing will remove this.
			//       What are the actual rules around this
			//Assert.That(lastRequest.AllKeys.Contains("textarea_a") && lastRequest["textarea_a"].Contains("This is a full text part\r\nwith"), "Textarea not posted correctly");

      b.SetContent(Helper.GetFromResources("DriverTest.SimplePostForm.htm"));
      form = driver.FindElement(By.CssSelector("form"));
      var firstRadio = driver.FindElement(By.Id("first-radio"));
			var firstRadioLabel = driver.FindElement(By.CssSelector("label[for=first-radio]"));
			var secondRadio = driver.FindElement(By.Id("second-radio"));
			secondRadio.Click();
			form.Submit();
			Assert.That(lastRequest.AllKeys.Contains("radios") && lastRequest["radios"].Contains("second"), "Radio buttons not in correct state");

      b.SetContent(Helper.GetFromResources("DriverTest.SimplePostForm.htm"));
      form = driver.FindElement(By.CssSelector("form"));
      firstRadioLabel = driver.FindElement(By.CssSelector("label[for=first-radio]"));
      firstRadioLabel.Click();
			form.Submit();
			Assert.That(lastRequest.AllKeys.Contains("radios") && lastRequest["radios"].Contains("first"), "Radio buttons not in correct state");

      b.SetContent(Helper.GetFromResources("DriverTest.SimplePostForm.htm"));
      form = driver.FindElement(By.CssSelector("form"));
      var selectBox = driver.FindElement(By.Id("optionsList"));
			var box = new SelectElement(selectBox);
			Assert.That(box.AllSelectedOptions.Count == 1, "First option should be selected in selectbox");
			form.Submit();
			Assert.That(lastRequest.AllKeys.Contains("optionsList") && lastRequest["optionsList"].Contains("opt1"), "Selectbox not in correct state");


			Assert.That(!lastRequest.AllKeys.Contains("submitButton"), "Value of submit button should not be posted");

      b.SetContent(Helper.GetFromResources("DriverTest.SimplePostForm.htm"));
      var submitButton = driver.FindElement(By.CssSelector("input[type=submit]"));
			submitButton.Click();
			Assert.That(lastRequest.AllKeys.Contains("submitButton") && lastRequest["submitButton"].Contains("button1"), "Value of submit button not posted");

			Assert.That(!lastRequest.AllKeys.Contains("submitButton2"), "Value of submit button should not be posted");

      b.SetContent(Helper.GetFromResources("DriverTest.SimplePostForm.htm"));
      submitButton = driver.FindElement(By.CssSelector("button[type=submit]"));
			submitButton.Click();
			Assert.That(lastRequest.AllKeys.Contains("submitButton2") && lastRequest["submitButton2"].Contains("button2"), "Value of submit button not posted");
		}
コード例 #19
0
		public void UsingTextboxes()
		{
			Browser b = new Browser();
			b.SetContent(Helper.GetFromResources("DriverTest.GitHub.htm"));
			IWebDriver driver = new SimpleBrowserDriver(new BrowserWrapper(b));
			var textbox = driver.FindElement(By.CssSelector("#your-repos-filter"));
			Assert.NotNull(textbox, "Couldn't find textbox");
			Assert.That(textbox.Text == String.Empty, "Textbox without a value attribute should have empty text");
			textbox.SendKeys("test text");
			Assert.That(textbox.Text == "test text", "Textbox did not pick up sent keys");
			textbox.SendKeys(" more");
			Assert.That(textbox.Text == "test text more", "Textbox did not append second text");
			textbox.Clear();
			Assert.That(textbox.Text == String.Empty, "Textbox after Clear should have empty text");
		}
コード例 #20
0
		public void UsingTextareas()
		{
			Browser b = new Browser();
			b.SetContent(Helper.GetFromResources("DriverTest.SimpleForm.htm"));
			IWebDriver driver = new SimpleBrowserDriver(new BrowserWrapper(b));
			var textbox = driver.FindElement(By.Name("textarea_a"));
			Assert.That(textbox != null);
			Assert.That(textbox.Text.Contains("\n"), "Textarea should not make line breaks coalesce into space");
		}
コード例 #21
0
		public void SubmitGetForm()
		{
			Browser b = new Browser();
			b.SetContent(Helper.GetFromResources("DriverTest.SimpleForm.htm"));
			IWebDriver driver = new SimpleBrowserDriver(new BrowserWrapper(b));
			var form = driver.FindElement(By.CssSelector("form"));
			string lastRequest = "";
			b.RequestLogged += (browser, logged) =>
				{
					Console.WriteLine("Request logged: " + logged.Url.ToString());
					lastRequest = logged.Url.AbsoluteUri;
				};
			form.Submit();
			Assert.That(lastRequest.Contains("radios=first"), "Radio buttons not in correct state");
			// NOTE: this line seems wrong: the line breaks in a textarea should remain preserved. But, XML parsing will remove this.
			//       What are the actual rules around this
			Assert.That(lastRequest.Contains("textarea_a=This+is+a+full+text+part%0d%0awith"), "Textarea not posted correctly");

			var firstRadio = driver.FindElement(By.Id("first-radio"));
			var firstRadioLabel = driver.FindElement(By.CssSelector("label[for=first-radio]"));
			var secondRadio = driver.FindElement(By.Id("second-radio"));
			secondRadio.Click();
			form.Submit();
			Assert.That(lastRequest.Contains("radios=second"), "Radio buttons not in correct state");

			firstRadioLabel.Click();
			form.Submit();
			Assert.That(lastRequest.Contains("radios=first"), "Radio buttons not in correct state");

			var selectBox = driver.FindElement(By.Id("optionsList"));
			var box = new SelectElement(selectBox);
			Assert.That(box.AllSelectedOptions.Count == 1, "First option should be selected in selectbox");
			form.Submit();
			Assert.That(lastRequest.Contains("optionsList=opt1"), "Selectbox not in correct state");

			Assert.That(!lastRequest.Contains("submitButton=button1"), "Value of submit button should not be posted");
			var submitButton = driver.FindElement(By.CssSelector("input[type=submit]"));
			submitButton.Click();
			Assert.That(lastRequest.Contains("submitButton=button1"), "Value of submit button not posted");
		}
コード例 #22
0
		public void FrameSwitchingUsingElementReference()
		{
			IBrowser b = new BrowserWrapper(new Browser(Helper.GetAllways200RequestMocker(
				new List<Tuple<string, string>>()
				{
					Tuple.Create("^/frame", "<html></html>"),
					Tuple.Create("^.*", @"
										<html>
											<body>
												<iframe src=""/frame""/><iframe src=""/frame""/>
											</body>
										</html>"),
				}
				)));
			var dr = new SimpleBrowserDriver((IBrowser)b);
			b.Navigate("http://blah/");

			//traverse document to init
			var test = dr.FindElement(By.TagName("body"));
			Assert.That(test.TagName == "body");

			Assert.That(dr.WindowHandles.Count >= 3);
			var iframe = dr.FindElement(By.TagName("iframe"));
			var firstFrame = dr.SwitchTo().Frame(iframe);
			Assert.That(firstFrame.Url == "http://blah/frame");
		}
コード例 #23
0
		public SimpleManage(SimpleBrowserDriver driver)
		{
			_my = driver;
		}
コード例 #24
0
		public void PostAspnetPostbackForm()
		{
			Browser b = new Browser(Helper.GetAllways200RequestMocker());
			b.SetContent(Helper.GetFromResources("DriverTest.PostbackForm.htm"));
			IWebDriver driver = new SimpleBrowserDriver(new BrowserWrapper(b));
			var form = driver.FindElement(By.CssSelector("form"));
			NameValueCollection lastRequest = null;
			b.RequestLogged += (browser, logged) =>
			{
				Console.WriteLine("Request logged: " + logged.Url.ToString());
				lastRequest = logged.PostData;
			};
			var postbackLink = driver.FindElement(By.Id("postbackLink"));
			postbackLink.Click();
			Assert.That(lastRequest.AllKeys.Contains("__EVENTTARGET") && lastRequest["__EVENTTARGET"].Contains("colorBox"), "colorBox was not indicated as the postback target");
		}
コード例 #25
0
		public void GoingToNullUriShouldntCallNavigate()
		{
			var b = GetMockedBrowser();
			var dr = new SimpleBrowserDriver((IBrowser)b);
			dr.Navigate().GoToUrl((Uri)null);

			Assert.IsNull(b.LastRequest);
		}
コード例 #26
0
		public void GoingBackAndForthWithNewUrlShouldCallNavigateWithNewUrl()
		{
			var b = GetMockedBrowser();
			var dr = new SimpleBrowserDriver((IBrowser)b);
			string[] givenUrls = { "http://www.a.com", "http://www.b.com" };
			foreach (string url in givenUrls)
			{
				dr.Navigate().GoToUrl(url);
			}
			dr.Navigate().Back();
			string newUrl = "http://www.c.com";

			dr.Navigate().GoToUrl(newUrl);

			Assert.That(b.LastRequest.Url, Is.EqualTo(new Uri(newUrl)));
		}
コード例 #27
0
		public void GoingForwardInTimeShouldntCallNavigateAgain()
		{
			var b = GetMockedBrowser();
			var dr = new SimpleBrowserDriver((IBrowser)b);
			var givenUrl = "http://www.a.com/";
			dr.Navigate().GoToUrl(givenUrl);
			b.LastRequest = null;
			dr.Navigate().Forward();

			Assert.IsNull(b.LastRequest);
		}
コード例 #28
0
 public SimpleManage(SimpleBrowserDriver driver)
 {
     _my = driver;
 }
コード例 #29
0
		public void CallingRefreshShouldNavigateAgainToSame()
		{
			var b = GetMockedBrowser();
			var dr = new SimpleBrowserDriver((IBrowser)b);
			var givenUrl = "http://www.a.com/";
			dr.Navigate().GoToUrl(givenUrl);
			b.LastRequest = null;

			dr.Navigate().Refresh();

			Assert.NotNull(b.LastRequest);
		}
コード例 #30
-1
		public void OpeningOtherWindows()
		{
			IBrowser b = new BrowserWrapper(new Browser(Helper.GetAllways200RequestMocker(
				new List<Tuple<string, string>>()
				{
					Tuple.Create("^/otherpage", "<html></html>"),
					Tuple.Create("^.*", @"
										<html>
											<a href=""/otherpage"" target=""_blank"" id=""blanklink"">click</a>
										</html>"),
				}
			)));
			var dr = new SimpleBrowserDriver((IBrowser)b);
			dr.Navigate().GoToUrl("http://blah/");
			dr.FindElement(By.Id("blanklink")).Click();
			Assert.That(dr.Url == "http://blah/");
			Assert.That(dr.WindowHandles.Count == 2);
			string otherWindowName = dr.WindowHandles.First(n => n != dr.CurrentWindowHandle);
			var otherDr = dr.SwitchTo().Window(otherWindowName);
			Assert.That(otherDr.Url == "http://blah/otherpage");

			// click it again will create a thrid window
			dr.FindElement(By.Id("blanklink")).Click();
			Assert.That(dr.Url == "http://blah/");
			Assert.That(dr.WindowHandles.Count == 3);
		}
コード例 #31
-1
ファイル: Form1.cs プロジェクト: andre1828/SimpleWebScraper
        private void button1_Click(object sender, EventArgs e)
        {
            WebScraper ws = new WebScraper();
            IWebDriver browser = new SimpleBrowserDriver();
            try
            {
                browser.Navigate().GoToUrl(textBox1.Text);
            }
            catch (System.UriFormatException)
            {

                MessageBox.Show("That is not a valid URL!");
                return;
            }
            if (Directory.Exists(textBox2.Text))
            {
                if (Images.Checked || Audios.Checked || Videos.Checked || Documents.Checked)
                {
                    ws.Seek(textBox1.Text, textBox2.Text);
                }
                else
                {
                    MessageBox.Show("Please choose at least one filter option!");
                }
            }
            else
            {
                MessageBox.Show("invalid path !");
            }
        }