Ejemplo n.º 1
0
        private void btnCheckBlackList_Click(object sender, EventArgs e)
        {
            Random rand    = new Random();
            String hWnd    = au3.WinGetHandle("[TITLE:VIP72 Socks Client]");
            String hwndSTR = "[HANDLE:" + hWnd.ToString() + "]";

            au3.WinSetOnTop(hwndSTR, "", 1);
            int x = au3.WinGetPosX(hwndSTR, "") + 8;
            int y = au3.WinGetPosY(hwndSTR, "") + 30;

            x += au3.ControlGetPosX(hwndSTR, "", "[ID:116]");
            y += au3.ControlGetPosY(hwndSTR, "", "[ID:116]");
            int maxRand = rand.Next(14);

            au3.MouseClick("LEFT", x + 11, y + 30);
            au3.MouseClick("RIGHT", x + 11, y + 30 + maxRand * 17);
            //au3.MouseClick("RIGHT", x + 11, y + 30 + maxRand * 20);
            //au3.ControlClick(hwndSTR, "", "[ID:116]", "left", 1, 57, 35);
            //au3.ControlClick(hwndSTR, "", "[ID:116]", "right", 1, 11,  30 + maxRand * 18);
            au3.Send("{DOWN}");
            au3.Send("{DOWN}");
            au3.Send("{DOWN}");
            au3.Send("{DOWN}");
            au3.Send("{ENTER}");
            Boolean checkNotBlackist = waitText(au3, "[ACTIVE]", "[ID:33]", "is NOT black", "is BLACKLISTED", 30);

            au3.ControlClick("[ACTIVE]", "", "[ID:99]");
            if (checkNotBlackist)
            {
                au3.MouseClick("LEFT", x + 11, y + 30 + maxRand * 17, 2);
            }

            // MessageBox.Show("Login Success: " + checkNotBlackist);
            au3.WinSetOnTop(hwndSTR, "", 0);
        }
Ejemplo n.º 2
0
        public void UploadFile(string path)
        {
            AutoItX3 autoIT = new AutoItX3();

            autoIT.ControlClick("Open", "", "Edit1");
            System.Threading.Thread.Sleep(1000);
            autoIT.Send(path);
            autoIT.ControlClick("Open", "", "Button1");
        }
Ejemplo n.º 3
0
        // Блок
        private void timer2_Tick(object sender, EventArgs e)
        {
            AutoItX3 autoIt = new AutoItX3();

            if (autoIt.WinExists("ОШИБКА") == 1)
            {
                string t   = autoIt.ControlGetText("ОШИБКА", "", "TStaticText1");
                string pos = "ПЕРЕПОЛНЕНИЕ";
                if (t.Contains(pos))
                {
                    autoIt.WinActivate("ОШИБКА");
                    autoIt.WinGetState("ОШИБКА");
                    autoIt.ControlClick("ОШИБКА", "", "[CLASS:TBitBtn; INSTANCE:1]", "main", 1);
                    autoIt.Sleep(5000);
                    autoIt.WinClose(textBox2.Text);
                    autoIt.Sleep(4000);
                    autoIt.WinActivate("ЗАВЕРШЕНИЕ РАБОТЫ");
                    autoIt.WinGetState("ЗАВЕРШЕНИЕ РАБОТЫ");
                    autoIt.Sleep(2000);
                    autoIt.ControlClick("ЗАВЕРШЕНИЕ РАБОТЫ", "", "[CLASS:Button; INSTANCE:1]", "main", 1);
                    autoIt.Sleep(Convert.ToInt16(textBox5.Text));
                    autoIt.Run(textBox1.Text);
                    autoIt.Sleep(7000);
                    autoIt.WinActivate("ВЫБОР БИБЛИОТЕК");
                    autoIt.WinGetState("ВЫБОР БИБЛИОТЕК");
                    autoIt.Sleep(3000);
                    //Выбор библиотеки поцвету пикселя начало
                    object   coord      = autoIt.PixelSearch(0, 0, Screen.GetWorkingArea(this).Width, Screen.GetWorkingArea(this).Height, Convert.ToInt32(Convert.ToString(textBox3.Text), 16));//edit texbox3 hex
                    object[] pixelcoord = (object[])coord;
                    autoIt.MouseClick("Left", (int)pixelcoord[0], (int)pixelcoord[1], 1, 10);
                    //Выбор библиотеки поцвету пикселя конец
                    autoIt.Sleep(Convert.ToInt16(textBox6.Text));
                    //Запуск PostWin поцвету пикселя начало
                    autoIt.WinActivate(textBox2.Text);
                    autoIt.WinGetState(textBox2.Text);
                    autoIt.Sleep(2000);
                    object   coord1      = autoIt.PixelSearch(0, 0, Screen.GetWorkingArea(this).Width, Screen.GetWorkingArea(this).Height, Convert.ToInt32(Convert.ToString(textBox4.Text), 16));//edit textbox4 hex
                    object[] pixelcoord1 = (object[])coord1;
                    autoIt.MouseClick("Left", (int)pixelcoord1[0], (int)pixelcoord1[1], 1, 10);
                    //Запуск PostWin поцвету пикселя конец
                    autoIt.Sleep(2000);
                    //*** Запись лога
                    string date = DateTime.Now.ToString("dd MMMM yyyy,HH:mm:ss");
                    System.IO.StreamWriter writer = new System.IO.StreamWriter("slib.dll", true);
                    writer.WriteLine(date);
                    writer.Close();
                    //*** Запись лога конец
                }
                else
                {
                    timer2.Interval = 1;  // Выбираем из массива случайное значение для таймера
                }
            }
        }
Ejemplo n.º 4
0
        public Boolean UploadFiles()
        {
            IList <IWebElement> subList = rdriver.FindElements(By.XPath("//ul[@class='mc-tertiary-list secondary-action-menu']//li"));
            int length = subList.Count;

            for (int i = 0; i <= length; i++)
            {
                string actionMenu = rdriver.FindElement(By.XPath("//div[@id='pagelet-2']//li[1]")).Text;
                if (actionMenu == "Upload files")
                {
                    rdriver.FindElement(By.XPath("//div[@id='pagelet-2']//li[1]")).Click();
                    break;
                }
            }

            //Selecting the file from the desktop path
            Thread.Sleep(5000);
            auto.WinActivate("Open");
            auto.ControlFocus("Open", "", "Edit1");
            string path = ConfigurationManager.AppSettings["Path"];

            auto.ControlSetText("Open", "", "Edit1", path);
            auto.ControlClick("Open", "", "Button1");
            Thread.Sleep(2000);
            auto.ControlFocus("Open", "", "DirectUIHWND2");
            SendKeys.SendWait("^(a)");
            Thread.Sleep(2000);
            string[] fileList = Directory.GetFiles(path);

            List <string> fileNameList = new List <string>();

            for (int i = 0; i < fileList.Length; i++)
            {
                fileNameList.Add(Path.GetFileName(fileList[i]));
            }

            string[] fileNameArray = fileNameList.ToArray();
            auto.ControlClick("Open", "", "Button1");
            Thread.Sleep(20000);
            IList <IWebElement> totalFiles = rdriver.FindElements(By.XPath("//tbody[@class='mc-table-body mc-table-body-culled']//tr"));
            int filesCount = totalFiles.Count;

            // Console.WriteLine(filesCount);
            for (int j = 1; j <= filesCount; j++)
            {
                string fileName = rdriver.FindElement(By.XPath("//tr[" + (j) + "]//td[2]")).Text;
                Console.WriteLine(fileName);
                if (!fileNameArray.Contains(fileName))
                {
                    return(false);
                }
            }
            return(true);
        }
Ejemplo n.º 5
0
 public void ClickNewJobButton(string windowNewOrderEntry, string windowOrderLog)
 {
     _Au3Lib.WinActivate(windowNewOrderEntry);
     _Au3Lib.WinWaitActive(windowNewOrderEntry);
     _Au3Lib.ControlClick(windowNewOrderEntry, "", "[NAME:btnNewJob]");
     _Au3Lib.WinWaitActive(windowOrderLog);
     _Au3Lib.Sleep(250);
 }
Ejemplo n.º 6
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            //GeckoPreferences.User["network.proxy.type"] = 1;
            //GeckoPreferences.User["network.proxy.socks"] = "127.0.0.1";
            //GeckoPreferences.User["network.proxy.socks_port"] = 9951;
            //GeckoPreferences.User["network.proxy.socks_version"] = 5;
            // GeckoPreferences.User["network.proxy.socks_remote_dns"] = true;
            // GeckoPreferences.User["media.peerconnection.enabled"] = false;
            //GeckoPreferences.User["network.http.max-connections"] = 32;
            //GeckoPreferences.User["network.http.max-persistent-connections-per-proxy"] = 16;
            AutoItX3 au3   = new AutoItX3();
            int      hwnd1 = au3.Run(@"C:\Users\longthanh\Downloads\Compressed\vip72socks\vip72socks.exe");

            au3.WinWaitActive("[TITLE:VIP72 Socks Client]", "", 10);
            String hWnd    = au3.WinGetHandle("[TITLE:VIP72 Socks Client]");
            String hwndSTR = "[HANDLE:" + hWnd.ToString() + "]";
            // int hWnd = au3.WinWait("[TITLE:VIP72 Socks Client]", "", 10);
            int tmp = au3.ControlClick(hwndSTR, "", "[ID:119]");

            waitText(au3, hwndSTR, "[ID:131]", "System ready", "ERROR", 30);
            //click select country
            au3.ControlClick(hwndSTR, "", "[ID:7811]");
            waitText(au3, hwndSTR, "[ID:131]", "Total proxies online", "ERROR", 30);
            //click Country
            au3.ControlClick(hwndSTR, "", "[ID:7809]", "left", 2, 11, 58);

            //click select Region
            au3.ControlClick(hwndSTR, "", "[ID:7813]");
            System.Threading.Thread.Sleep(2000);
            //click Region
            au3.ControlClick(hwndSTR, "", "[ID:7809]", "left", 2, 11, 50);
            //click search
            au3.ControlClick(hwndSTR, "", "[ID:127]");
            waitText(au3, hwndSTR, "[ID:131]", new String[] { "Only", "Ok" }, "ERROR", 30);
            au3.ControlClick(hwndSTR, "", "[ID:116]", "right", 1, 57, 35);
            au3.ControlSend(hwndSTR, "", "[ID:116]", "{DOWN}");
            au3.ControlSend(hwndSTR, "", "[ID:116]", "{ENTER}");
            System.Threading.Thread.Sleep(10);
            String s = Clipboard.GetText();

            au3.ControlClick(hwndSTR, "", "[ID:116]", "right", 1, 57, 35);
            System.Threading.Thread.Sleep(1);
            au3.ControlSend(hwndSTR, "", "[ID:116]", "{DOWN}");
            au3.ControlSend(hwndSTR, "", "[ID:116]", "{DOWN}");
            au3.ControlSend(hwndSTR, "", "[ID:116]", "{DOWN}");
            au3.ControlSend(hwndSTR, "", "[ID:116]", "{DOWN}");
            au3.ControlSend(hwndSTR, "", "[ID:116]", "{ENTER}");
            Boolean checkNotBlackist = waitText(au3, "[ACTIVE]", "[ID:33]", "is NOT black", "is BLACKLISTED", 30);

            au3.ControlClick("[ACTIVE]", "", "[ID:99]");
            MessageBox.Show("Login Success: " + s + " " + checkNotBlackist);
            // webBrowser1.Navigate("youtube.com");
        }
