public void AddOrRemoveProductFromCart(string name)
        {
            var productNameList  = _productNameList.GetElements();
            var addToCartButtons = _addToCartButtons.GetElements();

            var productIndex = productNameList.IndexOf(productNameList.First(x => string.Equals(x.Text, name)));

            addToCartButtons[productIndex].Click();
            WaitHelpers.ExplicitWait();
            ExtentTestManager.GetTest().CreateStep(MethodBase.GetCurrentMethod().Name);
        }
Exemple #2
0
 public void SimpleActionWithException() => AssertWith1TransactionAnd1Error(agent =>
 {
     Assert.Throws <InvalidOperationException>(() =>
     {
         agent.Tracer.CaptureTransaction(TransactionName, TransactionType, new Action(() =>
         {
             WaitHelpers.SleepMinimum();
             throw new InvalidOperationException(ExceptionMessage);
         }));
     });
 });
Exemple #3
0
        public void EditEnvironment(string environmentName)
        {
            WaitHelpers.ExplicitWait();
            var element = Utils.GetHeaderSpecifiedByIndex(FeatureTogglesGrid, 3);

            WaitHelpers.ExplicitWait();
            if (element.Text.Equals(environmentName))
            {
                element.FindElement(_editEnvironmentIcon).Click();
            }
        }
Exemple #4
0
        public static void KendoGridShouldHavePageNumber(this IWebElement grid, int pageNumber)
        {
            AssertIsKendoGrid(grid);

            var gridId = grid.GetAttribute("id");
            var fallbackGridSelector = "[kendo-grid]";
            var gridSelector         = !string.IsNullOrEmpty(gridId) ? $"#{gridId}" : fallbackGridSelector;

            WaitHelpers.WaitUntilElementTextEquals($"{gridSelector} .k-pager-numbers .k-state-selected",
                                                   pageNumber.ToString());
        }
Exemple #5
0
        public void SimpleActionWithReturnType()
        => AssertWith1TransactionAnd1Span(t =>
        {
            var res = t.CaptureSpan(SpanName, SpanType, () =>
            {
                WaitHelpers.Sleep2XMinimum();
                return(42);
            });

            Assert.Equal(42, res);
        });
Exemple #6
0
 public async Task AsyncTaskWithException() => await AssertWith1TransactionAnd1ErrorAsync(async agent =>
 {
     await Assert.ThrowsAsync <InvalidOperationException>(async() =>
     {
         await agent.Tracer.CaptureTransaction(TransactionName, TransactionType, async() =>
         {
             await WaitHelpers.DelayMinimum();
             throw new InvalidOperationException(ExceptionMessage);
         });
     });
 });
        public void SimpleActionWithReturnType_OnSubSpan()
        => AssertWith1TransactionAnd1SpanOnSubSpan(s =>
        {
            var res = s.CaptureSpan(SpanName, SpanType, () =>
            {
                WaitHelpers.Sleep2XMinimum();
                return(42);
            });

            res.Should().Be(42);
        });
Exemple #8
0
 internal void FindEditedSkillListing()
 {
     WaitHelpers.ElementIsVisible(driver, "XPath", "//table/tbody/tr[1]/td[3]", 5);
     if (findSkillListingElement.Text == "Selenium Webdriver using CsharpEDITED")
     {
         Assert.Pass("Listing record edited usccessfully, test passed!");
     }
     else
     {
         Assert.Fail("Listing not found, test failed!");
     }
 }
Exemple #9
0
 public void DeleteApplication(string expectedApplicationName)
 {
     WaitHelpers.ExplicitWait();
     if (expectedApplicationName != GetSelectedApplicationName())
     {
         return;
     }
     _editApplicationIcon.ActionClick();
     _deleteApplicationButton.ActionClick();
     _confirmDeleteApplicationButton.ActionClick();
     WaitHelpers.ExplicitWait();
 }
Exemple #10
0
 public void AddNewApplication(string newApplicationName, string firstEnvName)
 {
     _pageSpinner.WaitForSpinner();
     WaitHelpers.ExplicitWait();
     Thread.Sleep(2000);
     _openAddApplicationModalBtn.ActionClick();
     _applicationNameInput.ActionSendKeys(newApplicationName);
     _firstEnvNameInput.ActionSendKeys(firstEnvName);
     _addApplicationButton.ActionClick();
     WaitHelpers.ExplicitWait();
     _closeAddApplicationModalBtn.ActionClick();
 }
