public static bool TestInexistantLogin(IE browser, string webPage, out string message) { bool result = true; message = ""; browser = new IE(); try { browser.GoTo(webPage); browser.TextField(Find.ById(Login.UsernameInputText)).TypeText("sssssss"); browser.TextField(Find.ById(Login.PasswordInputText)).TypeText("ppppppppp"); browser.Button(Find.ByClass("formbutton")).Click(); if (browser.Child(Find.ByClass("ErrorMessage")) == null) { message = "Error message not displayed"; return(false); } browser.GoTo(webPage); browser.TextField(Find.ById(Login.ForgotPasswordEmailInputText)).TypeText("*****@*****.**"); browser.Div(Find.ById(Login.ForgotPasswordAjaxMessageDiv)).NextSibling.NextSibling.Click(); Thread.Sleep(1000); if (browser.Div(Find.ById(Login.ForgotPasswordAjaxMessageDiv)).InnerHtml == null) { message = "Ajax error message not displayed"; return(false); } } finally { browser.Close(); } return(result); }
private Discussion GetDiscussion(IE ie, string url) { var disc = new Discussion(); ie.GoTo(url); ie.WaitForComplete(); var hDiv = ie.Div(Find.ByClass("ViewThread")); var h = hDiv.Elements.First(); disc.Title = h.InnerHtml.Replace("\n", "").Trim(); var tDiv = ie.Div(Find.ByClass("Posts")); foreach (var tr in tDiv.TableRows) { if (tr.Id == "PostPanel") { var p = new Post(); var details = tr.TableCells[0]; p.From = details.Div(Find.ByClass("UserName")).Elements.First().InnerHtml; p.When = details.Span(Find.ByClass("smartDate")).Title; var content = tr.TableCells[1]; p.Html = content.InnerHtml; disc.Posts.Add(p); } } return(disc); }
public static bool TestEmptyLogin(IE browser, string webPage, out string message) { bool result = true; message = ""; browser = new IE(); try { browser.GoTo(webPage); browser.Button(Find.ByClass("formbutton")).Click(); if (browser.Child(Find.ByClass("ErrorMessage")) == null) { message = "Error message not displayed"; return(false); } browser.GoTo(webPage); browser.Div(Find.ById(Login.ForgotPasswordAjaxMessageDiv)).NextSibling.NextSibling.Click(); Thread.Sleep(1000); if (browser.Div(Find.ById(Login.ForgotPasswordAjaxMessageDiv)).InnerHtml == null) { message = "Ajax error message not displayed"; return(false); } } finally { browser.Close(); } return(result); }
private void TDB_Shown(object sender, EventArgs e) { browser.GoTo("https://www.leboncoin.fr/"); if (browser.Div(Find.ByClass("clearfix")).Exists) { metroLabel2.Text = "Connecté"; } else { metroLabel2.Text = "En cours de connexion..."; browser.Button(Find.ByClass("button-white button-secondary popin-open trackable custom-small-hidden")).Click(); browser.ElementOfType <TextFieldExtended>(Find.ByName("st_username")).Value = "*****@*****.**"; browser.TextField(Find.ByName("st_passwd")).Value = "1999mbmb"; browser.Button(Find.ByValue("Se connecter")).Click(); browser.WaitForComplete(); if (browser.Div(Find.ByClass("create")).Exists) { metroLabel2.Text = "Connecté"; } else { metroLabel2.Text = "Impossible de se connecter"; } } }
public static WatiN.Core.Div GetDiv(IE ie, HControl control) { switch (control.Attribute.ToLower()) { case AttributeType.Id: { Div div = ie.Div(Find.ById(control.Value)); if (div.Exists) { return(div); } return(null); } case AttributeType.Name: { Div div = ie.Div(Find.ByName(control.Value)); if (div.Exists) { return(div); } return(null); } case AttributeType.Class: { Div div = ie.Div(Find.ByClass(control.Value)); if (div.Exists) { return(div); } return(null); } case AttributeType.Text: { foreach (WatiN.Core.Div bt in ie.Divs) { if (bt.Text == control.Value) { return(bt); } } return(null); } default: { foreach (WatiN.Core.Div bt in ie.Divs) { if (bt.Name == control.Value) { return(bt); } } return(null); } } }
private void Start(ref Exception exception, ref string output, string term) { IE browser = null; try { browser = IEBrowserHelper.GetBrowser(); browser.GoTo("https://www.google.com.br/"); browser.WaitForComplete(); TextField txtSearch = browser.TextField(Find.ByName("q")); if (txtSearch.Exists) { txtSearch.SetAttributeValue("value", term); } Element btnFind = browser.Element(Find.ByName("btnK")); if (btnFind.Exists) { btnFind.Click(); } var resultadosComplementares = browser.Div(Find.ByClass(p => p.Contains("kno-ecr-pt kno-fb-ctx"))); if (resultadosComplementares.Exists) { output = resultadosComplementares.OuterText; var resultadosComplementaresDescricao = browser.Div(Find.ByClass(p => p.Contains("kno-rdesc"))); if (resultadosComplementaresDescricao.Exists) { output += ": " + resultadosComplementaresDescricao.Spans[0].OuterText.Replace("\r\n", string.Empty); } } else { output = "O termo de busca não resultou em algo com a area de Resultados complementares"; } } catch (Exception e) { exception = e; } finally { //Close the browser if (browser != null) { browser.Close(); browser.Dispose(); } } }
public void HomePageContainsPromotionPanel() { using (var browser = new IE("http://localhost:1200/")) { Assert.IsTrue(browser.Div(Find.ById("promotion")).Exists); } }
public void LocatingThingsByNonId() { using (var browser = new IE("http://localhost:62727/Pages/ApplyForCreditCard.aspx")) { Div errorContainer = browser.Div(Find.ByClass("error")); SelectList title = browser.SelectList(Find.ByName("Title")); Label ageLabel = browser.Label(Find.ByFor("Age")); TextField applicantAge = browser.TextField(Find.ByLabelText("Age In Years")); TextField applicantAge2 = browser.TextField(Find.By("id", "Age")); // var something = browser.Div(Find.By("someattribute","somevalue")); // Assert.That(something, Is.Not.Null); // Link helpHyperlink = browser.Link(Find.ById("HelpLink")); // Button applyButton = browser.Button(Find.ById("ApplyNow")); // Para nameParagraph = browser.Para(Find.ById("Name")); } }
public void SettingNoMerge() { if (IE.GetMajorIEVersion() != 8) { return; } // GIVEN Settings.MakeNewIe8InstanceNoMerge = true; // url put up by MSDN blogger, may need to add this to our files const string testUrl = "http://www.enhanceie.com/test/sessions/"; using (var ie1 = new IE(testUrl)) { ie1.SelectList(Find.ById("selColor")).Select("Green"); // WHEN using (var ie2 = new IE(testUrl)) { // THEN var actual = ie2.Div(Find.ById("divSessStore")).InnerHtml; StringAssert.Contains("undefined", actual, "session cookie used"); } } }
public void SetRace(IE browser) { var divAvatar = browser.Div(Find.ByClass("avatar ")); if (divAvatar.Exists) { if (divAvatar.Images.Count > 0) { var imgUrl = divAvatar.Images[0].Src; AppCore.LogSystem.Debug("parse user", imgUrl); var builder = new UriBuilder(imgUrl); var fileName = Path.GetFileName(builder.Path); Race = fileName.StartsWith("2") ? Race.Sheeps : Race.Pigs; } else if (divAvatar.Divs.Count > 0) { var text = divAvatar.Divs[0].GetAttributeValue("style"); text = text.Substring(text.LastIndexOf('/') + 1); Race = text.StartsWith("0") ? Race.Sheeps : Race.Pigs; } else { AppCore.LogSystem.Warn("неизвестный тип аватар", divAvatar.OuterHtml); } } }
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { //foreach (WatiN.Core.TextField obj in ie.TextFields) //{ // obj.Highlight(false); //} //foreach (WatiN.Core.Button obj in ie.Buttons) //{ // obj.Highlight(false); //} //foreach (WatiN.Core.Div obj in ie.Divs) //{ // obj.Highlight(false); //} txtSelect.Text = e.Node.Text; Div div = ie.Div(Find.ById(txtSelect.Text)); if (div != null && div.Exists) { div.Highlight(true); } TextField text = ie.TextField(Find.ByName(txtSelect.Text)); if (text != null && text.Exists) { text.Highlight(true); text.Select(); } WatiN.Core.Button butt = ie.Button(Find.ByValue(txtSelect.Text)); if (butt != null && butt.Exists) { butt.Highlight(true); } }
public void login() { browser = new IE(); browser.ClearCache(); browser.ClearCookies(); Utils.GoTo(browser, "http://www.tribalwars.net/sv-se/page/logout"); Utils.GoTo(browser, "http://www.tribalwars.net"); //browser.Body.Focus(); browser.TextField(Find.ById("user")).TypeText(username); browser.TextField(Find.ById("password")).TypeText(password); System.Console.WriteLine("Clicking login."); browser.Link(Find.ByClass("btn-login")).Click(); System.Console.WriteLine("Waiting"); Div wContainer = browser.Div(Find.ByClass("worlds-container")); wContainer.WaitUntilExists(); System.Console.WriteLine("Going to world"); Utils.GoTo(browser, "http://www.tribalwars.net/sv-se/page/play/" + world); System.Console.WriteLine("Logged in"); while (browser.Html == null) { System.Threading.Thread.Sleep(100); } Utils.CheckBotProtection(browser.Html); isLoggedIn = true; // Give browser object to villages. foreach (Village village in villages) { village.SetBrowser(ref browser); village.SetWorld(world); } }
public void QuandoEuClicarEm(string p0) { var menuVertical = browser.Div(Find.ByClass("gitdoc-toc")).Lists[0]; var itemConfiguracao = menuVertical.OwnListItems[1]; itemConfiguracao.Links[0].Click(); }
public void TestCanLogin() { ie.GoTo("http://localhost:13164/Login.aspx"); TextField tf = ie.TextField(Find.ByName(t => t.EndsWith("$UserName"))); tf.TypeText("Alkampfer"); ie.TextField(Find.ByName(t => t.EndsWith("$Password"))).TypeText("12345"); ie.Button(Find.ByName(b => b.EndsWith("$LoginButton"))).Click(); //Navigate to the other page Assert.That(ie.Div("thecontent").Exists); }
public static bool TestMenuColorsLoad(IE browser, string webPage, HtmlColor color, HtmlColor bcolor) { bool result = false; browser = new IE(); try { browser.GoTo(webPage); Style menuStyle = browser.Div(Find.ById(Layout.leftMenuDiv)).Style; Style menuLinkStyle = browser.Div(Find.ById(Layout.leftMenuDiv)).Links[0].Style; HtmlColor menuColor = menuLinkStyle.Color; HtmlColor menuBackColor = menuStyle.BackgroundColor; result = menuColor.Equals(color) && menuBackColor.Equals(bcolor); } finally { browser.Close(); } return(result); }
public void UISendTest() { // create a new Internet Explorer instance pointing to the ASP.NET Development Server using (IE ie = new IE(Constants.DevWebSite + "send.aspx")) { // Maximize the IE window ie.ShowWindow(NativeMethods.WindowShowStyle.Maximize); // Fill in the form ie.SelectList(Find.ById("ctl00_PageContentPlaceHolder_QuickMessageControl_SenderDropDownList")).Select(Constants.Sender); ie.TextField(Find.ById("ctl00_PageContentPlaceHolder_QuickMessageControl_RecipientTextBox")).TypeText(Constants.Recipient); ie.TextField(Find.ById("ctl00_PageContentPlaceHolder_QuickMessageControl_MessageTextBox")).TypeText(MESSAGE); WatiN.Core.FileUpload fUp; fUp = ie.FileUpload(Find.ById("ctl00_PageContentPlaceHolder_QuickMessageControl_MultiUpload_Input_0")); fUp.Set(Constants.File0); fUp = ie.FileUpload(Find.ById("ctl00_PageContentPlaceHolder_QuickMessageControl_MultiUpload_Input_1")); fUp.Set(Constants.File1); fUp = ie.FileUpload(Find.ById("ctl00_PageContentPlaceHolder_QuickMessageControl_MultiUpload_Input_2")); fUp.Set(Constants.File2); ie.TextField(Find.ById("ctl00_PageContentPlaceHolder_QuickMessageControl_SecurityCodeTextBox")).TypeText(Constants.SecurityCode); //Trigger the key up event to execute the web service and allow some time for callback ie.TextField(Find.ById("ctl00_PageContentPlaceHolder_QuickMessageControl_SecurityCodeTextBox")).KeyUp(); System.Threading.Thread.Sleep(1000); //Click send and wait until end of post if (ie.Button(Find.ById("ctl00_PageContentPlaceHolder_QuickMessageControl_SendButton")).Enabled) { ie.Button(Find.ById("ctl00_PageContentPlaceHolder_QuickMessageControl_SendButton")).ClickNoWait(); SimpleTimer t = new SimpleTimer(60 * 60); Span s; do { s = ie.Span(Find.ById("ctl00_PageContentPlaceHolder_QuickMessageControl_FinalReportLabel")); if (s.Exists) { goto EXIT; } System.Threading.Thread.Sleep(1000); } while (!t.Elapsed); throw new WatiN.Core.Exceptions.TimeoutException(string.Format("waiting {0} seconds for element to show up.", 60 * 60)); EXIT: Div d = ie.Div(Find.ById("ctl00_PageContentPlaceHolder_QuickMessageControl_SendFinalPanel")); Assert.AreEqual(true, ((d.Exists) && (d.Links.Length > 0) && d.Links[0].Url.StartsWith(Constants.DevWebSite, StringComparison.InvariantCultureIgnoreCase))); } else { Assert.IsTrue(false, "Send button is disabled because of incorrect data"); } } }
private Table GetWardrobeTable() { try { controller.OpenUrl(controller.UrlAccount); var div = _browser.Div("weapons"); return(div.Tables[0]); } catch (Exception ex) { controller.HandleException("Ошибка нахождения раздевалки", ex); return(null); } }
public void TestNoJobAds() { var emp = CreateUnlimitEmployer(); var members = CreateMembers(10); using (var browser = new IE()) { browser.Setup(); browser.GoToEmployerHomePage(); browser.LogIn(); browser.PerformSearch("linkme"); Assert.AreEqual(browser.Div(Find.ByClass("jobads_ascx", false)).Style.Display, "none"); } }
public static string FillData(IE ie, HControl control, string data) { int i = 0; while (i < Loop) { i++; try { switch (control.Control.ToLower()) { case ControlType.AHref: ie.Link(GetControl(ie, control)).Click(); break; case ControlType.AHrefNoText: ie.GoTo(control.Value); break; case ControlType.Button: ie.Button(GetControl(ie, control)).Click(); break; case ControlType.Div: ie.Div(GetControl(ie, control)).Click(); break; case ControlType.TextArea: ie.TextField(GetControl(ie, control)).Value = data; break; case ControlType.TextBox: ie.TextField(GetControl(ie, control)).Value = data; break; } ie.WaitForComplete(); return(string.Empty); } catch (Exception ex) { if (i == Loop) { return(ex.Message); } Thread.Sleep(60000); } } return(string.Empty); }
static void Main(string[] args) { using (ie = new IE()) { int currentPage = 1; string s; s = string.Format(startPage, currentPage, cardSet.Replace(" ", "%20")); ie.GoTo(s); int maxPage = ie.Div(Find.ByClass("pagingcontrols")).Links.Count - 2; if (maxPage == -1) { throw new Exception("Failed to find paging controls :("); } var cardIds = new HashSet <string>(); while (currentPage <= maxPage) { s = string.Format(startPage, currentPage, cardSet.Replace(" ", "%20")); if (currentPage > 1) { ie.GoTo(s); } var cardItemTable = ie.Table(Find.ByClass("cardItemTable")); var firstCell = cardItemTable.TableBodies[0].OwnTableRows[0] .TableCells[0]; foreach (var t in firstCell.Tables) { var u = t.OwnTableBodies[0].OwnTableRows[0].OwnTableCells[1] .Divs[1].Spans[0].Links[0].Url; var id = u.Split('=')[1]; cardIds.Add(id); } currentPage++; Thread.Sleep(1000); } var set = new XElement("set", new XAttribute("name", cardSet)); foreach (var id in cardIds) { set.Add(ProcessCard(id)); } File.WriteAllText(cardSet + ".xml", set.ToString(), Encoding.ASCII); } }
public override void LoadAccounts() { Settings.MakeNewIeInstanceVisible = false; using (var browser = new IE("https://personal.metrobankonline.co.uk/MetroBankRetail/")) { Login(browser); var accountsDiv = browser.Div(Find.ById("p1_GRP_0936EF1D3ED8C8E960870")); var accounts = new List <Account>(); foreach (var accountDiv in accountsDiv.Divs.Where(div => div.ClassName == "account-container ")) { var accountName = accountDiv.Links.First(link => link.Title != "AccountIcon").Title; var sortCode = accountDiv.Label(Find.ByText("Sort Code")).NextSibling.NextSibling.Text; var accountNumber = accountDiv.Div(Find.ByClass("leftMargin10px")).Spans.First().Text; var account = new Account { Name = accountName, SortCode = sortCode, AccountNumber = accountNumber, LastUpdated = DateTime.UtcNow }; // Current Balance var currentBalanceSpan = accountDiv.Spans.First( span => span.ClassName == "balance" || span.ClassName == "negative-balance"); string balance; if (currentBalanceSpan.ClassName == "balance") { balance = currentBalanceSpan.Text + currentBalanceSpan.NextSibling.Text; } else { balance = currentBalanceSpan.Text; } account.Balance = new CurrencyValue(balance); accounts.Add(account); } _accounts = accounts; _lastUpdated = DateTime.UtcNow; } }
private void HidePanels() { // WatinBrowser.Divs[0].Style.SetAttributeValue("display", "none"); WatinBrowser.Tables[0].Style.SetAttributeValue("visibility", "collapse"); WatinBrowser.Tables[1].Style.SetAttributeValue("visibility", "collapse"); var t = WatinBrowser.Table("center"); var row = t.TableRows[0]; row.TableCells[0].Style.SetAttributeValue("display", "none"); // row.TableCells[2].Style.SetAttributeValue("display", "none"); WatinBrowser.Div("footer").Style.SetAttributeValue("display", "none"); WatinBrowser.ElementsWithTag("noindex")[0].Style.SetAttributeValue("display", "none"); }
public void TestLogin() { using (var browser = new IE()) { browser.Setup(); browser.GoToEmployerHomePage(); //test empty username and password browser.Div(Find.ByClass("loginbutton", false)).Click(); Assert.AreEqual(browser.Div(Find.ByClass("login-error", false)).Style.Display, "block"); Assert.AreEqual(browser.Eval("$(\".login-error ul li:contains('The username is required.')\").length"), "1"); Assert.AreEqual(browser.Eval("$(\".login-error ul li:contains('The password is required.')\").length"), "1"); //test wrong username and password browser.TextField(Find.ById("LoginId")).TypeText("abc"); browser.TextField(Find.ById("Password")).TypeText("def"); browser.Div(Find.ByClass("loginbutton", false)).Click(); Assert.AreEqual(browser.Div(Find.ByClass("login-error", false)).Style.Display, "block"); Assert.AreEqual(browser.Eval("$(\".login-error ul li:contains('Login failed. Please try again.')\").length"), "1"); //test correct username and password browser.TextField(Find.ById("LoginId")).TypeText("employer0"); browser.TextField(Find.ById("Password")).TypeText("password"); browser.Div(Find.ByClass("loginbutton", false)).Click(); Assert.AreEqual(browser.Url, "https://localhost/Trunk/search/candidates"); } }
private void FillSecurityNumber(IE browser) { var securityDropdownsDiv = browser.Div(Find.ById("security-dropdowns")); var numbersRequestedAsStrings = securityDropdownsDiv.Paras.Select(p => p.Text); var numbersRequestedAsInts = numbersRequestedAsStrings.Select(str => int.Parse(Regex.Match(str, @"\d+").Value)); numbersRequestedAsInts = numbersRequestedAsInts.OrderBy(i => i); var securityNumbersString = string.Join("", numbersRequestedAsInts.Select(i => Config.SecurityNumber[i - 1])); browser.Element( Find.ByName("METROBANK[1].LOGIN[1].SECURITYNUMBER[1].APPENDEDVALUE")) .SetAttributeValue("value", securityNumbersString); }
static void Main(string[] args) { //Internet explorer'in açılması sağlanıyor. using (var ie = new IE("http://www.google.com.tr")) //Firefox'un açılması sağlanıyor. //using (var firefox = new FireFox()) { #region ShowWindow Options //Tarayıcıyı Küçültülmüş olarak açılmaya zorlar. //ie.ShowWindow(WatiN.Core.Native.Windows.NativeMethods.WindowShowStyle.ForceMinimized); //Tarayıcının gizli olarak açılması sağlanacak böylelikle işlemler arkaplanda gerçekleşmiş olacak. //ie.ShowWindow(WatiN.Core.Native.Windows.NativeMethods.WindowShowStyle.Hide); //Tarayıcıyı gösterilmesini sağlar. //ie.ShowWindow(WatiN.Core.Native.Windows.NativeMethods.WindowShowStyle.Show); //Tarayıyı tam ekran olarak çalıştırır. //ie.ShowWindow(WatiN.Core.Native.Windows.NativeMethods.WindowShowStyle.Maximize); //Tarayıcıyı Küçültülmüş olarak açılmasını sağlar. //ie.ShowWindow(WatiN.Core.Native.Windows.NativeMethods.WindowShowStyle.Minimize); #endregion //lst-ib id'li input elementine site:muratoner.net yazılıyor. ie.TextField("lst-ib").TypeText("site:muratoner.net"); //name attribute değeri btnG olan button elementinin Click event'i tetikleniyor. ie.Button(Find.ByName("btnG")).Click(); //search id'li div elementi alınıyor. var div = ie.Div("search"); //search id'li div altındaki h3 html elementleri döngü ile dönülüyor. foreach (var item in div.ElementsWithTag("h3")) { //search id'li div altında yer alan h3 etiketleri eğer r class'ına sahip ise text'i console'a yazdırılıyor. if (item.ClassName == "r") { Console.WriteLine(item.Text); } } //Adres değiştirmek için GoTo metodunu kullanabilirsiniz. //ie.GoTo("http://www.muratoner.net/iletisim"); //Sayfanın ekran görüntüsünü almak için CaptureWebPageToFile metodunu kullanabilirsiniz. //browser.CaptureWebPageToFile("1.jpg"); Console.ReadKey(); } }
public static bool TestHeaderTextLoad(IE browser, string webPage, string webPageTitle) { bool result = false; browser = new IE(); try { browser.GoTo(webPage); string GossipTitleContent = browser.Div(Find.ById(Layout.gossipTitleDiv)).InnerHtml; result = GossipTitleContent.Equals(webPageTitle); } finally { browser.Close(); } return(result); }
public void PopulateUrls() { Settings.AttachToBrowserTimeOut = 240; Settings.WaitUntilExistsTimeOut = 240; Settings.WaitForCompleteTimeOut = 240; using (var browser = new IE("http://www.youtube.com/user/vahchef/videos", true)) { Div mainDiv = browser.Div(Find.ById("video-page-content")); while (mainDiv.Buttons.Where(b => b.ClassName != null && b.ClassName.Contains("load-more-button")).FirstOrDefault() != null) { Button loadMore = mainDiv.Buttons.Where(b => b.ClassName != null && b.ClassName.Contains("load-more-button")).FirstOrDefault(); if (loadMore != null && loadMore.Exists && loadMore.Enabled) { loadMore.ClickNoWait(); } var links1 = mainDiv.Links.ToList().Select(l => l.Url).Distinct(); if (links1.Count() > 1000) { foreach (var link in links1) { Console.WriteLine(link); } break; } //mainDiv = browser.Div(Find.ById("video-page-content")); //loadMore = mainDiv.Buttons.Where(b => b.ClassName != null && b.ClassName.Contains("load-more-button")).FirstOrDefault(); } //var links = mainDiv.Links.ToList().Select(l => l.Url).Distinct(); //foreach(var link in links) //{ // Console.WriteLine(link); //} Console.ReadLine(); } }
public void PopulateMobileImages() { Settings.AttachToBrowserTimeOut = 240; Settings.WaitUntilExistsTimeOut = 240; Settings.WaitForCompleteTimeOut = 240; using (var dbContext = new MobilesDbContext()) { var products = dbContext.Products.Include("Brand").ToList(); var productImageUrls = dbContext.ProductImages.Select(p => p.ImageUrl).ToList(); foreach (var product in products) { var productUrl = product.Url; var productName = product.ProductName; var brandName = product.Brand.BrandName; var replaceString = brandName.Replace(" ", "_") + "_" + productName.Replace(" ", "_"); var picutreUrl = productUrl.Replace(replaceString.ToLower(), replaceString.ToLower() + "-pictures"); KillIeProcesses(); using (var browser = new IE(picutreUrl, true)) { Div pictureDiv = browser.Div(Find.ById("pictures")); var imageUrls = pictureDiv.Images.Select(i => i.Src); foreach (var imageUrl in imageUrls) { if (productImageUrls.Contains(imageUrl) == false) { dbContext.ProductImages.Add( new ProductImage() { ImageUrl = imageUrl, Product = product } ); } } } dbContext.SaveChanges(); } } }
public void DoGoogleTest() { using (IE browser = new IE()) { browser.GoTo("www.google.co.uk"); Div logoDiv = browser.Div("hplogo"); Assert.IsTrue(logoDiv.Exists, "Logo div does not exist"); TextField searchText = browser.TextField("lst-ib"); Assert.IsTrue(searchText.Exists, "Search text field does not exist"); Button searchBtn = browser.Button(Find.ByName("btnK")); Assert.IsTrue(searchBtn.Exists, "Search button does not exist"); Button nonExistantButton = browser.Button("garbagegarbagegarbage"); // This will cause the test to fail because the link doesn't (shouldn't!) exist. // Comment it out and the test should pass Assert.IsTrue(nonExistantButton.Exists, "Non-existant button does not exist"); } }
public static bool IsExist(IE ie, HControl control) { try { bool existed = true; Regex regex = new Regex(FilterPattern.GetToPattern(control.Value)); switch (control.Control.ToLower()) { case ControlType.AHref: existed = ie.Link(Find.ByText(regex)).Exists; break; case ControlType.AHrefNoText: try { } catch (Exception ex) { existed = false; } break; case ControlType.Button: existed = ie.Button(GetControl(ie, control)).Exists; break; case ControlType.Div: existed = ie.Div(GetControl(ie, control)).Exists; break; case ControlType.TextArea: existed = ie.TextField(GetControl(ie, control)).Exists; break; case ControlType.TextBox: existed = ie.TextField(GetControl(ie, control)).Exists; break; } return(existed);// } catch (Exception ex) { return(false); } }
public void SettingNoMerge() { if (IE.GetMajorIEVersion() != 8) return; // GIVEN Settings.MakeNewIe8InstanceNoMerge = true; // url put up by MSDN blogger, may need to add this to our files const string testUrl = "http://www.enhanceie.com/test/sessions/"; using (var ie1 = new IE(testUrl)) { ie1.SelectList(Find.ById("selColor")).Select("Green"); // WHEN using (var ie2 = new IE(testUrl)) { // THEN var actual = ie2.Div(Find.ById("divSessStore")).InnerHtml; StringAssert.Contains("undefined",actual,"session cookie used"); } } }