예제 #1
0
        public Task RunSIDETestSuite(SIDEFile file, BrowserEnum browser)
        {
            return(Task.Factory.StartNew(() =>
            {
                RemoteWebDriver driver = null;
                try
                {
                    driver = GetBrowserDriverToRunInBackground(browser);
                    driver.Url = file.url;

                    foreach (var test in file.tests)
                    {
                        foreach (var command in test.commands)
                        {
                            if (command.command == "setWindowSize")
                            {
                                var split = command.target.Split('x');
                                var width = Int32.Parse(split[0]);
                                var height = Int32.Parse(split[1]);
                                var window = driver.Manage().Window;
                                window.Size = new System.Drawing.Size(width, height);
                            }
                            if (command.command == "click")
                            {
                                IWebElement element = _SIDEService.TryFindElementForCommand(driver, command);
                                if (element != null)
                                {
                                    element.Click();
                                }
                            }
                            if (command.command == "type")
                            {
                                IWebElement element = _SIDEService.TryFindElementForCommand(driver, command);
                                if (element != null)
                                {
                                    element.SendKeys(command.value);
                                }
                            }
                            Thread.Sleep(100);
                        }
                    }
                }
                finally
                {
                    // No matter what, we always try to shut down the driver when we're done.
                    if (driver != null)
                    {
                        driver.Close();
                        driver.Quit();
                    }
                }
            }));
        }
        public async Task OpenFile()
        {
            var dialog = new OpenFileDialog();

            dialog.Filters.Add(new FileDialogFilter()
            {
                Name = "Selenium IDE Tests", Extensions = { "side" }
            });

            var result = await dialog.ShowAsync(new Window());

            if (result.Any())
            {
                var filePath = result.First();
                CurrentFile = _SIDEService.OpenSIDEFile(filePath);
            }
        }