Beispiel #1
0
        public void RunTest()
        {
            ResultHandlder.Create();
            EnterIntoReposHub();

            for (int i = 0; i < 5; i++)
            {
                ExtractAllReposDetails();
                ClickOnNextPage();
            }
        }
Beispiel #2
0
        public void ExtractAllReposDetails()
        {
            Driver.Navigate().Refresh();
            IList <IWebElement> Repos = Driver.FindElements(By.CssSelector(".repo-list-item"));

            foreach (IWebElement IW in Repos)
            {
                string Title = IW.FindElement(By.CssSelector(@".v-align-middle")).Text;

                string URL         = IW.FindElement(By.CssSelector(@".v-align-middle")).GetAttribute("href");
                bool   IsValidLink = RemoteLinkExists(URL);

                string Description;
                try
                {
                    Description = IW.FindElement(By.CssSelector(@".pr-4")).Text;
                }
                catch
                {
                    Description = "None";
                }

                IList <IWebElement> Tags = IW.FindElements(By.CssSelector(@".topic-tag"));
                string TagsResut         = "";
                if (Tags.Count == 0)
                {
                    TagsResut = "None";
                }
                else
                {
                    try
                    {
                        foreach (IWebElement t in Tags)
                        {
                            string Tag = t.Text;
                            TagsResut = TagsResut + " | " + Tag;
                        }
                        TagsResut = TagsResut + " | ";
                    }
                    catch
                    {
                        TagsResut = "None";
                    }
                }

                string Time = IW.FindElement(By.CssSelector(@"relative-time")).Text;
                string Lang = IW.FindElement(By.CssSelector(@".d-table-cell")).Text;
                string Star = IW.FindElement(By.CssSelector(@".muted-link:not(.mt-2)")).Text;

                ResultHandlder.WriteResult(Title, Description, TagsResut, Time, Lang, Star, IsValidLink);
            }
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            TestContainer test = new TestContainer();

            ResultHandlder.Create();
            test.EnterIntoReposHub();                                                           // open the github repo with the selenium search

            for (int i = 0; i < 5; i++)                                                         // number of page the explore
            {
                test.ExtractAllReposDetails();
                test.ClickOnNextPage();                                                         // click on the next result page
            }
            test.Close();
        }
Beispiel #4
0
        public void ClickOnNextPage()
        {
            var watch = System.Diagnostics.Stopwatch.StartNew();


            Driver.FindElement(By.CssSelector(@":not(.next_page)[rel='next']")).Click();

            WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(10));

            wait.Until(d => d.FindElements(By.CssSelector(".repo-list-item")).Count > 5);

            watch.Stop();
            //var elapsedMs = watch.ElapsedMilliseconds;
            ResultHandlder.WriteResultTiming("Next Page Timing", watch.ElapsedMilliseconds.ToString());
        }
Beispiel #5
0
        public void EnterIntoReposHub()
        {
            Actions builder = new Actions(Driver);

            Driver.Navigate().GoToUrl(@"https://github.com/");
            IWebElement Searchbox = Driver.FindElement(By.XPath(@"/html/body/div[1]/header/div/div[2]/div/div/div/div/form/label/input[1]"));

            Searchbox.Click();
            Searchbox.SendKeys("selenium");
            Searchbox.SendKeys(Keys.Enter);

            var watch = System.Diagnostics.Stopwatch.StartNew();

            builder.SendKeys(Keys.Enter);
            watch.Stop();

            WebDriverWait wait = new WebDriverWait(Driver, TimeSpan.FromSeconds(10));

            wait.Until(d => d.FindElements(By.CssSelector(".repo-list-item")).Count > 5);

            //var elapsedMs = watch.ElapsedMilliseconds;
            ResultHandlder.WriteResultTiming("Search result", watch.ElapsedMilliseconds.ToString());
        }