Exemplo n.º 1
0
        private void Execute_OnClick(object sender, RoutedEventArgs e)
        {
            var countOftestcase = MainBlock.Children.Count;

            for (int i = 0; i < countOftestcase; i++)
            {
                var rows       = LogicalTreeHelper.FindLogicalNode(MainBlock, "rows" + i);
                var countOfRow = ((StackPanel)rows).Children.Count;
                for (var j = 0; j < countOfRow; j++)
                {
                    var currentAction = LogicalTreeHelper.FindLogicalNode(rows, "ComboBox" + j);
                    if ((currentAction as ComboBox)?.SelectedItem == "Найти элемент")
                    {
                        IResult successResult = new SuccessPanel();

                        var urlElement = LogicalTreeHelper.FindLogicalNode(MainBlock, "url" + i);

                        var urlContent = (urlElement as TextBox)?.Text;

                        var idElement = LogicalTreeHelper.FindLogicalNode(rows, "id");

                        var idContent = (idElement as TextBox)?.Text;

                        var chrome = new ChromeDriver();

                        StackPanel currentRow = (StackPanel)LogicalTreeHelper.FindLogicalNode(rows, "row" + j);
                        var        countrow   = currentRow.Children.Count;

                        StackPanel currentStatus = (StackPanel)currentRow.Children[countrow - 1];
                        if (currentStatus.Name == "Success" || currentStatus.Name == "Error")
                        {
                            currentRow.Children.RemoveAt(countrow - 1);
                        }
                        if (string.IsNullOrEmpty(urlContent))
                        {
                            urlContent = "http://google.com";
                        }
                        if (string.IsNullOrEmpty(idContent))
                        {
                            idContent = "lst-ib";
                        }
                        try
                        {
                            chrome.Navigate().GoToUrl(urlContent);
                        }
                        catch
                        {
                            chrome.Quit();
                        }


                        try
                        {
                            var query = chrome.FindElement(By.Id(idContent));
                            query.SendKeys("Фуряева Марина");
                            query.Submit();
                            chrome.Quit();
                            var successPanel = successResult.CreateStackPanel();
                            currentRow.Children.Add(successPanel);
                        }
                        catch
                        {
                            chrome.Quit();
                            IResult errorResult = new ErrorPanel();
                            var     errorPanel  = errorResult.CreateStackPanel();
                            currentRow.Children.Add(errorPanel);
                        }
                    }
                }
            }
        }