Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
 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";
         }
     }
 }
Пример #5
0
        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);
     }
 }
Пример #8
0
        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"));
            }
        }
Пример #9
0
        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");
                }
            }
        }
Пример #10
0
        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);
                }
            }
        }
Пример #11
0
        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);
            }
        }
Пример #12
0
        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();
        }
Пример #14
0
        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);
        }
Пример #15
0
        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);
        }
Пример #16
0
        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");
                }
            }
        }
Пример #17
0
 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");
            }
        }
Пример #19
0
        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);
        }
Пример #20
0
        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);
            }
        }
Пример #21
0
        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;
            }
        }
Пример #22
0
        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");
        }
Пример #23
0
 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");
     }
 }
Пример #24
0
        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);
        }
Пример #25
0
        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();
            }
        }
Пример #26
0
        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);
        }
Пример #27
0
        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();
            }
        }
Пример #28
0
        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();
                }
            }
        }
Пример #29
0
 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");
     }
 }
Пример #30
0
        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);
            }
        }
Пример #31
0
        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");
                }
            }
        }