public void AfterTest()
        {
            try
            {
                var status       = TestContext.CurrentContext.Result.Outcome.Status;
                var stacktrace   = TestContext.CurrentContext.Result.StackTrace;
                var errorMessage = "<pre>" + TestContext.CurrentContext.Result.Message + "</pre>";
                switch (status)
                {
                case TestStatus.Failed:
                    extent.SetTestStatusFail($"<br>{errorMessage}<br>Stack Trace: <br>{stacktrace}<br>");
                    TakeScreenshot.Take(driver);
                    break;

                case TestStatus.Skipped:
                    extent.SetTestStatusSkipped();
                    break;

                default:
                    extent.SetTestStatusPass();
                    TakeScreenshot.Take(driver);
                    break;
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
            finally
            {
                driver.Quit();
            }
        }
        public void register(string name, string gender, string dob, string add, string city, string state, string pin, string mobile, string email, string password)
        {
            try
            {
                NewCustomerLink.Click();
                Name.SendKeys(name);
                foreach (var gender1 in Gender)
                {
                    String gen = gender1.GetAttribute("value");
                    if (String.Equals(gen, gender, StringComparison.OrdinalIgnoreCase))
                    {
                        gender1.Click();
                    }
                }
                DateOfBirth.SendKeys(dob);
                Address.SendKeys(add);
                City.SendKeys(city);
                State.SendKeys(state);
                PinNo.SendKeys(pin);
                TelephoneNo.SendKeys(mobile);
                EmailId.SendKeys(email);
                Password.SendKeys(password);

                IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
                js.ExecuteScript("window.scrollTo(0, document.body.scrollHeight);");
                WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
                wait.Until(ExpectedConditions.ElementToBeClickable(Submit)).Click();
            }

            catch (Exception e)
            {
                Console.WriteLine(e);
                TakeScreenshot.takeScreenshotAs(driver, "register");
            }
        }
示例#3
0
        public static IWebElement By(IWebDriver driver, By selector)
        {
            IWebElement elementToReturn = null;
            string      dirPath         = System.IO.Directory.GetCurrentDirectory();
            String      format          = "dd.hh.mm.ss.ffffff";//"dd-mm-yyyy.hh.mm.tt";

            driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(30);

            try
            {
                elementToReturn = driver.FindElement(selector);
            }
            catch (NoSuchElementException e)
            {
                TakeScreenshot.SaveAs(driver, $"{dirPath}\\Screenshots", DateTime.Now.ToString(format));
                throw new NoSuchElementException("exception thrown", e);
            }
            catch (Exception e)
            {
                TakeScreenshot.SaveAs(driver, $"{dirPath}\\Screenshots", DateTime.Now.ToString(format));
                throw e;
            }
            // return either the element or null
            return(elementToReturn);
        }
示例#4
0
    public override void OnInspectorGUI()
    {
        TakeScreenshot baseScript = (TakeScreenshot)target;

        if (GUILayout.Button("Take Screenshot"))
        {
            var folder = Path.Combine(Application.dataPath, "Screenshots");
            if (!Directory.Exists(folder))
            {
                Directory.CreateDirectory(folder);
            }

            var path = Path.Combine(folder, "screenshot.png");
            Debug.Log(path);
            baseScript.CamCapture(path);
        }

        if (GUILayout.Button("Set Frustum To Scene Object"))
        {
            baseScript.SetFrustumToSceneObject();
        }

        if (GUILayout.Button("Evaluate Curve"))
        {
            if (baseScript.t > 1)
            {
                baseScript.t = 0;
            }

            baseScript.EvaluateCurve(baseScript.m_sceneObject, baseScript.t);
            baseScript.t += 0.025f;
        }
        DrawDefaultInspector();
    }
示例#5
0
        public void AsksForWithAbility_WhenQuestionNameIsWebBrowserQuestion_ShouldNotCallTakeScreenshotStrategy(
            [Frozen] Mock <IObserver <ScreenshotInfo> > observer,
            [Greedy] TakeScreenshot sut,
            IQuestion <object, object> question,
            IActor otherActor,
            object ability,
            object expected,
            object notExpected
            )
        {
            // arrange
            Mock.Get(question).Setup(q => q.AnsweredBy(otherActor, ability)).Returns(expected);
            Mock.Get(question).Setup(q => q.Name).Returns(TakeScreenshotOnErrorStrategy.GetWebBrowserQuestionName);
            Mock.Get(sut.Actor).Setup(a => a.AsksForWithAbility(It.IsAny <IQuestion <object, object> >())).Returns((IQuestion <object, object> a) => a.AnsweredBy(otherActor, ability));
            Mock.Get(sut.TakeScreenshotStrategy).Setup(t => t.ExecuteTakeScreenshot(ability,
                                                                                    otherActor,
                                                                                    It.IsAny <Func <object> >(),
                                                                                    sut.NextScreenshotName,
                                                                                    observer.Object))
            .Returns <object, IActor, Func <object>, Func <string>, IObserver <ScreenshotInfo> >((a, b, execute, c, d) => notExpected);
            // act
            var actual = sut.AsksForWithAbility(question);

            // assert
            Assert.Equal(expected, actual);
        }
示例#6
0
        public void TakeScreenshot()
        {
            TakeScreenshot ts = new TakeScreenshot();
            Screenshot     ss = ((ITakesScreenshot)driver).GetScreenshot();

            ss.SaveAsFile(@"C:\Users\Admin\source\repos\Bookswagon\Bookswagon\Screenshots\" + ts.TakesScreenshotWithDate() + ".png");
        }
示例#7
0
 public void GetScreenshot()
 {
     NavigationHelper.NavigateToUrl(ObjectRepository.config.GetWebsite());
     TakeScreenshot.Screenshot("rajendra.Jpeg");
     LinkHelper.ClickOnLink(By.Id("enter_bug"));
     TakeScreenshot.Screenshot("Prasad.Jpeg");
     TextBoxHelper.TypeInTextBox(By.Id("Bugzilla_login"), ObjectRepository.config.GetUsername());
     TakeScreenshot.Screenshot("Modem.Jpeg");
     TextBoxHelper.TypeInTextBox(By.Id("Bugzilla_password"), ObjectRepository.config.GetPassword());
     TakeScreenshot.Screenshot("India.Jpeg");
     //TakeScreenshot.Screenshot("rajendra.png");
 }
        public void OurStoreSearch()
        {
            TakeScreenshot ts = new TakeScreenshot();

            // our stores link
            ts.OurStoreLink();

            //ts.ScrollThroughMap();

            // taking screeshot
            ts.Screenshot();
        }
        public void TakeScreenshots_ShouldDecorateActor(
            ActorDecoratorExtensionAssertion assertion,
            [Modest] Actor actor,
            TakeScreenshot expected,
            string name)
        {
            //arrange
            //act
            var actual = ActorExtensions.TakeScreenshots(actor, expected.Directory, name).InnerActorBuilder(expected.Actor);

            //assert
            actual.Should().BeOfType <TakeScreenshot>().Which.ShouldBeEquivalentTo(expected, o => o.Excluding(t => t.NextScreenshotName));
        }
示例#10
0
        public void TakeScreenshots_NextScreenshotName_ShouldReturnCorrectValue(
            [Modest] Actor actor,
            TakeScreenshot expected,
            string expectedName,
            string directory)
        {
            //arrange
            //act
            var actual = ActorExtensions.TakeScreenshots(actor, directory, expectedName).InnerActorBuilder(expected.Actor);

            //assert
            actual.Should().BeOfType <TakeScreenshot>().Which.NextScreenshotName().Should().Be(expectedName + "_01");
        }
示例#11
0
 private void Start()
 {
     Time.timeScale     = 1;
     PlayerSword        = GameObject.FindGameObjectWithTag("Sword");
     PlayerModel        = GameObject.FindGameObjectWithTag("PlayerModel");
     screenshot         = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <TakeScreenshot>();
     rigidBody2D        = GetComponent <Rigidbody2D>();
     transform.position = GameObject.FindWithTag("Spawn").transform.position;
     Anim     = transform.Find("model").GetComponent <Animator>();
     camShake = GameObject.FindGameObjectWithTag("Effect").GetComponent <Shake>();
     gamePad  = GamePadController.GamePadOne;
     Flip(false);
 }
示例#12
0
 public void edit_account(string acc_no)
 {
     try
     {
         EditAccountLink.Click();
         AccountNo.SendKeys(acc_no);
         Submit.Click();
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         TakeScreenshot.takeScreenshotAs(driver, "edit_account");
     }
 }
示例#13
0
        public void edit_customer(string field_to_change, string add, string city, string state, string pin, string mobile, string email)
        {
            // DatabaseConnectorFixture db = new DatabaseConnectorFixture();
            // values=db.executeQuery(query);
            try
            {
                if (field_to_change.Equals("address"))
                {
                    Address.Clear();
                    Address.SendKeys(add);
                }
                if (field_to_change.Equals("city"))
                {
                    City.Clear();
                    City.SendKeys(city);
                }
                if (field_to_change.Equals("state"))
                {
                    State.Clear();
                    State.SendKeys(state);
                }
                if (field_to_change.Equals("pin"))
                {
                    PinNo.Clear();
                    PinNo.SendKeys(pin);
                }
                if (field_to_change.Equals("mobile"))
                {
                    TelephoneNo.Clear();
                    TelephoneNo.SendKeys(mobile);
                }
                if (field_to_change.Equals("email"))
                {
                    EmailId.Clear();
                    EmailId.SendKeys(email);
                }

                IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
                js.ExecuteScript("window.scrollTo(0, document.body.scrollHeight);");
                // Assert.Equal("dfdg", driver.Title);
                WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
                wait.Until(ExpectedConditions.ElementToBeClickable(Submit)).Click();
            }

            catch (Exception e)
            {
                Console.WriteLine(e);
                TakeScreenshot.takeScreenshotAs(driver, "edit_customer");
            }
        }
示例#14
0
        public void TakeScreenshots_ShouldDecorateActor(
            [Modest] Actor actor,
            TakeScreenshot expected,
            string name,
            string directory)
        {
            //arrange
            expected = new TakeScreenshot(expected.Actor, expected.NextScreenshotName, new SaveScreenshotsToFileOnNext(directory));
            //act
            var actual = ActorExtensions.TakeScreenshots(actor, directory, name).InnerActorBuilder(expected.Actor);

            //assert
            actual.Should().BeOfType <TakeScreenshot>().Which.Should().BeEquivalentTo(expected, o => o.Excluding(t => t.NextScreenshotName));
        }
 public void deleteCustomer(string id)
 {
     try {
         DeleteCustomerLink.Click();
         CustomerId.Clear();
         CustomerId.SendKeys(id);
         submit.Click();
         driver.SwitchTo().Alert().Accept();
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         TakeScreenshot.takeScreenshotAs(driver, "delete_customer");
     }
 }
示例#16
0
        public void TakeScreenshots_NextScreenshotName_WithFormat_ShouldReturnCorrectValue(
            [Modest] Actor actor,
            TakeScreenshot expected,
            string startName,
            string endName,
            string directory)
        {
            //arrange
            var expectedName = $"{startName}0001{endName}";
            //act
            var actual = ActorExtensions.TakeScreenshots(actor, directory, $"{startName}{{0:0000}}{endName}").InnerActorBuilder(expected.Actor);

            //assert
            actual.Should().BeOfType <TakeScreenshot>().Which.NextScreenshotName().Should().Be(expectedName);
        }
示例#17
0
        public void TakeScreenshots_NextScreenshotName_CalledMultipleTimes_ShouldReturnCorrectValue(
            [Modest] Actor actor,
            TakeScreenshot expected,
            string expectedName,
            string directory)
        {
            //arrange
            //act
            var actual = ActorExtensions.TakeScreenshots(actor, directory, expectedName).InnerActorBuilder(expected.Actor);
            //assert
            var func          = actual.Should().BeOfType <TakeScreenshot>().Which.NextScreenshotName;
            var expectedNames = Enumerable.Range(1, 99).Select(i => expectedName + "_" + i.ToString("00"));
            var actualNames   = Enumerable.Range(1, 99).Select(_ => func());

            actualNames.Should().BeEquivalentTo(expectedNames);
        }
示例#18
0
        public void QuestionName_ShouldReturnCorrectValue(
            TakeScreenshot sut,
            IQuestion <object> question
            )
        {
            // arrange
            string actual = "";

            Mock.Get(sut.Actor).Setup(a => a.AsksFor(It.IsAny <IQuestion <object> >()))
            .Callback((IQuestion <object> q) => actual = q.Name);
            // act
            sut.AsksFor(question);
            // assert
            var expected = question.Name;

            actual.Should().Be(expected);
        }
示例#19
0
        public void ActionName_WithAbility_ShouldReturnCorrectValue(
            TakeScreenshot sut,
            IAction <object, object> action
            )
        {
            // arrange
            string actual = "";

            Mock.Get(sut.Actor).Setup(a => a.ExecuteWithAbility(It.IsAny <IAction <object, object> >()))
            .Callback((IAction <object, object> q) => actual = q.Name);
            // act
            sut.ExecuteWithAbility(action);
            // assert
            var expected = "[Take screenshot] " + action.Name;

            actual.Should().Be(expected);
        }
示例#20
0
        public void TakeScreenshots_NextScreenshotName_WithFormatCalledMultipleTimes_ShouldReturnCorrectValue(
            [Modest] Actor actor,
            TakeScreenshot expected,
            string startName,
            string endName,
            string directory)
        {
            //arrange
            var expectedName = $"{startName}0001{endName}";
            //act
            var actual = ActorExtensions.TakeScreenshots(actor, directory, $"{startName}{{0:0000}}{endName}").InnerActorBuilder(expected.Actor);
            //assert
            var func          = actual.Should().BeOfType <TakeScreenshot>().Which.NextScreenshotName;
            var expectedNames = Enumerable.Range(1, 99).Select(i => $"{startName}{i.ToString("0000")}{endName}");
            var actualNames   = Enumerable.Range(1, 99).Select(_ => func());

            actualNames.Should().BeEquivalentTo(expectedNames);
        }
示例#21
0
 public void CloseTest()
 {
     test = extent.CreateTest(TestContext.CurrentContext.Test.Name);
     if (TestContext.CurrentContext.Result.Outcome.Status == TestStatus.Passed)
     {
         test.Log(Status.Pass, "Test Sucessful");
         test.AddScreenCaptureFromPath(TakeScreenshot.TakeScreenshotMethod(driver, "SearchLocationTestMethod"));
         test.Pass(MarkupHelper.CreateLabel(TestContext.CurrentContext.Test.Name, ExtentColor.Green));
     }
     else if (TestContext.CurrentContext.Result.Outcome.Status == TestStatus.Failed)
     {
         test.Log(Status.Fail, "Test Failed");
         test.AddScreenCaptureFromPath(TakeScreenshot.TakeScreenshotMethod(driver, "SearchLocationTestMethod"));
         test.Pass(MarkupHelper.CreateLabel(TestContext.CurrentContext.Test.Name, ExtentColor.Green));
     }
     // Closes all the connections to the extend reports
     extent.Flush();
 }
        static void Main(string[] args)
        {
            IWebDriver driver = null;

            try
            {
                List <TestParams> testParamsList = TestParamsProvider.GetParams();

                driver = new ChromeDriver();

                LoginPage loginPage = new LoginPage(driver);
                loginPage.PerformLogin(
                    TestSettingsManager.GetSetting("appUrl"),
                    TestSettingsManager.GetSetting("username"),
                    TestSettingsManager.GetSetting("password"));

                VehiclePage vehiclePage = new VehiclePage(driver);

                foreach (TestParams testParams in testParamsList)
                {
                    vehiclePage
                    .SearchForVehicle(testParams.VehicleName)
                    .ViewVehicleHistory(testParams.HistoryStartDate, testParams.HistoryEndDate);

                    Assert.IsTrue(vehiclePage.GetVehicleHistoryRecords().Count > 1);

                    TakeScreenshot.Perform(driver, testParams.VehicleName);

                    vehiclePage.ReturnToVehicleList();
                }
            }
            catch (AssertionException a)
            {
                Console.WriteLine(a.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            finally
            {
                driver.Quit();
            }
        }
 public Dictionary <string, string> registered_newAccount_data_storing_in_database()
 {
     try
     {
         registered_values.Add("acc_id", account_id.Text);
         registered_values.Add("cust_id", customer_id.Text);
         registered_values.Add("cust_name", customer_name.Text);
         registered_values.Add("cust_email", email.Text);
         registered_values.Add("cust_acc_type", acc_type.Text);
         registered_values.Add("cust_doo", date_of_open.Text);
         registered_values.Add("cust_camount", current_amount.Text);
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         TakeScreenshot.takeScreenshotAs(driver, "registered_newAccount_data_storing_in_database");
     }
     return(registered_values);
 }
示例#24
0
 public void Teardown()
 {
     try
     {
         test = extent.CreateTest(TestContext.CurrentContext.Test.Name);
         if (TestContext.CurrentContext.Result.Outcome.Status == TestStatus.Failed)
         {
             test.Log(Status.Fail, "Test Failed..");
             //taking screenshot
             test.AddScreenCaptureFromPath(TakeScreenshot.TakeSs(driver));
         }
         else if (TestContext.CurrentContext.Result.Outcome.Status == TestStatus.Passed)
         {
             test.Log(Status.Pass, "Test Successfull.."); //shows the pass status in report
         }
     }
     catch (Exception e)
     {
         throw e;
     }
 }
示例#25
0
        public void edit_account()
        {
            try
            {
                SelectElement       sel  = new SelectElement(acc_type);
                IList <IWebElement> elem = sel.Options;

                if (elem[0].Selected)
                {
                    sel.SelectByValue(elem[1].GetAttribute("value"));
                }
                if (elem[1].Selected)
                {
                    sel.SelectByValue(elem[0].GetAttribute("value"));
                }
                submit.Click();
            }catch (Exception e)
            {
                Console.WriteLine(e);
                TakeScreenshot.takeScreenshotAs(driver, "edit_account_form");
            }
        }
示例#26
0
 public void CleanUp()
 {
     try
     {
         var        screenshotPath = string.Empty;
         TestStatus status         = TestContext.CurrentContext.Result.Outcome.Status;
         if (status == TestStatus.Failed)
         {
             _takeScreenshot = new TakeScreenshot(_parallelConfig);
             screenshotPath  = _takeScreenshot.Capture(TestContext.CurrentContext.Test.Name);
         }
         ReportTestManager.FinalizeTest(_parallelConfig.Driver.Url, screenshotPath);
         _parallelConfig.Driver.Close();
         _parallelConfig.Driver.Quit();
     }
     catch
     {
         ReportTestManager.FinalizeTest();
         _parallelConfig.Driver.Close();
         _parallelConfig.Driver.Quit();
     }
 }
示例#27
0
        public void Execute_CallingWhen_ShouldCallTakeScreenshotStrategy(
            [Frozen] Mock <IObserver <ScreenshotInfo> > observer,
            [Greedy] TakeScreenshot sut,
            IAction <object> action,
            IActor otherActor,
            object expected
            )
        {
            // arrange
            Mock.Get(action).Setup(q => q.ExecuteWhenAs(otherActor)).Returns(expected);
            Mock.Get(sut.Actor).Setup(a => a.Execute(It.IsAny <IAction <object> >())).Returns((IAction <object> a) => a.ExecuteWhenAs(otherActor));
            Mock.Get(sut.TakeScreenshotStrategy).Setup(t => t.ExecuteTakeScreenshot(Unit.Default,
                                                                                    otherActor,
                                                                                    It.IsAny <Func <object> >(),
                                                                                    sut.NextScreenshotName,
                                                                                    observer.Object))
            .Returns <Unit, IActor, Func <object>, Func <string>, IObserver <ScreenshotInfo> >((a, b, execute, c, d) => execute());
            // act
            var actual = sut.Execute(action);

            // assert
            Assert.Equal(expected, actual);
        }
 public Dictionary <string, string> registered_data_storing_in_database()
 {
     // DatabaseConnectorFixture db = new DatabaseConnectorFixture();
     // values=db.executeQuery(query);
     try {
         registered_values.Add("cust_id", customer_id.Text);
         registered_values.Add("cust_name", customer_name.Text);
         registered_values.Add("cust_gender", Cust_gender.Text);
         registered_values.Add("cust_dob", DateOfBirth.Text);
         registered_values.Add("cust_add", Address.Text);
         registered_values.Add("cust_city", City.Text);
         registered_values.Add("cust_state", State.Text);
         registered_values.Add("cust_pin", PinNo.Text);
         registered_values.Add("cust_phone", TelephoneNo.Text);
         registered_values.Add("cust_email", EmailId.Text);
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         TakeScreenshot.takeScreenshotAs(driver, "registered_data_storing_in_database");
     }
     return(registered_values);
 }
示例#29
0
        public void TearDown(IWebDriver driver)
        {
            var result   = TestContext.CurrentContext.Result.Outcome.ToString();
            var testName = TestContext.CurrentContext.Test.Name;

            Logger logger = LogManager.GetLogger($"Scenario: { testName }");

            if (result == "Passed")
            {
                logger.Info("Test Passed");
            }
            else if (result == "Failed")
            {
                Console.WriteLine("it failed");
                string dirPath  = System.IO.Directory.GetCurrentDirectory();
                String format   = "dd.hh.mm.ss.ffffff";//"dd-mm-yyyy.hh.mm.tt";
                string dateTime = testName + DateTime.Now.ToString(format);
                string filePath = $"{ dirPath }\\Screenshots";
                string fileName = $"{ dateTime }";
                TakeScreenshot.SaveAs(driver, $"{ dirPath }\\Screenshots", dateTime);
                logger.Info($"Test Failed: see screenshot: { filePath + "\\" + fileName + ".Png" }");
            }
            else
            {
                logger.Info(result);
                string dirPath  = System.IO.Directory.GetCurrentDirectory();
                String format   = "dd.hh.mm.ss.ffffff";//"dd-mm-yyyy.hh.mm.tt";
                string dateTime = testName + DateTime.Now.ToString(format);
                string filePath = $"{ dirPath }\\Screenshots";
                string fileName = $"{ dateTime }";
                TakeScreenshot.SaveAs(driver, $"{ dirPath }\\Screenshots", dateTime);
                logger.Info($"Test Failed: see screenshot: { filePath + "\\" + fileName + ".Png" }");
            }
            driver.Close();
            driver.Quit();
        }
示例#30
0
 public static void element(IWebDriver driver, By id)
 {
     driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(30);
     driver.FindElement(id);
     TakeScreenshot.SaveAs(driver, "C:\\CSharpUITestProject\\UITestProject\\UITests", "testScreenshotMethod");
 }