Ejemplo n.º 7
0
 public void Stop()
 {
     aux.ControlClick(WINTITLE, "", "WindowsForms10.BUTTON.app.0.2c908d510");//параметры -окно кнопка и идентификатор кнопки
     aux.WinWait(WINTITLE);
     aux.WinActivate(WINTITLE);
     aux.WinWaitActive(WINTITLE);
 }
        public void OpenImageFromLocalFileSystem()
        {
            //Navigates the browser to given URL
            driver.Navigate().GoToUrl("https://images.google.com/");

            string fullFilePath = @"C:\AutomationImages\Actual.jpg";

            Console.WriteLine("Open File: " + fullFilePath);

            IWebElement searchByImageButton = driver.FindElement(By.XPath("//span[@id='qbi']"));

            searchByImageButton.Click();
            IWebElement searchByImageWindow = driver.FindElement(By.XPath("//div[@id='qbp']"));

            IWebElement tabUploadImage = searchByImageWindow.FindElement(By.XPath("//div[@Class='qbtbha sl']"));

            tabUploadImage.Click();

            IWebElement btnChoosefile = searchByImageWindow.FindElement(By.XPath("//input[@id='qbfile']"));

            btnChoosefile.Click();
            System.Threading.Thread.Sleep(2000);

            AutoItX3 autoIT = new AutoItX3();

            autoIT.WinWait("Open");
            autoIT.WinActivate("Open");
            autoIT.ControlFocus("Open", "", "[CLASS:Edit]");
            autoIT.ControlSetText("Open", "", "[CLASS:Edit]", fullFilePath);
            //autoIT.Send(@"Actual.jpg");
            autoIT.ControlClick("Open", "", "[CLASS:Button; Text: Open]");
        }
 // Остановка приложения с помощью команды ControlClick()
 public void Stop()
 {
     // 1 параметр: Название окна, в котором находится кнопка,
     // 2 параметр: Уточняющий параметр - текст кнопки (необязательный),
     // 3 параметр: Идентификатор кнопки - локатор.
     aux.ControlClick(WINTITLE, "", "WindowsForms10.BUTTON.app.0.2c908d510");
 }
Ejemplo n.º 10
0
 public void Stop()
 {
     //название окна
     //необяз - название кнопки
     //локатор кнопки
     aux.ControlClick(WINTITLE, "", "WindowsForms10.BUTTON.app.0.2c908d510");
 }
Ejemplo n.º 11
0
        public static void UploadFile(string FilePath)
        {
            AutoItX3 AutoIT = new AutoItX3();

            AutoIT.WinWaitActive("Open", "", 1500);
            AutoIT.ControlFocus("Open", "", "Edit1");
            AutoIT.ControlSetText("Open", "", "Edit1", FilePath);
            AutoIT.ControlClick("Open", "", "Button1");
        }
Ejemplo n.º 12
0
        private void clearProxy_Click(object sender, EventArgs e)
        {
            System.Threading.Thread.Sleep(3000);
            AutoItX3 au3  = new AutoItX3();
            String   hWnd = au3.WinGetHandle("[TITLE:VIP72 Socks Client]");

            au3.MouseMove(0, 0);
            String hwndSTR = "[HANDLE:" + hWnd.ToString() + "]";

            au3.WinSetOnTop(hwndSTR, "", 1);
            au3.ControlClick(hwndSTR, "", "[ID:7303]");
            au3.ControlClick(hwndSTR, "", "[ID:117]", "menu", 1, 57, 35);
            //System.Threading.Thread.Sleep(2000);
            au3.ControlSend(hwndSTR, "", "[ID:117]", "{DOWN}"); System.Threading.Thread.Sleep(2000);
            //au3.ControlSend(hwndSTR, "", "[ID:117]", "{DOWN}"); System.Threading.Thread.Sleep(2000);
            //au3.ControlSend(hwndSTR, "", "[ID:117]", "{DOWN}"); System.Threading.Thread.Sleep(2000);
            //au3.ControlSend(hwndSTR, "", "[ID:117]", "{DOWN}"); System.Threading.Thread.Sleep(2000);
            //au3.ControlSend(hwndSTR, "", "[ID:117]", "{DOWN}"); System.Threading.Thread.Sleep(2000);
            //au3.ControlSend(hwndSTR, "", "[ID:117]", "{DOWN}"); System.Threading.Thread.Sleep(2000);
            //au3.ControlSend(hwndSTR, "", "[ID:117]", "{ENTER}"); System.Threading.Thread.Sleep(2000);
        }
Ejemplo n.º 13
0
 private void buttonAppServer_Click(object sender, EventArgs e)
 {
     try
     {
         System.Diagnostics.Process.Start("CMD.exe", "/C mstsc");
         AutoItX3 a = new AutoItX3();
         a.WinWaitActive("Remote Desktop Connection");
         a.ControlSend("Remote Desktop Connection", "", "[CLASS:Edit; INSTANCE:1]", "{LSHIFT}" + appserver.Text.ToString() + ".usmlvv1d0a.smshsc.net");
         a.ControlClick("Remote Desktop Connection", "", "[CLASS:Button; INSTANCE:5]");
     }
     catch (Exception e3)
     {
         buttonAppServer.Text = "Try Again";
     }
 }
