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); }
public void SimpleActionWithException() => AssertWith1TransactionAnd1Error(agent => { Assert.Throws <InvalidOperationException>(() => { agent.Tracer.CaptureTransaction(TransactionName, TransactionType, new Action(() => { WaitHelpers.SleepMinimum(); throw new InvalidOperationException(ExceptionMessage); })); }); });
public void EditEnvironment(string environmentName) { WaitHelpers.ExplicitWait(); var element = Utils.GetHeaderSpecifiedByIndex(FeatureTogglesGrid, 3); WaitHelpers.ExplicitWait(); if (element.Text.Equals(environmentName)) { element.FindElement(_editEnvironmentIcon).Click(); } }
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()); }
public void SimpleActionWithReturnType() => AssertWith1TransactionAnd1Span(t => { var res = t.CaptureSpan(SpanName, SpanType, () => { WaitHelpers.Sleep2XMinimum(); return(42); }); Assert.Equal(42, res); });
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); });
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!"); } }
public void DeleteApplication(string expectedApplicationName) { WaitHelpers.ExplicitWait(); if (expectedApplicationName != GetSelectedApplicationName()) { return; } _editApplicationIcon.ActionClick(); _deleteApplicationButton.ActionClick(); _confirmDeleteApplicationButton.ActionClick(); WaitHelpers.ExplicitWait(); }
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(); }
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(); }
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); }); }); });
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); });
public void SimpleActionWithReturnTypeAndParameter() => AssertWith1Transaction(agent => { var res = agent.Tracer.CaptureTransaction(TransactionName, TransactionType, t => { Assert.NotNull(t); WaitHelpers.SleepMinimum(); return(42); }); Assert.Equal(42, res); });
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); }
public void SimpleActionWithException() => AssertWith1TransactionAnd1SpanAnd1Error(t => { Assert.Throws <InvalidOperationException>(() => { t.CaptureSpan(SpanName, SpanType, new Action(() => { WaitHelpers.Sleep2XMinimum(); throw new InvalidOperationException(ExceptionMessage); })); }); });
/* 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(); }
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); });
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"); }
/// <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); }
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 }
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>(); });
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"); }
public void SimpleActionWithException_OnSubSpan() => AssertWith1TransactionAnd1SpanAnd1ErrorOnSubSpan(s => { Action act = () => { s.CaptureSpan(SpanName, SpanType, new Action(() => { WaitHelpers.Sleep2XMinimum(); throw new InvalidOperationException(ExceptionMessage); })); }; act.Should().Throw <InvalidOperationException>(); });