Exemple #11
0
 public void AddFeatureToggle(string newFeatureToggleName)
 {
     WaitHelpers.ExplicitWait();
     Thread.Sleep(2000);
     _toolsButton.SelectFromDropdown(_toolsMenuDropdown, "Add Feature Toggle");
     _featureToggleNameInput.ActionSendKeys(newFeatureToggleName);
     //_workItemIdInput.ActionSendKeys("TESTING PBI 00000");
     _notesInput.ActionSendKeys("test notes");
     _addFeatureToggleButton.ActionClick();
     WaitHelpers.ExplicitWait();
     _closeAddToggleModalBtn.ActionClick();
 }
Exemple #12
0
 public async Task AsyncTaskWithException()
 => await AssertWith1TransactionAnd1ErrorAnd1SpanAsync(async t =>
 {
     await Assert.ThrowsAsync <InvalidOperationException>(async() =>
     {
         await t.CaptureSpan(SpanName, SpanType, async() =>
         {
             await WaitHelpers.Delay2XMinimum();
             throw new InvalidOperationException(ExceptionMessage);
         });
     });
 });
Exemple #13
0
        public async Task AsyncTaskWithReturnTypeAndParameter() => await AssertWith1TransactionAsync(async agent =>
        {
            var res = await agent.Tracer.CaptureTransaction(TransactionName, TransactionType,
                                                            async t =>
            {
                Assert.NotNull(t);
                await WaitHelpers.DelayMinimum();
                return(42);
            });

            Assert.Equal(42, res);
        });
Exemple #14
0
        public void SimpleActionWithReturnTypeAndParameter() => AssertWith1Transaction(agent =>
        {
            var res = agent.Tracer.CaptureTransaction(TransactionName, TransactionType,
                                                      t =>
            {
                Assert.NotNull(t);
                WaitHelpers.SleepMinimum();
                return(42);
            });

            Assert.Equal(42, res);
        });
Exemple #15
0
        internal void ValidateNewRecord(String code, String description)
        {
            WaitHelpers.waitClickableElement(driver, "XPath", "//*[@id='tmsGrid']/div[4]/a[4]/span");
            //last page button
            driver.FindElement(By.XPath("//*[@id='tmsGrid']/div[4]/a[4]/span")).Click();
            var Code = driver.FindElement(By.XPath("//*[@id='tmsGrid']/div[3]/table/tbody/tr[last()]/td[1]"));

            var testDescription = driver.FindElement(By.XPath("//*[@id='tmsGrid']/div[3]/table/tbody/tr[last()]/td[3]")).Text;

            // logic to compare the one we wanted
            Assert.That(Code.Text, Is.EqualTo(code));
        }
 public void LogInSteps()
 {
     //Populate data from Excel
     ExcelLibHelpers.PopulateInCollection(Paths.ExcelPath, "Login");
     //Enter Email and Password for login
     Email.SendKeys(ExcelLibHelpers.ReadData(3, "Column0"));
     Password.SendKeys(ExcelLibHelpers.ReadData(3, "Column1"));
     //Click on login button
     LoginButton.Click();
     //Wait for the Profile page to load after login
     WaitHelpers.ExplicitWait(driver, "ElementExists", "XPath", "//*[@id='account-profile-section']/div/div[1]/div[2]/div/span", 10);
 }
Exemple #17
0
 public void SimpleActionWithException()
 => AssertWith1TransactionAnd1SpanAnd1Error(t =>
 {
     Assert.Throws <InvalidOperationException>(() =>
     {
         t.CaptureSpan(SpanName, SpanType, new Action(() =>
         {
             WaitHelpers.Sleep2XMinimum();
             throw new InvalidOperationException(ExceptionMessage);
         }));
     });
 });