Ejemplo n.º 14
0
        public static void AddAutoReplyVoice(string video)
        {
            PortalChromeDriver.ClickElementPerXpath(FollowedAutoReplyElement.tabvoice);
            PortalChromeDriver.ClickElementPerXpath(FollowedAutoReplyElement.autoreply_content);
            Thread.Sleep(2 * 1000);
            AutoItX3 au3 = new AutoItX3();

            PortalChromeDriver.Wait(TimeSpan.FromSeconds(10));
            au3.ControlFocus("Open", "", "Edit1");
            au3.ControlSetText("Open", "", "Edit1", @"D:\Test case\Test case\测试素材\Test AMR\" + video);
            PortalChromeDriver.Wait(TimeSpan.FromSeconds(2));
            au3.ControlClick("Open", "", "Button1");
            PortalChromeDriver.Wait(TimeSpan.FromSeconds(5));

            PortalChromeDriver.ClickElementPerXpath(FollowedAutoReplyElement.Bottom_Save);
        }
Ejemplo n.º 15
0
        public static void AddAutoReplyImage(string image)
        {
            PortalChromeDriver.ClickElementPerXpath(FollowedAutoReplyElement.tabimage);
            PortalChromeDriver.ClickElementPerXpath(FollowedAutoReplyElement.autoreply_content);
            AutoItX3 au3 = new AutoItX3();

            PortalChromeDriver.Wait(TimeSpan.FromSeconds(10));
            au3.ControlFocus("Open", "", "Edit1");
            au3.ControlSetText("Open", "", "Edit1", @"C:\Users\v-haxun\Desktop\Image\" + image);
            PortalChromeDriver.Wait(TimeSpan.FromSeconds(2));
            au3.ControlClick("Open", "", "Button1");
            PortalChromeDriver.Wait(TimeSpan.FromSeconds(5));

            PortalChromeDriver.ClickElementPerXpath(FollowedAutoReplyElement.Bottom_Save);
            //Thread.Sleep(2 * 1000);
        }
Ejemplo n.º 16
0
 public static void SendImage()
 {
     try
     {
         PortalChromeDriver.GetElementByXpath(HIPortalPageUIElement.addimg_hidden_input).Click();
         AutoItX3 au3 = new AutoItX3();
         PortalChromeDriver.Wait(TimeSpan.FromSeconds(10));
         au3.ControlFocus("Open", "", "Edit1");
         au3.ControlSetText("Open", "", "Edit1", @"C:\Users\v-haxun\Desktop\Test.png");
         PortalChromeDriver.Wait(TimeSpan.FromSeconds(2));
         au3.ControlClick("Open", "", "Button1");
         PortalChromeDriver.Wait(TimeSpan.FromSeconds(5));
     }
     catch (Exception e)
     {
     }
 }
Ejemplo n.º 17
0
            public void TC_WorkSamplesUpload()
            {
                GlobalDefinitions.ExcelLib.PopulateInCollection(Base.ExcelPath, "ShareSkill");
                test = extent.StartTest("Uploading File Test");
                // create an object for serviceLIsting page

                ServiceListing skillObj = new ServiceListing();

                //click on the share skill button
                skillObj.ShareSkillBtnClick();

                //enter all the details from the excel
                Thread.Sleep(2000);
                string title = GlobalDefinitions.ExcelLib.ReadData(3, "Title");
                string desc  = GlobalDefinitions.ExcelLib.ReadData(3, "Description");

                skillObj.inputTitleDescription(title, desc);

                //work samples file upload
                skillObj.WorkSamplesUploadClick();

                //AutoIt - Handles windows that do not belong to browser

                AutoItX3 autoIt = new AutoItX3();

                autoIt.WinActivate("Open"); //Activate - so that the next set of actions happen on this window
                Thread.Sleep(2000);
                autoIt.Send(@"C:\Users\sudha\Desktop\FileUploadTest.docx");
                Thread.Sleep(2000);
                //  autoIt.Send("{ENTER}");
                // autoIt.MouseClick("Button1",0,0, 1, 0);
                autoIt.ControlClick("Open", "", "Button1");

                //Check whether document uploaded property or not
                if (skillObj.IsWorkSamplesDocUpload())
                {
                    Base.test.Log(LogStatus.Pass, "Document uploaded successfully using AutoIt");
                    Assert.True(true);
                }
                else
                {
                    test.Log(LogStatus.Fail, "Document not uploaded");
                    Assert.Fail();
                }
            }
Ejemplo n.º 18
0
        private void Configure(string appTitle, string Text,
                               string cntrlWinAuth, string cntrlSQLAuth,
                               string cntrlUser, string textUser,
                               string cntrlPass, string textPass,
                               string cntrlLicense, string textlicense,
                               string cntrlBackup, string textBackup,
                               string btnControl)
        {
            _robot.WinActivate(appTitle);
            // _robot.ControlFocus(appTitle, Text, cntrlSQLAuth);
            _robot.ControlSetText(appTitle, Text, cntrlUser, textUser);
            _robot.ControlSetText(appTitle, Text, cntrlPass, textPass);
            _robot.ControlSetText(appTitle, Text, cntrlLicense, textlicense);
            _robot.ControlSetText(appTitle, Text, cntrlBackup, textBackup);

            _robot.ControlFocus(appTitle, Text, btnControl);
            _robot.ControlClick(appTitle, Text, btnControl, "LEFT", 1);
        }
Ejemplo n.º 19
0
 static void UploadLanesTemplate()
 {
     try
     {
         WebDriverWait wait    = new WebDriverWait(webDriver, TimeSpan.FromSeconds(10));
         IWebElement   element = wait.ValidateControl("uploadBtn");
         element.Click();
         Thread.Sleep(1000);
         AutoItX3 autoIt = new AutoItX3();
         autoIt.ControlFocus("Open", "", "Edit1");
         Thread.Sleep(1000);
         autoIt.ControlSetText("Open", "", "Edit1", requestTemplatePath + fileName);
         Thread.Sleep(1000);
         autoIt.ControlClick("Open", "", "Button1");
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Ejemplo n.º 20
0
        public static void AddMenu_Image()
        {
            try
            {
                PortalChromeDriver.ClickElementPerXpath(MenuElement.Send_Message);
                PortalChromeDriver.ClickElementPerXpath(MenuElement.tabImage);
                PortalChromeDriver.ClickElementPerXpath(MenuElement.ImageChoose);

                AutoItX3 au3 = new AutoItX3();
                PortalChromeDriver.Wait(TimeSpan.FromSeconds(10));
                au3.ControlFocus("Open", "", "Edit1");
                au3.ControlSetText("Open", "", "Edit1", @"C:\Users\v-haxun\Desktop\Image\efwe.jpg");
                PortalChromeDriver.Wait(TimeSpan.FromSeconds(2));
                au3.ControlClick("Open", "", "Button1");
                PortalChromeDriver.Wait(TimeSpan.FromSeconds(5));
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Ejemplo n.º 21
0
        /// <summary>
        /// Upload image on server
        /// </summary>
        /// <param name="imagePath">Path to the file</param>
        /// <param name="millisecondsUploadTimeout">Amount of time will wait for upload file before failing a request</param>
        public void UploadImageFile(string imagePath, int millisecondsUploadTimeout)
        {
            btnChooseFiles.WaitUntilVisible(2000);

            int oldCountUploadedFiles = divUploadedFiles.FindElements(By.ClassName("file-name")).Count;

            btnChooseFiles.Click();

            AutoItX3 autoIt = new AutoItX3();

            if (autoIt.WinWait(TitleOpenFileDialog) == 0)
            {
                throw new NullReferenceException("OpenFileDialog can not be found.");
            }
            autoIt.ControlFocus(TitleOpenFileDialog, "", "Edit1");
            autoIt.Sleep(500);
            autoIt.ControlSetText(TitleOpenFileDialog, "", "Edit1", imagePath);
            autoIt.ControlClick(TitleOpenFileDialog, "", "Button1");
            int newCountUploadedFiles = 0;

            for (int i = 0; (i < millisecondsUploadTimeout) && (newCountUploadedFiles <= oldCountUploadedFiles); i += 500)
            {
                System.Threading.Thread.Sleep(500);
                newCountUploadedFiles = divUploadedFiles.FindElements(By.ClassName("file-name")).Count;
            }

            string info = "Upload: " + DateTime.Now.ToString() + " - " + Path.GetFileName(imagePath) + "\n";

            if (oldCountUploadedFiles == newCountUploadedFiles)
            {
                throw new ErrorUploadImagesException("Error loading: " + info);
            }

            txtAdditionalRemarks.SendKeys(info);
            btnSave.Click();
        }
Ejemplo n.º 22
0
 public void Stop()
 {
     aux.Sleep(1000);
     aux.ControlClick(WINTITLE, "&Exit", "WindowsForms10.BUTTON.app.0.2c908d510");
     //   aux.ControlClick(WINTITLE, "&Exit", "");
 }
 public void Stop()
 {
     autx.ControlClick(winTitle, "", "WindowsForms10.BUTTON.app.0.2c908d510");
 }
Ejemplo n.º 24
0
        public void DoUpload(string Filepath)
        {
            driver.Navigate().GoToUrl(baseURL + "/v/upload");
            try
            {
                Thread.Sleep(1000);
                if (driver.FindElement(By.ClassName("uploadHot")) != null)
                {
                    loginflag = true;
                }
            }
            catch
            {

            }
            while (!loginflag)
            {
                try
                {
                    Thread.Sleep(1000);
                    driver.FindElement(By.Id("user_name_login")).Clear();
                    driver.FindElement(By.Id("user_name_login")).SendKeys("*****@*****.**");
                    driver.FindElement(By.Id("passwd_login")).Clear();
                    driver.FindElement(By.Id("passwd_login")).SendKeys("613866");
                    break;
                }
                catch (Exception ex)
                {
                    Console.WriteLine("当前捕捉失败,继续扫描,错误消息为" + ex.Message);
                }
            }

            if (!loginflag)
            {
                Console.WriteLine("登陆完成后请敲回车:enter");
                Console.ReadLine();
                driver.Navigate().GoToUrl(baseURL + "/v/upload");
            }

            IWebElement approve = driver.FindElement(By.ClassName("uploadHot"));

            new Thread(() =>
            {

                //while (true)
                //{
                    try
                    {
                        //if (fileupflag) break;
                        Thread.Sleep(1000);
                        var Autoit = new AutoItX3();
                        const string widowTitle = "[Class:#32770]";
                        Autoit.WinWait(widowTitle, "", 1);
                        Autoit.WinActivate(widowTitle);
                        Autoit.ControlFocus("[Class:#32770]", "", "[CLASS:Edit; INSTANCE:1]");
                        Autoit.Send(Filepath);
                        Autoit.Sleep(100);
                        Autoit.ControlClick("[Class:#32770]", "Open(O)", "Cancel");
                        Autoit.Sleep(100);
                        Autoit.Send("!O");
                        Autoit.Send("{ENTER}", 0);
                        //Thread.CurrentThread.Abort();

                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("当前捕捉失败,继续扫描,错误消息为" + ex.Message);
                    }
                //}
                //System.Diagnostics.ProcessStartInfo ImgstartInfo = new System.Diagnostics.ProcessStartInfo("fileup.exe");
                //ImgstartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                //System.Diagnostics.Process.Start(ImgstartInfo);
            }

                ).Start();

            approve.Click();
            fileupflag = true;

            Thread.Sleep(2000);

            driver.FindElement(By.Name("memo")).Clear();
            driver.FindElement(By.Name("memo")).SendKeys("qqq");
            driver.FindElement(By.CssSelector("div.meta-cate.upOriginal  > span")).Click();
            Thread.Sleep(1000);
            driver.FindElement(By.LinkText("其他")).Click();
            Thread.Sleep(1000);
            driver.FindElement(By.CssSelector("input.input-mini.meta-tags")).Clear();
            driver.FindElement(By.CssSelector("input.input-mini.meta-tags")).SendKeys("qq");
            Thread.Sleep(2000);
            driver.FindElement(By.CssSelector("span.form_btn_text")).Click();
            Thread.Sleep(2000);
        }
Ejemplo n.º 25
0
        internal void EditListing()
        {
            Thread.Sleep(1000);
            //Populate the Excel Sheet ShareSkill
            GlobalDefinitions.ExcelLib.PopulateInCollection(@"C:\Users\JIJI\source\repos\marsframework-master\MarsFramework\ExcelData\TestDataShareSkill.xlsx", "ShareSkill");
            int counts = 0;

            counts = Global.GlobalDefinitions.Driver.FindElements(By.XPath("/html/body/div/div/div/div[2]/div[1]/div[1]/table/tbody/tr")).Count;
            int check = 0;

            if (counts != 0)
            {
                for (var i = 1; i <= counts; i++)
                {
                    IWebElement Title = Global.GlobalDefinitions.Driver.FindElement(By.XPath("/html/body/div/div/div/div[2]/div[1]/div[1]/table/tbody/tr[" + i + "]/td[3]"));
                    IWebElement desc  = Global.GlobalDefinitions.Driver.FindElement(By.XPath("/html/body/div/div/div/div[2]/div[1]/div[1]/table/tbody/tr[" + i + "]/td[4]"));

                    if (Title.Text == GlobalDefinitions.ExcelLib.ReadData(2, "Title") && desc.Text == GlobalDefinitions.ExcelLib.ReadData(2, "Description"))
                    {
                        Global.GlobalDefinitions.Driver.FindElement(By.XPath("/html/body/div/div/div/div[2]/div[1]/div[1]/table/tbody/tr[1]/td[8]/div/button[2]/i")).Click();
                        Thread.Sleep(1500);
                        //Populate the Excel Sheet
                        GlobalDefinitions.ExcelLib.PopulateInCollection(@"C:\Users\JIJI\source\repos\marsframework-master\MarsFramework\ExcelData\TestDataManageListings.xlsx", "EditManageListings");
                        //Update Title
                        Global.GlobalDefinitions.Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[1]/div/div[2]/div/div[1]/input")).SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Title"));
                        //Update Description
                        Global.GlobalDefinitions.Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[2]/div/div[2]/div[1]/textarea")).SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Description"));
                        //Enter Category
                        Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[3]/div[2]/div/div/select")).Click();
                        Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[3]/div[2]/div/div/select/option[7]")).Click();
                        Driver.FindElement(By.XPath("/ html / body / div / div / div[1] / div[2] / div / form / div[3] / div[2] / div / div[2] / div[1] / select")).Click();
                        Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[3]/div[2]/div/div[2]/div[1]/select/option[5]")).Click();
                        //Enter Tags
                        Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[4]/div[2]/div/div/div/div/input")).SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Tags"));
                        Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[4]/div[2]/div/div/div/div/input")).SendKeys(Keys.Enter);
                        //Enter ServiceType
                        String Service = GlobalDefinitions.ExcelLib.ReadData(2, "ServiceType");
                        if (Service == "One-off service")
                        {
                            Driver.FindElement(By.XPath("/ html / body / div / div / div[1] / div[2] / div / form / div[5] / div[2] / div[1] / div[2] / div / input")).Click();
                        }
                        else
                        {
                            Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[5]/div[2]/div[1]/div[1]/div/input")).Click();
                        }
                        //Enter LocationType
                        String LocationType = GlobalDefinitions.ExcelLib.ReadData(2, "LocationType");
                        if (LocationType == "On-site")
                        {
                            Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[6]/div[2]/div/div[1]/div/input")).Click();
                        }
                        else
                        {
                            Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[6]/div[2]/div/div[2]/div/input")).Click();
                        }

                        //Enter SkillTrade
                        string SkillTrade = GlobalDefinitions.ExcelLib.ReadData(2, "SkillTrade");
                        if (SkillTrade == "Skill-Exchange")
                        {
                            Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[8]/div[2]/div/div[1]/div/label")).Click();
                        }
                        else
                        {
                            Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[8]/div[2]/div/div[2]/div/label")).Click();
                        }
                        //Enter Skill-Exchange
                        Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[8]/div[4]/div/div/div/div/div/input")).SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Skill-Exchange"));
                        Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[8]/div[4]/div/div/div/div/div/input")).SendKeys(Keys.Enter);
                        //Enter Credit
                        if (Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[8]/div[4]/div/div/div/div/div/input")).Text == "Credit")
                        {
                            Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[8]/div[4]/div/div/input")).SendKeys(GlobalDefinitions.ExcelLib.ReadData(2, "Credit"));
                        }
                        ////Work Sample
                        Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[9]/div/div[2]/section/div/label/div/span/i")).Click();
                        AutoItX3 autoit = new AutoItX3();
                        autoit.WinActivate("Open");
                        Thread.Sleep(1500);
                        autoit.ControlSetText("Open", "", "Edit1", StrSendText);
                        autoit.ControlClick("Open", "", "Button1");


                        //Enter Active
                        string Active = GlobalDefinitions.ExcelLib.ReadData(2, "Active");
                        if (Active == "Active")
                        {
                            Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[10]/div[2]/div/div[1]/div/input")).Click();
                        }
                        else
                        {
                            Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[10]/div[2]/div/div[2]/div/input")).Click();
                        }
                        //Click on save
                        Driver.FindElement(By.XPath("/html/body/div/div/div[1]/div[2]/div/form/div[11]/div/input[1]")).Click();
                        Thread.Sleep(1500);
                        manageListingsLink.Click();

                        check++;
                        return;
                    }
                }
                return;
            }
        }
Ejemplo n.º 26
0
        public static bool EditPowerPoint2013File()
        {
            OpenDocument(true);

            if (autoit.WinWaitActive("Sample AV metrics - PowerPoint", "", 20) == 1)
            {
                Thread.Sleep(2000);
                autoit.ControlClick("Sample AV metrics - PowerPoint", "", "NetUIHWND1", "LEFT", 1, 182, 71);
                Thread.Sleep(500);
                autoit.ControlSend("Sample AV metrics - PowerPoint", "", "mdiClass1", "Adding this line from PPT 2013 Desktop Client At: " + DateTime.Now);
                Thread.Sleep(2000);
                return(true);
            }

            else
            {
                Console.WriteLine("Unable to Find PPT doc to edit");
                return(false);
            }
        }
Ejemplo n.º 27
0
 public void Stop()
 {
     aux.ControlClick(WINTITLE, "", "WindowsForms10.BUTTON.app.0.1114f8110");
 }
Ejemplo n.º 28
0
        public void upLoad()
        {
            //Thread.Sleep(3000);
            //driver.FindElement(By.CssSelector("a.menuBtn_upload")).Click();
            //driver.FindElement(By.CssSelector("#a-pw_add > span.icontxt")).Click();
            //Thread.Sleep(1000);
            //Thread x = new Thread(new ThreadStart(Upload_File));
            //x.Start();
            //Thread.Sleep(1000);
            //driver.FindElement(By.CssSelector("table.table-pw_next a.btn_upload")).Click();
            //Thread.Sleep(2000);

            ////如果进度元素不是显示100,那么继续上传
            //if (driver.FindElement(By.XPath("//[@id='efaf3e61-c983-4dc3-9622-436d51d5a88c']/sapn[3]")).Text.Contains()!=100)
            //{

            //}

            //下载
            Thread.Sleep(1000);
            //driver.FindElement(By.XPath("//ul[@id='commandList']/li/table/tbody/tr/td/div/span")).Click();
            ////driver.FindElement(By.CssSelector("div.fileCommand span.MixiTai_Checkbox")).Click();
            ////driver.FindElement(By.XPath("//ul[@id='commandList']/li[1]/table/tbody/tr/td[2]/div/table/tbody/tr[2]/td/span")).Click();
            //driver.FindElement(By.XPath("(//input[@value='Open'])")).Click();
            ////driver.FindElement(By.CssSelector("a.option_Open")).Click();
            //Thread.Sleep(100);
            ////driver.FindElement(By.CssSelector("div.fileCommand span.MixiTai_Checkbox")).Click();
            //driver.FindElement(By.XPath("//ul[@id='commandList']/li/table/tbody/tr/td/div/span")).Click();
            //Thread.Sleep(100);
            //driver.FindElement(By.XPath("(//input[@value='Open'])")).Click();
            ////driver.FindElement(By.CssSelector("a.menuBtn_return > span.icontxt")).Click();
            //driver.FindElement(By.XPath("//ul[@id='commandList']/li[2]/table/tbody/tr/td[2]/div/table/tbody/tr[2]/td/span")).Click();
            //driver.FindElement(By.XPath("(//input[@value='Open'])[2]")).Click();
            //driver.FindElement(By.CssSelector("a.menuBtn_downLoad > span.icontxt")).Click();
            //driver.FindElement(By.CssSelector("a.menuBtn_downLoad > span.icontxt")).Click();
            //driver.FindElement(By.XPath("//div[@id='FilesView']/div[3]/a/span")).Click();

            var openFolderTableElement =
                driver.FindElement(
                    By.CssSelector("table[data-name='Angkor']"));

            var mouseOverAction = new OpenQA.Selenium.Interactions.Actions(driver);
            mouseOverAction.MoveToElement(openFolderTableElement);
            //notice: Actions必须要执行perform
            mouseOverAction.Perform();
            openFolderTableElement.FindElement(By.CssSelector("div.menuBtn a.option_Open")).Click();

            Thread.Sleep(1000);
            var openFileTableElement =
                driver.FindElement(
                    By.CssSelector("table[data-name='AppCertKitArmSetup.exe']"));

            var mouseOverAction1 = new OpenQA.Selenium.Interactions.Actions(driver);
            mouseOverAction1.MoveToElement(openFileTableElement);
            //notice: Actions必须要执行perform
            mouseOverAction1.Perform();
            openFileTableElement.FindElement(By.CssSelector("div.menuBtn a.option_Open")).Click();
            //driver.FindElement(By.LinkText("Download File")).Click();
            driver.FindElement(By.CssSelector("a.menuBtn_downLoad")).Click();
            Thread.Sleep(1000);
            var auto = new AutoItX3();
            //auto.Send("{BROWSE}");
            //Thread.Sleep(1000);

            //auto.Send("{TAB}");
            //auto.Send("{TAB}");
            //auto.Send("{ENTER}");
            Thread.Sleep(1000);
            const string widowTitle = "[Class:#32770]";
            auto.ControlFocus(widowTitle, "Choose Download Folder:", "[CLASS:Edit; INSTANCE:1]");
            auto.Send(@"C:");
            auto.ControlClick(widowTitle, "Choose Download Folder", "[CLASS:Button; INSTANCE:1]");
            auto.Send("{ENTER}");
            Thread.Sleep(5000);

            //driver.FindElement(By.LinkText("退出")).Click();
        }
Ejemplo n.º 29
0
        public void DoUpload(string Filepath)
        {
            driver.Navigate().GoToUrl(baseURL + "/v/upload");
            try
            {
                Thread.Sleep(1000);
                if (driver.FindElement(By.ClassName("uploadHot")) != null)
                {
                    loginflag = true;
                }
            }
            catch
            {
            }
            while (!loginflag)
            {
                try
                {
                    Thread.Sleep(1000);
                    driver.FindElement(By.Id("user_name_login")).Clear();
                    driver.FindElement(By.Id("user_name_login")).SendKeys("*****@*****.**");
                    driver.FindElement(By.Id("passwd_login")).Clear();
                    driver.FindElement(By.Id("passwd_login")).SendKeys("613866");
                    break;
                }
                catch (Exception ex)
                {
                    Console.WriteLine("当前捕捉失败,继续扫描,错误消息为" + ex.Message);
                }
            }

            if (!loginflag)
            {
                Console.WriteLine("登陆完成后请敲回车:enter");
                Console.ReadLine();
                driver.Navigate().GoToUrl(baseURL + "/v/upload");
            }



            IWebElement approve = driver.FindElement(By.ClassName("uploadHot"));

            new Thread(() =>
            {
                //while (true)
                //{
                try
                {
                    //if (fileupflag) break;
                    Thread.Sleep(1000);
                    var Autoit = new AutoItX3();
                    const string widowTitle = "[Class:#32770]";
                    Autoit.WinWait(widowTitle, "", 1);
                    Autoit.WinActivate(widowTitle);
                    Autoit.ControlFocus("[Class:#32770]", "", "[CLASS:Edit; INSTANCE:1]");
                    Autoit.Send(Filepath);
                    Autoit.Sleep(100);
                    Autoit.ControlClick("[Class:#32770]", "Open(O)", "Cancel");
                    Autoit.Sleep(100);
                    Autoit.Send("!O");
                    Autoit.Send("{ENTER}", 0);
                    //Thread.CurrentThread.Abort();
                }
                catch (Exception ex)
                {
                    Console.WriteLine("当前捕捉失败,继续扫描,错误消息为" + ex.Message);
                }
                //}
                //System.Diagnostics.ProcessStartInfo ImgstartInfo = new System.Diagnostics.ProcessStartInfo("fileup.exe");
                //ImgstartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                //System.Diagnostics.Process.Start(ImgstartInfo);
            }


                       ).Start();

            approve.Click();
            fileupflag = true;

            Thread.Sleep(2000);

            driver.FindElement(By.Name("memo")).Clear();
            driver.FindElement(By.Name("memo")).SendKeys("qqq");
            driver.FindElement(By.CssSelector("div.meta-cate.upOriginal  > span")).Click();
            Thread.Sleep(1000);
            driver.FindElement(By.LinkText("其他")).Click();
            Thread.Sleep(1000);
            driver.FindElement(By.CssSelector("input.input-mini.meta-tags")).Clear();
            driver.FindElement(By.CssSelector("input.input-mini.meta-tags")).SendKeys("qq");
            Thread.Sleep(2000);
            driver.FindElement(By.CssSelector("span.form_btn_text")).Click();
            Thread.Sleep(2000);
        }
Ejemplo n.º 30
0
 public void Stop()
 {
     aux.ControlClick(WINTITLE, "", "WindowsForms10.BUTTON.app.0.2c908d510"); //1 название окна, 2 текст кнопки, 3 идентификатор кнопки (локатор)
 }
Ejemplo n.º 31
0
 public void clickRight(string title, int numclick, int X, int Y)
 {
     auto.ControlClick(title, "", "", "right", numclick, X, Y);
 }
 public void Stop()
 {
     aux.ControlClick("WINTITLE", "", "WindowsForms10.BUTTON.app.0.62e44910");
 }