Exemple #18
0
        /* internal void EditNewRecord()
         * {
         *
         *   Thread.Sleep(3000);
         *
         *   // Clicking the last page button on pagination field
         *   driver.FindElement(By.XPath("//*[@id='tmsGrid']/div[4]/a[4]/span")).Click();
         *
         *   for (i = 1; i <= 10; i++)
         *   {
         *       var Code = driver.FindElement(By.XPath("//*[@id='tmsGrid']/div[3]/table/tbody/tr[" + i + "]/td[1]"));
         *
         *
         *       var testDescription = driver.FindElement(By.XPath("//*[@id='tmsGrid']/div[3]/table/tbody/tr[" + i + "]/td[3]")).Text;
         *
         *       // logic to compare the one we wanted
         *
         *       if (Code.Text == "158" && testDescription == "tesdec5")
         *       {
         *           driver.FindElement(By.XPath("//*[@id='tmsGrid']/div[3]/table/tbody/tr[" + i + "]/td[5]/a[1]")).Click();
         *           IWebElement code = driver.FindElement(By.Id("Code"));
         *           code.Clear();
         *           code.SendKeys("Hey");
         *           driver.FindElement(By.XPath("//*[@id='SaveButton']")).Click();
         *           break;
         *       }
         *
         *   }
         *
         * }*/

        internal void EditNewRecord()
        {
            WaitHelpers.waitClickableElement(driver, "XPath", "//*[@id='tmsGrid']/div[4]/a[4]/span");
            driver.FindElement(By.XPath("//*[@id='tmsGrid']/div[4]/a[4]/span")).Click();
            driver.FindElement(By.XPath("//*[@id='tmsGrid']/div[3]/table/tbody/tr[last()]/td[5]/a[1]")).Click();
            Assert.That(driver.FindElement(By.XPath("//*[@id='container']/h2")).Text, Is.EqualTo("Time and Materials"));
            IWebElement Code = driver.FindElement(By.Id("Code"));

            Code.Clear();
            Code.SendKeys("Jay");
            driver.FindElement(By.XPath("//*[@id='SaveButton']")).Click();
        }
Exemple #19
0
        public void SimpleActionWithReturnTypeAndParameter_OnSubSpan()
        => AssertWith1TransactionAnd1SpanOnSubSpan(t =>
        {
            var res = t.CaptureSpan(SpanName, SpanType, s =>
            {
                t.Should().NotBeNull();
                WaitHelpers.Sleep2XMinimum();
                return(42);
            });

            res.Should().Be(42);
        });
        public async Task AsyncTaskWithReturnTypeAndParameter() => await AssertWith1TransactionAsync(async agent =>
        {
            var res = await agent.Tracer.CaptureTransaction(TransactionName, TransactionType,
                                                            async t =>
            {
                t.Should().NotBeNull();
                await WaitHelpers.DelayMinimum();
                return(42);
            });

            res.Should().Be(42);
        });
        public void SimpleActionWithReturnTypeAndParameter() => AssertWith1Transaction(agent =>
        {
            var res = agent.Tracer.CaptureTransaction(TransactionName, TransactionType,
                                                      t =>
            {
                t.Should().NotBeNull();
                WaitHelpers.SleepMinimum();
                return(42);
            });

            res.Should().Be(42);
        });
Exemple #22
0
 internal void NotificationUnSelectAll()
 {
     //Start the Reports
     CommonMethods.ExtentReports();
     Thread.Sleep(1000);
     CommonMethods.test = CommonMethods.extent.StartTest("UnSelect All");
     //UnSelect All
     WaitHelpers.WaitForElementVisibility(Driver.driver, "XPath", "//*[@id='notification-section']/div[2]/div/div/div[3]/div[1]/div[2]", 10000);
     UnSelectAll.Click();
     CommonMethods.test.Log(LogStatus.Info, "Successfully Unselected all notifications");
     SaveScreenShotClass.SaveScreenshot(Driver.driver, "UnSelectAllNotification");
 }