Ejemplo n.º 33
0
        ///  <summary>
        /// This method will call action from Driver Class. 
        ///  </summary>
        ///  <param name="action">Step action to perfrom by driver</param>
        ///  <param name="parent=">Parent Object</param>
        /// <param name="parent"></param>
        /// <param name="child">Test object on which operation to be perform</param>
        ///  <param name="data">Test Data</param>
        ///  <param name="modifier"></param>
        ///  <returns></returns>
        public void Do(string action, string parent = null, string child = null, string data = null, string modifier = "")
        {
            _snapShotOption = Property.SnapshotOption.ToLower();
            //check for locator directly in test case.
            try
            {
                if (child != null && child.Contains("="))
                {
                    string how = child.Split('=')[0].ToLower().Trim();
                    string what = child.Replace(child.Split('=')[0] + "=", string.Empty);
                    ObjDataRow[KryptonConstants.HOW] = how;
                    ObjDataRow[KryptonConstants.WHAT] = what.Trim();
                    ObjDataRow[KryptonConstants.LOGICAL_NAME] = string.Empty;
                    ObjDataRow[KryptonConstants.OBJ_TYPE] = string.Empty;
                    ObjDataRow[KryptonConstants.MAPPING] = string.Empty;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            _stepAction = action;
            _testObject = child;
            _testData = data;
            //parse modifier
            modifier = modifier.ToLower().Trim();
            int i = 1;
            _keywordDic.Clear();//clearing previous keyword.

            string browserDimension = null; //browser dimensions
            for (int v = 0; ; v++)
            {
                if (modifier.Contains("{"))
                {
                    var stindex = modifier.IndexOf("{", StringComparison.Ordinal);
                    modifier = modifier.Remove(stindex, 1);
                    var endindex = modifier.IndexOf("}", StringComparison.Ordinal);
                    string keyVariable = modifier.Substring(stindex, (endindex - stindex));
                    if (keyVariable.ToLower().Contains("windowsize") || keyVariable.ToLower().Contains("window"))
                        browserDimension = keyVariable;
                    _keywordDic.Add(i, keyVariable);
                    i++;
                    stindex = modifier.IndexOf("}", StringComparison.Ordinal);
                    modifier = modifier.Remove(stindex, 1);
                }
                else
                {
                    break;
                }
            }

            if (_keywordDic.ContainsValue("nowait"))
                Property.NoWait = true;
            else
                Property.NoWait = false;

            string stepStatus = string.Empty;
            bool verification = true;

            Utility.DriverKeydic = null;
            Utility.DriverKeydic = _keywordDic;

            // Initializing Step Description to empty, this will allow individual cases to write description
            if (!modifier.Contains("recovery"))   // Consume last Step Description during recovery.
                Property.StepDescription = string.Empty;
            #region  Simplifying the parameters before passed to Actual actions.
            string[] dataContent = null;
            string contentFirst = string.Empty;
            string contentSecond = string.Empty;
            string contentThird = string.Empty;
            string contentFourth = string.Empty;
            string contentFifth = string.Empty;

            if (data != null)
            {
                dataContent = data.Split(Property.Seprator);
                switch (dataContent.Length)
                {
                    case 1:
                        contentFirst = dataContent[0];
                        break;
                    case 2:
                        contentFirst = dataContent[0];
                        contentSecond = dataContent[1];
                        break;
                    case 3:
                        contentFirst = dataContent[0];
                        contentSecond = dataContent[1];
                        contentThird = dataContent[2];
                        break;
                    case 4:
                        contentFirst = dataContent[0];
                        contentSecond = dataContent[1];
                        contentThird = dataContent[2];
                        contentFourth = dataContent[3];
                        break;
                    case 5:
                        contentFirst = dataContent[0];
                        contentSecond = dataContent[1];
                        contentThird = dataContent[2];
                        contentFourth = dataContent[3];
                        contentFifth = dataContent[4];
                        break;
                }
                contentFirst = Utility.ReplaceSpecialCharactersInString(contentFirst.Trim());
                contentSecond = Utility.ReplaceSpecialCharactersInString(contentSecond.Trim());
                contentThird = Utility.ReplaceSpecialCharactersInString(contentThird.Trim());
                contentFourth = Utility.ReplaceSpecialCharactersInString(contentFourth.Trim());
                contentFifth = Utility.ReplaceSpecialCharactersInString(contentFifth.Trim());
            }
            #endregion
            try
            {
                _objBrowser.SetObjDataRow(ObjDataRow);
                _objTestObject.SetObjDataRow(ObjDataRow, _stepAction);
                _objHandler = new DialogHandler();
                switch (_stepAction.ToLower())
                {
                    case "waitforpage":
                        _objTestObject.WaitForPage(contentFirst);
                        break;
                    //action are performed accoding to below action steps.
                    #region Action-> settestmode
                    case "settestmode":
                        // Assuming page object is given and Mode is paased as a data field. 
                        Property.NoWait = true;
                        string testModeVariable = Property.TestMode;
                        if (!string.IsNullOrWhiteSpace(contentSecond))
                        {
                            testModeVariable = Property.TestMode + "[" + contentFirst + "]";
                        }

                        //Update test mode only if object could be located
                        if (_objTestObject.VerifyObjectPresent())
                        {
                            Utility.SetVariable(testModeVariable, contentSecond.ToLower().Trim());
                        }

                        //Display test mode on console if debug mode is true
                        if (Utility.GetParameter("debugmode").ToLower().Equals("true"))
                            Property.Remarks = "Current Execution Test Mode =" + "'" + Utility.GetVariable(testModeVariable) + "'";
                        break;
                    #endregion
                    #region Action-> ShutDownDriver
                    case "shutdowndriver":
                        _objBrowser.Shutdown();
                        break;
                    #endregion
                    //Delete all internet temporery file.
                    #region Action-> ClearBrowserCache
                    case "clearbrowsercache":
                        Property.StepDescription = "Clear Browser Cache";
                        BrowserManager.Browser.ClearCache();
                        break;
                    #endregion
                    //Close most recent tab of browser associated with driver. 
                    #region Action-> CloseBrowser
                    case "closebrowser":
                        Property.StepDescription = "Close Browser";
                        _objBrowser.CloseBrowser();
                        break;
                    #endregion
                    //Close All Browsers
                    #region Action-> CloseAllBrowsers
                    case "closeallbrowsers":
                        if (Utility.GetParameter(Property.BrowserString).ToLower() != "android" && Utility.GetParameter(Property.BrowserString).ToLower() != "iphone" && Utility.GetParameter(Property.BrowserString).ToLower() != "selendroid")
                        {
                            Property.StepDescription = "Close all opened browsers.";
                            _objBrowser.CloseAllBrowser();
                        }
                        break;
                    #endregion
                    //Fire specified event on test object, eg.Click event.  
                    #region Action-> FireEvent
                    case "fireevent":
                        Property.NoWait = true;
                        Property.StepDescription = "Fire '" + contentFirst + "' event on " + _testObject;
                        _objTestObject.FireEvent(contentFirst);
                        break;
                    #endregion
                    //Start new instance of driver and open browser with specified url 
                    #region Action->OpenBrowser
                    case "openbrowser":
                        string browserName = Utility.GetParameter(Property.BrowserString).ToLower();
                        bool deleteCookie = !modifier.ToLower().Contains("keepcookies");
                        Property.StepDescription = "Open a new browser and navigate to url '" + contentFirst;
                        string remoteUrl = Property.RemoteUrl;
                        string isRemoteExecution = Property.IsRemoteExecution;
                        string profilePath = string.Empty;
                        // firefoxProfilePath parameter determines whether to use Firefox Profile or not.
                        switch (browserName)
                        {
                            case KryptonConstants.BROWSER_CHROME: profilePath = Utility.GetVariable("ChromeProfilePath");
                                break;
                            case KryptonConstants.BROWSER_FIREFOX: profilePath = Utility.GetVariable("FirefoxProfilePath");
                                break;
                            default: break;
                        }

                        //addonsPath parameter determines whether to load firefox addons or not.
                        string addonsPath = Utility.GetParameter("AddonsPath");

                        if (contentFirst.Equals(string.Empty))
                        {
                            contentFirst = Property.ApplicationUrl;
                        }

                        Exception openBrowserEx = null;
                        try
                        {

                            _objBrowser = Browser.OpenBrowser(browserName, deleteCookie, contentFirst,
                                                                        isRemoteExecution, remoteUrl, profilePath,
                                                                        addonsPath, _datasetRecoverPopup, _datasetRecoverBrowser, _datasetOr, browserDimension);
                        }
                        catch (Exception ex)
                        {
                            openBrowserEx = ex;
                            if (Property.IsRemoteExecution.ToLower().Equals("true"))
                                throw ex;

                        }

                        _objTestObject = new Driver.TestObject(Utility.GetParameter("ObjectTimeout"));
                        _objRecovery = new Driver.RecoveryScenarios(_datasetRecoverPopup, _datasetRecoverBrowser, _datasetOr, _objTestObject);

                        #region  Region containing JavaScript to maximize window and get Browser version string.
                        string browserVer;
                        Utility.SetVariable("BrowserVersion", BrowserVersion);
                        try
                        {
                            browserVer = _objTestObject.ExecuteStatement("return navigator.userAgent;");
                        }
                        catch (Exception)
                        {
                            throw openBrowserEx;
                        }
                        if (!browserVer.Equals(string.Empty))
                        {
                            switch (browserName.ToLower())
                            {
                                case KryptonConstants.BROWSER_FIREFOX:
                                    browserVer = browserVer.Substring(browserVer.IndexOf("Firefox/", StringComparison.Ordinal) + 8);
                                    if (browserVer.IndexOf('.') != browserVer.LastIndexOf('.'))
                                        browserVer = browserVer.Split('.')[0] + '.' + browserVer.Split('.')[1];
                                    BrowserVersion = browserVer;
                                    break;
                                case "ie":
                                case "iexplore":
                                case "internetexplorer":
                                case "internet explorer":
                                    BrowserVersion = browserVer.Substring(browserVer.IndexOf("MSIE ", StringComparison.Ordinal) + 5).Split(';')[0];
                                    string keyName = null;
                                    // Read the system registry to get the IE version in case tests are running locally
                                    if (!Utility.GetParameter("RunRemoteExecution").Equals("true", StringComparison.OrdinalIgnoreCase))
                                    {
                                        keyName = @"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer";
                                        BrowserVersion = (string)Registry.GetValue(keyName, "svcVersion", "key not found in Registry");
                                        if (BrowserVersion.Equals("key not found in Registry"))
                                        {
                                            BrowserVersion = (string)Registry.GetValue(keyName, "Version", "key not found in Registry");
                                            if (BrowserVersion.Equals("key not found in Registry")) // chek if version key is also not available in registry.
                                            {
                                                BrowserVersion = string.Empty;
                                            }
                                            else
                                                BrowserVersion = BrowserVersion.Split('.')[0] + "." + BrowserVersion.Split('.')[1];
                                        }
                                        else
                                        {
                                            BrowserVersion = BrowserVersion.Split('.')[0] + "." + BrowserVersion.Split('.')[1];
                                        }
                                    }
                                    break;
                                case KryptonConstants.BROWSER_CHROME:

                                    browserVer = browserVer.Substring(browserVer.IndexOf("Chrome/", StringComparison.Ordinal) + 7).Split(' ')[0];
                                    if (browserVer.IndexOf('.') != browserVer.LastIndexOf('.'))
                                        browserVer = browserVer.Split('.')[0] + '.' + browserVer.Split('.')[1];
                                    BrowserVersion = browserVer;
                                    break;
                                case KryptonConstants.BROWSER_OPERA:
                                    if (browserVer.Contains("Version/"))
                                        browserVer = browserVer.Substring(browserVer.IndexOf("Version/", StringComparison.Ordinal) + 8);
                                    else
                                        browserVer = browserVer.Substring(browserVer.IndexOf("Opera", StringComparison.Ordinal) + 6).Split(' ')[0];
                                    if (browserVer.IndexOf('.') != browserVer.LastIndexOf('.'))
                                        browserVer = browserVer.Split('.')[0] + '.' + browserVer.Split('.')[1];
                                    BrowserVersion = browserVer;
                                    break;
                                case KryptonConstants.BROWSER_SAFARI:
                                    browserVer = browserVer.Substring(browserVer.IndexOf("Version/", StringComparison.Ordinal) + 8).Split(' ')[0];
                                    if (browserVer.IndexOf('.') != browserVer.LastIndexOf('.'))
                                        browserVer = browserVer.Split('.')[0] + '.' + browserVer.Split('.')[1];
                                    BrowserVersion = browserVer;
                                    break;
                            }
                        }
                        #endregion

                        Utility.SetVariable("BrowserVersion", BrowserVersion);

                        _objBrowser.SetObjDataRow(ObjDataRow);
                        Utility.SetVariable(Property.BrowserVersion, BrowserVersion);
                        break;
                    #endregion
                    //Navigate to back on current web page
                    #region Action->GoBack
                    case "goback":
                        _objBrowser.GoBack();
                        Property.StepDescription = "Go backwards in the browser";
                        break;
                    #endregion
                    //Navigate to forward on current web page. :
                    #region Action->GoForward
                    case "goforward":
                        Property.StepDescription = "Go forward in the browser";
                        _objBrowser.GoForward();
                        break;
                    #endregion
                    //Refresh current web page. :
                    #region Action->RefreshBrowser
                    case "refreshbrowser":
                        Property.StepDescription = "Refresh browser";
                        _objBrowser.Refresh();
                        break;
                    #endregion
                    case "switchtorecentbrowser":
                    case "switchtonewbrowser":
                        Property.StepDescription = "Set focus to most recently opened window";
                        _objBrowser.SetBrowserFocus();
                        break;

                    //Navigate to new specified url in current web page.
                    #region Action->NavigateURL
                    case "navigateurl":
                        Property.StepDescription = "Navigate to url '" + contentFirst + "' in currently opened browser";
                        if (!contentFirst.StartsWith(@"http://"))
                            contentFirst = @"http://" + contentFirst;
                        _objBrowser.NavigationUrl(contentFirst);
                        break;
                    #endregion
                    //Clear existing data from test object. 
                    case "clear":
                    case "cleartext":
                        Property.StepDescription = "Clear object '" + _testObject + "'";
                        _objTestObject.ClearText();
                        break;
                    //Check radio button and check box.
                    case "check":
                        Property.StepDescription = "Check '" + contentFirst + "' checkbox '" + _testObject + "'";
                        _objTestObject.Check(contentFirst);
                        break;
                    //Uncheck radio button and check box. :
                    case "uncheck":
                        Property.StepDescription = "Uncheck checkbox '" + _testObject + "'";
                        _objTestObject.UnCheck();
                        break;
                    case "checkmultiple":
                        Property.StepDescription = "Check multiple checkboxes of '" + _testObject + "'";
                        _objTestObject.CheckMultiple(dataContent);
                        break;
                    case "uncheckmultiple":
                        Property.StepDescription = "Uncheck multiple checkboxes of '" + _testObject + "'";
                        string[] dataC = data.Split(Property.Seprator);
                        _objTestObject.UncheckMultiple(dataC);
                        break;
                    case "swipeobject":
                        Property.StepDescription = "swipe object in " + contentFirst + " direction " + _testObject;
                        Utility.SetVariable(_testObject, contentFirst);
                        break;
                    //Perform click action on associated test object. :
                    #region Action->Click
                    case "click":
                        Property.StepDescription = "Click on '" + _testObject + "'";

                        DateTime dtbefore = new DateTime();
                        if (ObjDataRow.ContainsKey(KryptonConstants.OBJ_TYPE) && ObjDataRow[KryptonConstants.OBJ_TYPE].ToLower().Contains("winbutton"))
                        {

                            dtbefore = DateTime.Now;
                            if (ObjDataRow.ContainsKey(KryptonConstants.OBJ_TYPE) && ObjDataRow[KryptonConstants.OBJ_TYPE].ToLower().Contains("winbutton") && Property.IsRemoteExecution.ToLower().Equals("true"))
                            {
                                // do nothing
                            }
                            else
                            {
                                var autoit = new AutoItX3();
                                string[] windowDetail = Regex.Split(ObjDataRow[KryptonConstants.WHAT], "//");

                                autoit.WinActivate(windowDetail[0], string.Empty);

                                autoit.ControlClick(windowDetail[0], string.Empty, windowDetail[1]);
                            }
                        }
                        else
                        {
                            _objTestObject.Click(_keywordDic, data);
                        }
                        break;

                    #endregion
                    case "doubleclick":
                        Property.StepDescription = "Double click on '" + _testObject + "'";
                        _objTestObject.DoubleClick();
                        break;
        #endregion
                    //Enter unique data in test object. 
                    #region Action-> EnterUniqueData
                    case "enteruniquedata":
                        Property.StepDescription = "Enter unique string of " + contentFirst + " characters in " + _testObject;
                        int length = Convert.ToInt16(contentFirst);
                        //passing length value if mentioned in test case.
                        string strUnique = Utility.GenerateUniqueString(length);
                        Utility.SetVariable(_testObject, strUnique);
                        _objTestObject.SendKeys(strUnique);
                        break;
                    #endregion
                    //Enter specified data in test object. :
                    case "enterdata":
                    case "type":

                    #region Action->TypeString
                    case "typestring":
                        if (contentFirst.Equals("ON", StringComparison.CurrentCultureIgnoreCase))
                            _stepAction = "Check";
                        if (contentFirst.Equals("OFF", StringComparison.CurrentCultureIgnoreCase))
                            _stepAction = "Unchek";

                        Property.StepDescription = "Enter text " + contentFirst + " in " + _testObject;

                        Utility.SetVariable(_testObject, contentFirst);//implicitely set key/Value to runtimedic dictionary before enter any data.
                        if (ObjDataRow.ContainsKey(KryptonConstants.OBJ_TYPE) && ObjDataRow[KryptonConstants.OBJ_TYPE].ToLower().Equals("winedit"))
                        {
                            if (ObjDataRow.ContainsKey(KryptonConstants.OBJ_TYPE) && ObjDataRow[KryptonConstants.OBJ_TYPE].ToLower().Contains("winedit") && Property.IsRemoteExecution.ToLower().Equals("true"))
                            {
                                UploadFileOnRemote oUploadFileOnRemote = new UploadFileOnRemote(Utility.GetParameter("browser"), Property.RemoteMachineIP, contentFirst.Trim());
                                oUploadFileOnRemote.UploadFileWithAutoIt();
                            }
                            else
                                _objHandler.EnterdataInDialog(contentFirst);
                        }
                        else
                        {
                            _objTestObject.SendKeys(contentFirst);
                        }
                        break;
                    #endregion
                    #region Action->UploadFileOnRemote
#if(DEBUG)  //used unly for dev testing purpose

                    case "uploadfileonremote":
                        if (Property.IsRemoteExecution.ToLower().Equals("true"))
                        {
                            Property.StepDescription = "Upload file " + contentFirst;
                            UploadFileOnRemote oUploadFileOnRemote = new UploadFileOnRemote(Utility.GetParameter("browser"), Property.RemoteMachineIP, contentFirst);
                            oUploadFileOnRemote.UploadFileWithAutoIt();
                        }
                        break;
#endif
                    #endregion
                    //Press non alphabetic key.
                    #region Action->KeyPress
                    case "keypress":
                        Property.StepDescription = "Press key " + contentFirst + " on " + _testObject;
                        _objTestObject.KeyPress(contentFirst);
                        break;
                    #endregion
                    //Adding submit in case this helps when clicks are missing.
                    #region Action->Submit
                    case "submit":
                        Property.StepDescription = "Submit " + _testObject;
                        _objTestObject.Submit();
                        break;
                    #endregion
                    //Perform wait action for specified time duration.
                    case "pause":
                    #region Action->Wait
                    case "wait":
                        Property.StepDescription = "Pause execution for " + contentFirst + " seconds";
                        browserName = Utility.GetParameter(Property.BrowserString).ToLower();
                        _objBrowser.Wait(contentFirst);
                        break;
                    #endregion
                    //Select option form List. 
                    #region Action->SelectItem
                    case "selectitem":
                        Property.StepDescription = "Select '" + contentFirst + "' from " + _testObject;
                        Utility.SetVariable(_testObject, contentFirst);
                        _objTestObject.SelectItem(dataContent);
                        break;
                    #endregion
                    //Select multiple options form List.
                    case "selectmultipleitems":
                    case "selectmultipleitem":
                    #region Action->SelectItems
                    case "selectitems":
                        Property.StepDescription = "Select multiple items '" + data + "' from " + _testObject;
                        Utility.SetVariable(_testObject, data);
                        _objTestObject.SelectItem(dataContent, true);
                        break;
                    #endregion
                    //Select option from List on the besis of index. 
                    #region Action-> SelectItemByIndex
                    case "selectitembyindex":
                        Property.StepDescription = "Select " + contentFirst + "th item from " + _testObject;
                        string optionValue = _objTestObject.SelectItemByIndex(contentFirst);
                        Utility.SetVariable(_testObject, optionValue);
                        break;
                    #endregion
                    //Wait for a specified condition to be happened on test object. 
                    #region Action->WaitForObject
                    case "waitforobject":
                        Property.StepDescription = "Wait until " + _testObject + " becomes available";
                        string actualwaitTime = _objTestObject.WaitForObject(contentFirst, _globalTimeout, _keywordDic, modifier.ToLower());
                        break;
                    #endregion
                    //Wait for a specified condition to be happened on test object. 
                    #region Action->WaitForObjectNotPresent
                    case "waitforobjectnotpresent":
                        Property.StepDescription = "Wait until " + _testObject + " disappears";
                        _objTestObject.WaitForObjectNotPresent(contentFirst, _globalTimeout, _keywordDic);
                        break;
                    #endregion
                    //Wait for specified property to enable. :
                    #region Action->WaitForProperty
                    case "waitforproperty":
                        Property.StepDescription = "Wait for " + _testObject + " to achieve value '" + contentSecond +
                                                    "' for '" + contentFirst + "' property";
                        _objTestObject.WaitForObjectProperty(contentFirst, contentSecond, _globalTimeout, _keywordDic);
                        break;
                    #endregion
                    //Accept alert :
                    #region Action->AcceptAlert
                    case "acceptalert":
                        Property.StepDescription = "Accept alert";
                        _objBrowser.AlertAccept();
                        break;
                    #endregion
                    #region Action->DismissAlert
                    case "dismissalert":
                        _objBrowser.AlertDismiss();
                        break;
                    #endregion
                    //Verify text on alert page. :
                    #region Action->VerifyAlertText
                    case "verifyalerttext":
                        Property.StepDescription = "Verify alert contains text '" + contentFirst + "'";
                        verification = _objBrowser.VerifyAlertText(contentFirst, _keywordDic);
                        break;
                    #endregion
                    //Get value of specified property of test object. :
                    case "getattribute":
                    #region Action->GetObjectProperty
                    case "getobjectproperty":
                        string property = contentFirst.Trim();
                        string propertyVariable = _testObject + "." + property;
                        if (!contentSecond.Equals(String.Empty))
                            propertyVariable = contentSecond.Trim();
                        string propertyValue = _objTestObject.GetObjectProperty(property);
                        Utility.SetVariable(propertyVariable, propertyValue);
                        break;
                    #endregion
                    //set property present in DOM
                    #region Action->SetAttribute
                    case "setattribute":

                        property = contentFirst.Trim();
                        propertyValue = contentSecond.Trim();
                        _objTestObject.SetAttribute(property, propertyValue);
                        break;
                    #endregion
                    //Get value of specified property of current web page. :

                    #region Action->GetPageProperty
                    case "getpageproperty":
                        propertyValue = _objBrowser.GetPageProperty(contentFirst.Trim());
                        propertyVariable = parent + "." + contentFirst.Trim();
                        if (!contentSecond.Equals(String.Empty))
                            propertyVariable = contentSecond.Trim();
                        Utility.SetVariable(propertyVariable, propertyValue);
                        break;
                    #endregion
                    //Verify that specified text is present on current web page or test object. :                    
                    case "verifytextcontained":
                    #region Action->VerifyTextPresent
                    case "verifytextpresent":
                        //- In case of text on page, Dictionary will be empty ie- count= 0.
                        if (ObjDataRow.Count == 0)
                        {
                            verification = _objBrowser.VerifyTextPresentOnPage(contentFirst, _keywordDic);
                        }
                        else
                        {
                            verification = _objTestObject.VerifyObjectProperty("text", contentFirst, _keywordDic);
                        }
                        break;
                    #endregion
                    //Verify that specified text is present on current web page or test object. :

                    case "verifytextnotcontained":
                    #region Action->VerifyTextNotPresent
                    case "verifytextnotpresent":

                        if (ObjDataRow[KryptonConstants.HOW].Equals(string.Empty) || ObjDataRow[KryptonConstants.WHAT].Equals(string.Empty) || ObjDataRow[KryptonConstants.HOW] == null || ObjDataRow[KryptonConstants.WHAT] == null || ObjDataRow[KryptonConstants.HOW].ToLower().Equals("url"))
                        {
                            verification = !_objBrowser.VerifyTextPresentOnPage(contentFirst, _keywordDic);
                        }
                        else
                        {
                            verification = _objTestObject.VerifyObjectPropertyNot("text", contentFirst, _keywordDic);
                        }
                        break;
                    #endregion
                    //Verify that specified text is present on current web page. :
                    #region Action->VerifyTextOnPage
                    case "verifytextonpage":
                        verification = _objBrowser.VerifyTextPresentOnPage(contentFirst, _keywordDic);
                        if (verification)
                            Property.StepDescription = "The Text : " + contentFirst + " was present on the page";
                        else
                            Property.StepDescription = "The Text : " + contentFirst + " was NOT present on the page";
                        break;
                    #endregion
                    //Verify that specified text is not present on current web page. :
                    #region Action-> VerifyTextNotOnPage
                    case "verifytextnotonpage":
                        verification = !_objBrowser.VerifyTextPresentOnPage(contentFirst, _keywordDic);
                        if (verification)
                        {
                            stepStatus = ExecutionStatus.Pass;
                            Property.Remarks = "Text  : \"" + contentFirst + "\" is not found on current Page.";
                        }
                        else
                        {
                            stepStatus = ExecutionStatus.Fail;
                            Property.Remarks = "Text  : \"" + contentFirst + "\" is found on current Page.";
                        }
                        break;
                    #endregion
                    //Verify that List option is persent in focused List. :
                    case "verifylistitempresent":
                        verification = _objTestObject.VerifyListItemPresent(contentFirst);
                        break;
                    //Verify that List option is not persent in focused List. :
                    case "verifylistitemnotpresent":
                        verification = _objTestObject.VerifyListItemNotPresent(contentFirst);
                        break;
                    //Verify that specified test object is present on current web page. :
                    #region Action->VerifyObjectPresent
                    case "verifyobjectpresent":
                        verification = _objTestObject.VerifyObjectPresent();
                        break;
                    #endregion
                    //Verify that specified test object is present on current web page. :
                    case "verifyobjectnotpresent":
                        verification = _objTestObject.VerifyObjectNotPresent();
                        break;
                    //Verify test object property. :
                    #region Action-> VerifyObjectProperty
                    case "verifyobjectproperty":
                        property = contentFirst.Trim();
                        propertyValue = contentSecond.Trim();
                        verification = _objTestObject.VerifyObjectProperty(property, propertyValue, _keywordDic);

                        break;
                    #endregion
                    //Verify test object property not present. :
                    #region Action-> VerifyObjectNotPresent
                    case "verifyobjectpropertynot":
                        property = contentFirst.Trim();
                        propertyValue = contentSecond.Trim();
                        verification = _objTestObject.VerifyObjectPropertyNot(property, propertyValue, _keywordDic);
                        break;
                    #endregion
                    //Verify current web page property. :
                    #region Action->VerifyPageProperty
                    case "verifypageproperty":
                        property = _testData.Substring(0, _testData.IndexOf('|')).Trim();
                        propertyValue = _testData.Substring(_testData.IndexOf('|') + 1).Trim();
                        // Replace special characters after trimming off white spaces.
                        property = Utility.ReplaceSpecialCharactersInString(property);
                        propertyValue = Utility.ReplaceSpecialCharactersInString(propertyValue);
                        verification = _objBrowser.VerifyPageProperty(property, propertyValue, _keywordDic);
                        break;
                    #endregion
                    //Verify that specified text is present in web page view source. :
                    #region Action-> VerifyTextInPageSource
                    case "verifytextinpagesource":
                        verification = _objBrowser.VerifyTextInPageSource(contentFirst, _keywordDic);
                        break;
                    #endregion
                    //Verify specified text not in webpage view-source. 
                    #region Action->VerifyTextNotPageSource
                    case "verifytextnotinpagesource":
                        verification = !_objBrowser.VerifyTextInPageSource(contentFirst, _keywordDic);
                        break;
                    #endregion
                    //Verify that current web page is display properly.
                    case "verifypagedisplayed":
                        verification = _objBrowser.VerifyPageDisplayed(_keywordDic);
                        break;
                    //Synchronize object with specified condition.
                    case "syncobject":
                        _objTestObject.WaitForObject(contentFirst, _globalTimeout, _keywordDic, modifier);
                        break;
                    //Verify that object is dispaly properly.
                    case "verifyobjectdisplayed":
                        verification = _objTestObject.VerifyObjectDisplayed();
                        break;
                    //Execute specified script language.    
                    #region Action->ExecuteStatement | ExecuteScript
                    case "executescript":
                    case "executestatement":
                        Property.NoWait = true;
                        string scriptResult = _objTestObject.ExecuteStatement(contentFirst);
                        if (scriptResult.ToLower().Equals("false"))
                            verification = false;
                        else if (!scriptResult.ToLower().Equals("true"))
                            Utility.SetVariable(_testObject, scriptResult);
                        break;
                    #endregion
                    //Retrieve all numbers from text.
                    case "getnumberfromtext":
                        Utility.GetNumberFromText(contentFirst);
                        break;
                    #region Action->SetVariable
                    case "setvariable":
                        string varName = contentFirst.Trim();
                        string varValue = contentSecond.Trim();
                        //ReplaceVariablesInString will find value from $variable
                        varValue = Utility.ReplaceVariablesInString(varValue);
                        Property.StepDescription = "Store " + varValue + " to variable named " + varName;
                        //set variable
                        Utility.SetVariable(varName, varValue);

                        verification = true; //should this step need to be captured in the log file as pass/fail?

                        break;
                    #endregion
                    #region Action->SetParameter
                    case "setparameter":

                        string varName1 = contentFirst.Trim();
                        string varValue1 = contentSecond.Trim();

                        //ReplaceVariablesInString will find value from $variable
                        varValue = Utility.ReplaceVariablesInString(varValue1);
                        Property.StepDescription = "Store " + varValue1 + " to variable named " + varName1;

                        //set parameter
                        Utility.SetParameter(varName1, varValue1);

                        //set variable
                        Utility.SetVariable(varName1, varValue1);

                        verification = true;

                        break;
                    #endregion
                    case "getdatafromdatabase":
                        verification = DBRelatedMethods.GetDataFromDatabase(contentFirst, child);
                        _verificationMessage = Property.Remarks;
                        break;
                    #region Action-> GetUserTesting
                    case "getuserfortesting": //it will work same as method "GetDataFromDatabase". If GetUserForTesting returns false, test case execution will be stopped.
                        try
                        {
                            verification = DBRelatedMethods.GetDataFromDatabase(contentFirst, child);
                            _verificationMessage = Property.Remarks;

                            //Try once again in case this fails
                            if (verification == false)
                            {
                                verification = DBRelatedMethods.GetDataFromDatabase(contentFirst, child);
                                _verificationMessage = Property.Remarks;
                            }

                            if (verification == false) Property.EndExecutionFlag = true;
                        }
                        catch
                        {
                            Property.EndExecutionFlag = true;
                        }
                        break;
                    #endregion
                    case "executedatabasequery":
                        verification = DBRelatedMethods.ExecuteDatabaseQuery(contentFirst, child);
                        _verificationMessage = Property.Remarks;
                        break;
                    case "verifydatabase":
                        verification = DBRelatedMethods.VerifyDatabase(contentFirst, child);
                        _verificationMessage = Property.Remarks;
                        break;
                    #region Action->RequestWebService
                    case "requestwebservice":
                        string requestHeader = Utility.ReplaceVariablesInString(Utility.GetVariable("[TD]Header"));
                        string responseFormat = Utility.ReplaceVariablesInString(Utility.GetVariable("[TD]Format"));
                        string requestMethod = Utility.ReplaceVariablesInString(Utility.GetVariable("[TD]Method"));
                        string requestUrl = Utility.ReplaceVariablesInString(Utility.GetVariable("[TD]ServiceURL"));
                        string requestBody = Utility.ReplaceVariablesInString(Utility.GetVariable("[TD]Body"));

                        Property.StepDescription = "Request web service using method '" + requestMethod + "' and url '" + requestUrl + "'.";
                        verification = WebAPI.RequestWebService(requestHeader, responseFormat, requestMethod, requestUrl, requestBody);
                        _verificationMessage = Property.Remarks;
                        break;
                    #endregion
                    case "downloadfile":
                    case "filedownload":
                    #region Action->Download
                    case "download":
                        Property.StepDescription = "Download file from url: " + contentFirst;
                        verification = WebAPI.DownloadFile(contentFirst, contentSecond);
                        _verificationMessage = Property.Remarks;
                        break;
                    #endregion
                    #region Action-> FTPFileUpload
                    case "ftpfileupload":
                        Property.StepDescription = "Upload file: " + contentFourth + "to ftp server: " + contentFirst;

                        string hostName = contentFirst;
                        string userName = contentSecond;
                        string password = contentThird;
                        string filePath = contentFourth;
                        string uploadedFileName = contentFifth;

                        string url = string.Empty;

                        if (String.IsNullOrEmpty(uploadedFileName))
                        {
                            url = "ftp://" + hostName + "/" + Path.GetFileName(filePath);
                        }
                        else
                        {
                            url = "ftp://" + hostName + "/" + uploadedFileName;
                        }

                        Uri uploadUrl = new Uri(url);

                        verification = WebAPI.UploadFiletoFtp(filePath, uploadUrl, userName, password);
                        _verificationMessage = Property.Remarks;
                        break;
                    #endregion
                    #region Action-> ReadXMLAttribute
                    case "readxmlattribute":
                        Property.StepDescription = "Read value of attribute '" + contentFirst.Trim() +
                            "' and store to run time variable '" + contentFirst.Trim() + "'.";

                        //Pass on node index required as a seconf argument if provided in test data
                        if (!contentSecond.Equals(String.Empty))
                        {
                            try
                            {
                                verification = WebAPI.ReadXmlAttribute(contentFirst.Trim(),
                                                                       Convert.ToInt16(contentSecond.Trim()));
                            }
                            catch (Exception)
                            {
                                verification = WebAPI.ReadXmlAttribute(contentFirst.Trim());
                            }
                        }
                        else
                        {
                            verification = WebAPI.ReadXmlAttribute(contentFirst.Trim());
                        }

                        _verificationMessage = Property.Remarks;
                        break;
                    #endregion
                    case "findxmlattribute":
                    case "locatexmlattribute":
                    #region Action-> GetXMLAttributePosition
                    case "getxmlattributeposition":
                        Property.StepDescription = "Find relative location (index) of attribute '" + contentFirst.Trim() +
                            "' where value of attribute should be '" + contentSecond.Trim() + "'.";

                        verification = WebAPI.ReadXmlAttribute(contentFirst.Trim(), 1, contentSecond.Trim());
                        _verificationMessage = Property.Remarks;
                        break;
                    #endregion
                    // New step action added as per the need of G3 API automation testing team  
                    case "verifyxmlattributenotpresent":
                        verification = !WebAPI.ReadXmlAttribute(contentFirst.Trim(), 1, contentSecond.Trim());
                        if (!verification)
                            Property.Remarks = "Value '" + contentSecond.Trim() + "' of attribute '" + contentFirst.Trim() + "' found  in api response. ";
                        else
                            Property.Remarks = "Value '" + contentSecond.Trim() + "' of attribute '" + contentFirst.Trim() + "' was not present in api response. "; ;
                        _verificationMessage = Property.Remarks;
                        break;
                    #region Action-> VerifyXMLAttribute
                    case "verifyxmlattribute":
                        Property.StepDescription = "Verify value of attribute '" +
                            contentFirst.Trim() + "' equals to '" +
                            contentSecond.Trim() + "'.";
                        //Third attribute is considered to be 
                        if (contentThird.Equals(string.Empty))
                        {
                            contentThird = "1";
                        }

                        verification = WebAPI.VerifyXmlAttribute(contentFirst.Trim(), contentSecond.Trim(), int.Parse(contentThird));
                        _verificationMessage = Property.Remarks;
                        break;
                    #endregion

                    #region Action->VerifyXMLHeader
                    case "verifyxmlheader":
                        verification = WebAPI.VerifyXmlHeader(contentFirst.Trim(), contentSecond.Trim());
                        if (verification)
                        {
                            Property.Remarks = contentFirst.Trim()  +" "+contentSecond.Trim() + " Found in the Request Header.";
                        } 
                        else
                            Property.Remarks = contentFirst.Trim()  +" "+contentSecond.Trim() + " Not found in the Request Header.";
                                _verificationMessage = Property.Remarks;
                        break;

                    #endregion
                    #region Action-> CountXMLNodes
                    case "countxmlnodes":
                        Property.StepDescription = "Count all instances of attribute '" + contentFirst + "' and store to variable '" + contentFirst.Trim() + "Count'";
                        verification = WebAPI.CountXmlNodes(contentFirst.Trim());
                        _verificationMessage = Property.Remarks;
                        break;
                    #endregion
                    #region Action-> VerifyXMLNodeCount
                    case "verifyxmlnodecount":
                        Property.StepDescription = "Verify count of all instances of attribute '" +
                                contentFirst.ToString().Trim() +
                                "' equals to '" + contentSecond.ToString().Trim() + "'.";

                        verification = WebAPI.Verifyxmlnodecount(contentFirst.ToString().Trim(),
                                                                    contentSecond.ToString().Trim());
                        _verificationMessage = Property.Remarks;
                        break;
                    #endregion
                    // this method will split data column, generate random number on the basis of start index and end index and assign to variable
                    // 
                    #region Action-> GenerateRandomNumber
                    case "generaterandomnumber":
                        int startIntValue = int.Parse(Utility.ReplaceVariablesInString(contentFirst.Trim()));
                        int endIntValue = int.Parse(Utility.ReplaceVariablesInString(contentSecond.Trim()));
                        string generateParamName = string.Empty;
                        if (!contentThird.Equals(String.Empty))
                            generateParamName = Utility.ReplaceVariablesInString(contentThird.Trim());
                        else
                            generateParamName = Property.GenerateRandomNumberParamName; //by default harcoded variable

                        int rndVal = Utility.RandomNumber(startIntValue, endIntValue + 1);
                        //set variable
                        Utility.SetVariable(generateParamName, rndVal.ToString());
                        break;
                    #endregion
                    //this method will split data column, generate random number on the basis of start index and end index and assign to variable
                    // 
                    #region Action-> GenerateUniqueString
                    case "generateuniquestring":
                        int startIntValue1 = int.Parse(Utility.ReplaceVariablesInString(contentFirst.Trim()));
                        string endIntValue1 = Utility.ReplaceVariablesInString(contentSecond.Trim());
                        string generateParamName1 = string.Empty;
                        if (string.IsNullOrWhiteSpace(endIntValue1) == false)
                            generateParamName1 = endIntValue1;
                        else
                            generateParamName1 = Property.GenerateRandomStringParamName; //by default harcoded variable

                        string rndVal1 = Utility.RandomString(startIntValue1);

                        //set variable
                        Utility.SetVariable(generateParamName1, rndVal1.ToString());

                        Property.StepDescription = "Generate unique string of length " + startIntValue1;
                        Property.Remarks = "Generated string:= " + rndVal1.ToString();

                        break;
                    #endregion
                    //This action generates a 10 digit unique number where first digit will not be 0 or 1.
                    //Also stores each digit in ten different variables named as: Char1, Char2, ... , Char10
                    #region Action-> GenerateUniqueMobileNo.
                    case "generateuniquemobileno":
                        string uniqueMobile = Utility.GenerateUniqueNumeral(10);
                        // Check if first digit is '1' then replace it with '4'
                        if (uniqueMobile[0] == '0' || uniqueMobile[0] == '1')
                            uniqueMobile = uniqueMobile.Replace(uniqueMobile[0], '4');

                        // Store generated mobile number into the dictionary
                        Utility.SetVariable("MobileNo", uniqueMobile);

                        // Also store each character of mobile number into the dictionary
                        for (int j = 1; j <= uniqueMobile.Length; j++)
                            Utility.SetVariable("Char" + j.ToString(), uniqueMobile[j - 1].ToString());

                        Property.StepDescription = "Generate unique mobile number and store to variable: 'MobileNo'";
                        Property.Remarks = "Generated mobile no:= " + uniqueMobile.ToString();

                        break;
                    #endregion
                    case "mousemove":
                        _objTestObject.MouseMove();
                        break;

                    //Performs click using advanced user interaction API
                    case "mouseclick":
                        _objTestObject.MouseClick();
                        break;

                    //Performs mouseover using advanced user interaction API
                    case "mouseover":
                        _objTestObject.MouseOver();
                        break;
                    case "{ignore}":
                    case "{IGNORE}":
                    case "{SKIP}":
                    case "{skip}":
                        stepStatus = ExecutionStatus.Pass;
                        break;

                    //Builds an advanced user interaction API object, which should later be used by "performAction" keyword
                    //            Multiple addAction statements can be clubbed one after another, and they will be executed in a chain fashion
                    #region Action-> AddAction
                    case "addaction":
                        _objTestObject.AddAction(contentFirst, contentSecond);
                        break;
                    #endregion
                    //Performs actions build using "addAction" keyword using advanced user interaction API
                    #region Action-> PerformAction
                    case "performaction":
                        _objTestObject.PerformAction();
                        break;
                    #endregion
                    #region Action-> VerifySortOrder
                    case "verifysortorder":
                        Property.StepDescription = "Verify sort order with Property " + "'" + contentFirst + "'" + " and sort order " + "'" + contentSecond + "'";
                        verification = _objTestObject.VerifySortOrder(contentFirst, contentSecond);
                        break;
                    #endregion

                    #region Action-> DragAndDrop
                    case "draganddrop":
                        Property.StepDescription = "Drag " + _testObject + " and drop to " + contentFirst;
                        _objTestObject.DragAndDrop(ObjSecondDataRow);
                        break;
                    #endregion
                    #region  Action-> saveContentsoffile
                    case "savecontentstofile":
                        string contents = contentFirst;
                        string filename = "CustomTagsFile.txt";
                        if (!_testObject.Equals(string.Empty))
                        {
                            filename = _testObject;
                        }
                        string filepath = Property.ResultsSourcePath + "\\" + filename;
                        string varname = filename.Split('.')[0].ToString();
                        Utility.Savecontentstofile(filepath, contents);
                        Utility.SetVariable(varname, filepath);
                        Property.Remarks = "Data Content has been stored to file '" + filename + "'.Its location has been stored in a variable '" + varname + "'.";
                        break;
                    #endregion
                    #region UploadFile  PBI : #205
                    case "uploadfile":
                        Property.StepDescription = "Upload file at location " + contentFirst;
                        verification = _objTestObject.UploadFile(contentFirst, contentSecond);
                        if (verification == false)
                        {
                            Property.Remarks = "File not found at location " + contentFirst;
                        }
                        break;

                    #endregion
                    default:
                        {
                            Property.Remarks = _stepAction + ":" + Utility.GetCommonMsgVariable("KRYPTONERRCODE0025");
                            verification = false;
                            stepStatus = ExecutionStatus.Fail;
                        }
                        break;

                }
                if (!stepStatus.Equals(ExecutionStatus.Warning))
                {
                    stepStatus = verification ? ExecutionStatus.Pass : ExecutionStatus.Fail;

                }
            }

            catch (Exception e)
            {
                if (modifier.Contains("recovery"))
                {
                    throw new Exception(Utility.GetCommonMsgVariable("KRYPTONERRCODE0024"));
                }

                Property.Remarks = _stepAction + ":" + e.Message;
                stepStatus = ExecutionStatus.Fail;

                //Overriding cache errors that appears on saucelabs
                //seen when testing for angieslist
                if (e.Message.IndexOf("getElementTagName execution failed; Element does not exist in cache", StringComparison.OrdinalIgnoreCase) >= 0)
                    stepStatus = ExecutionStatus.Warning;
                if (e.Message.IndexOf("Element not found in the cache", StringComparison.OrdinalIgnoreCase) >= 0)
                    stepStatus = ExecutionStatus.Pass;

                //Overriding timeouts to warning instead of failure
                if (e.Message.IndexOf(Exceptions.ERROR_NORESPONSEURL, StringComparison.OrdinalIgnoreCase) >= 0)
                    stepStatus = ExecutionStatus.Warning;

                if (e.Message.IndexOf("docElement is null", StringComparison.OrdinalIgnoreCase) >= 0)
                    stepStatus = ExecutionStatus.Warning;

                //When this message appears, click has been successfull, just the error appears
                if (e.Message.IndexOf("Cannot click on element", StringComparison.OrdinalIgnoreCase) >= 0)
                    stepStatus = ExecutionStatus.Warning;

                //Overriding click timeout to waring instead of failure
                if (e.Message.IndexOf("Timed out after", StringComparison.OrdinalIgnoreCase) >= 0 || e.Message.IndexOf("Page load is taking longer time.", StringComparison.OrdinalIgnoreCase) >= 0)
                    stepStatus = ExecutionStatus.Warning;

                //Overriding timeout to warning instead of failure. 
                if (e.Message.IndexOf("win is null", StringComparison.OrdinalIgnoreCase) >= 0)
                    stepStatus = ExecutionStatus.Warning;
                //Modal dialog present Execption does,t interrupt normal Execution 
                if (e.Message.IndexOf("Modal dialog", StringComparison.OrdinalIgnoreCase) >= 0)
                {
                    Property.Remarks = string.Empty;
                    stepStatus = ExecutionStatus.Pass;
                }


            }

            Property.Status = stepStatus;
            if (_snapShotOption.ToLower().Equals("always")
                || (_snapShotOption.ToLower().Equals("on page change") && (action.ToLower().Equals("click")
                                                                            || action.ToLower().Equals("openbrowser")
                                                                            || action.ToLower().Equals("closebrowser")
                                                                            || action.ToLower().Equals("navigateurl")
                                                                            || action.ToLower().Equals("goback")
                                                                            || action.ToLower().Equals("refreshbrowser")
                                                                            || action.ToLower().Equals("goforward")
                                                                            || action.ToLower().Equals("switchtorecentbrowser")
                                                                            || action.ToLower().Equals("switchtonewbrowser")
                                                                            || action.ToLower().Equals("doubleclick")
                                                                            || action.ToLower().Equals("submit")
                                                                            ))
                || (stepStatus.Equals(ExecutionStatus.Fail) && !_snapShotOption.ToLower().Equals("never") && !action.Contains("."))
                )
            {
                SaveSnapShots(action);
            }

            if (_keywordDic.ContainsValue("endtestonfailure") && stepStatus.Equals(ExecutionStatus.Fail))
            {
                Property.EndExecutionFlag = true;
            }

            if (_testObject != null && parent != null && Property.StepDescription.Equals(string.Empty))
            {
                if (!_testObject.Equals(string.Empty) && !parent.Equals(string.Empty))
                    Property.StepDescription = _stepAction + " on test object \"" + _testObject + "\" in page \"" + parent + " \".";
                else
                    Property.StepDescription = _stepAction; //For actions in which Parent and TestObject doesn't use like closeAllBrowsers etc.
            }
        }