Exemple #23
0
        /// <summary>
        /// Asserts on 1 transaction with 1 span and 1 error
        /// </summary>
        private void AssertWith1TransactionAnd1SpanAnd1ErrorOnSubSpan(Action <ISpan> action)
        {
            var payloadSender = new MockPayloadSender();

            using (var agent = new ApmAgent(new TestAgentComponents(payloadSender: payloadSender)))
            {
                WaitHelpers.SleepMinimum();
                agent.Tracer.CaptureTransaction(TransactionName, TransactionType, t =>
                {
                    WaitHelpers.SleepMinimum();

                    t.CaptureSpan("aa", "bb", s =>
                    {
                        WaitHelpers.SleepMinimum();
                        action(s);
                    });
                });
            }

            payloadSender.WaitForTransactions();
            payloadSender.Transactions.Should().NotBeEmpty();

            payloadSender.FirstTransaction.Name.Should().Be(TransactionName);
            payloadSender.FirstTransaction.Type.Should().Be(TransactionType);

            var duration = payloadSender.FirstTransaction.Duration;

            duration.Should().BeGreaterOrEqualToMinimumSleepLength(3);

            payloadSender.WaitForSpans();
            payloadSender.SpansOnFirstTransaction.Should().NotBeEmpty();

            payloadSender.SpansOnFirstTransaction[0].Name.Should().Be(SpanName);
            payloadSender.SpansOnFirstTransaction[0].Type.Should().Be(SpanType);

            payloadSender.WaitForErrors();
            payloadSender.Errors.Should().NotBeEmpty();
            payloadSender.Errors.Should().NotBeEmpty();

            payloadSender.FirstError.Exception.Type.Should().Be(typeof(InvalidOperationException).FullName);
            payloadSender.FirstError.Exception.Message.Should().Be(ExceptionMessage);

            var orderedSpans = payloadSender.Spans.OrderBy(n => n.Timestamp).ToList();

            var firstSpan = orderedSpans.First();
            var innerSpan = orderedSpans.Last();

            firstSpan.ParentId.Should().Be(payloadSender.FirstTransaction.Id);
            innerSpan.ParentId.Should().Be(firstSpan.Id);

            firstSpan.TransactionId.Should().Be(payloadSender.FirstTransaction.Id);
            innerSpan.TransactionId.Should().Be(payloadSender.FirstTransaction.Id);
        }
Exemple #24
0
        static void Main(string[] args)
        {
            Functions functions = new Functions(Uis.pNova);

            int secondsToWait = int.Parse(Enumerable.FirstOrDefault <string>((IEnumerable <string>)args) ?? "120");

            while (true)
            {
                functions.ClickStartStopButton();
                WaitHelpers.WaitSeconds(secondsToWait);
            }
        }
        internal void EnterDetails()
        {
            //Populate excel data
            ExcelLibHelper.PopulateInCollection(ConstantHelpers.ExcelPath, "Profile");

            #region Availability

            //Click on availability edit
            WaitHelpers.WaitForElementVisibility(Driver.driver, "XPath", "//*[@id='account-profile-section']/div/section[2]/div/div/div/div[2]/div/div/div/div/div/div[3]/div/div[2]/div/span/i", 10000);
            AvailabilityTimeEdit.Click();

            //Click on availability dropdown
            AvailabilityTime.Click();

            WaitHelpers.WaitForElementVisibility(Driver.driver, "Name", "availabiltyType", 10000);
            //select availability time
            new SelectElement(AvailabilityTime).SelectByText(ExcelLibHelper.ReadData(2, "AvailableTime"));
            CommonMethods.test.Log(LogStatus.Info, "Select the available time");

            #endregion

            #region Hour

            //click on hour edit
            WaitHelpers.WaitForElementVisibility(Driver.driver, "XPath", "//*[@id='account-profile-section']/div/section[2]/div/div/div/div[2]/div/div/div/div/div/div[3]/div/div[3]/div/span/i", 10000);
            HourEdit.Click();

            //click on houredit dropdown
            AvailabilityHour.Click();

            WaitHelpers.WaitForElementVisibility(Driver.driver, "Name", "availabiltyHour", 10000);
            //select availability hour
            new SelectElement(AvailabilityHour).SelectByText(ExcelLibHelper.ReadData(2, "Hours"));
            CommonMethods.test.Log(LogStatus.Info, "Added hour successfully");

            #endregion

            #region EarnTarget
            //click on Target edit
            WaitHelpers.WaitForElementVisibility(Driver.driver, "XPath", "//*[@id='account-profile-section']/div/section[2]/div/div/div/div[2]/div/div/div/div/div/div[3]/div/div[4]/div/span/i", 10000);
            SalaryEdit.Click();

            //click on Target salary dropdown
            SalarySelect.Click();

            WaitHelpers.WaitForElementVisibility(Driver.driver, "Name", "availabiltyTarget", 10000);
            //select salary
            new SelectElement(SalarySelect).SelectByText(ExcelLibHelper.ReadData(2, "EarnTarget"));
            CommonMethods.test.Log(LogStatus.Info, "Added Target successfully");
            Thread.Sleep(1000);
            #endregion
        }
Exemple #26
0
        private async Task <MockPayloadSender> AssertWith1TransactionAnd1ErrorAnd1SpanAsyncOnSubSpan(Func <ISpan, Task> func)
        {
            var payloadSender = new MockPayloadSender();

            using var agent = new ApmAgent(new TestAgentComponents(payloadSender: payloadSender));

            await agent.Tracer.CaptureTransaction(TransactionName, TransactionType, async t =>
            {
                await WaitHelpers.DelayMinimum();

                await t.CaptureSpan("TestSpan", "TestSpanType", async s =>
                {
                    await WaitHelpers.DelayMinimum();
                    await func(s);
                });
            });

            payloadSender.WaitForTransactions();
            payloadSender.Transactions.Should().NotBeEmpty();

            payloadSender.FirstTransaction.Name.Should().Be(TransactionName);
            payloadSender.FirstTransaction.Type.Should().Be(TransactionType);

            var duration = payloadSender.FirstTransaction.Duration;

            duration.Should().BeGreaterOrEqualToMinimumSleepLength(3);

            payloadSender.WaitForSpans();
            payloadSender.SpansOnFirstTransaction.Should().NotBeEmpty();

            payloadSender.SpansOnFirstTransaction[0].Name.Should().Be(SpanName);
            payloadSender.SpansOnFirstTransaction[0].Type.Should().Be(SpanType);

            payloadSender.WaitForErrors();
            payloadSender.Errors.Should().NotBeEmpty();

            payloadSender.FirstError.Exception.Type.Should().Be(typeof(InvalidOperationException).FullName);
            payloadSender.FirstError.Exception.Message.Should().Be(ExceptionMessage);

            var orderedSpans = payloadSender.Spans.OrderBy(n => n.Timestamp).ToList();

            var firstSpan = orderedSpans.First();
            var innerSpan = orderedSpans.Last();

            firstSpan.ParentId.Should().Be(payloadSender.FirstTransaction.Id);
            innerSpan.ParentId.Should().Be(firstSpan.Id);

            firstSpan.TransactionId.Should().Be(payloadSender.FirstTransaction.Id);
            innerSpan.TransactionId.Should().Be(payloadSender.FirstTransaction.Id);

            return(payloadSender);
        }
 public void SimpleActionWithExceptionAndParameter() => AssertWith1TransactionAnd1Error(agent =>
 {
     Action act = () =>
     {
         agent.Tracer.CaptureTransaction(TransactionName, TransactionType, new Action <ITransaction>(t =>
         {
             t.Should().NotBeNull();
             WaitHelpers.SleepMinimum();
             throw new InvalidOperationException(ExceptionMessage);
         }));
     };
     act.Should().Throw <InvalidOperationException>();
 });
 public async Task AsyncTaskWithExceptionAndParameter() => await AssertWith1TransactionAnd1ErrorAsync(async agent =>
 {
     Func <Task> act = async() =>
     {
         await agent.Tracer.CaptureTransaction(TransactionName, TransactionType, async t =>
         {
             t.Should().NotBeNull();
             await WaitHelpers.DelayMinimum();
             throw new InvalidOperationException(ExceptionMessage);
         });
     };
     await act.Should().ThrowAsync <InvalidOperationException>();
 });
Exemple #29
0
 internal void NotificationDelete()
 {
     //Start the Reports
     CommonMethods.ExtentReports();
     Thread.Sleep(1000);
     CommonMethods.test = CommonMethods.extent.StartTest("Delete Notification");
     //Delete Notification
     WaitHelpers.WaitForElementVisibility(Driver.driver, "XPath", "//*[@id='notification-section']/div[2]/div/div/div[3]/div[1]/div[3]/i", 10000);
     Delete.Click();
     Thread.Sleep(2000);
     CommonMethods.test.Log(LogStatus.Info, "Delete notification successfull");
     SaveScreenShotClass.SaveScreenshot(Driver.driver, "NotificationDelete");
 }
Exemple #30
0
 public void SimpleActionWithException_OnSubSpan()
 => AssertWith1TransactionAnd1SpanAnd1ErrorOnSubSpan(s =>
 {
     Action act = () =>
     {
         s.CaptureSpan(SpanName, SpanType, new Action(() =>
         {
             WaitHelpers.Sleep2XMinimum();
             throw new InvalidOperationException(ExceptionMessage);
         }));
     };
     act.Should().Throw <InvalidOperationException>();
 });