예제 #1
0
        private void ExecuteInternal()
        {
            var workbookContext = App.Context.GetActiveWorkbookContext();

            Excel.Workbook  workbook  = workbookContext.Workbook;
            Excel.Worksheet worksheet = ExcelHelper.WorksheetAdd(workbook);
            ExcelHelper.WorksheetActivate(worksheet);

            string name = ListObjectHelper.NewTestDataName(workbook);

            worksheet.Name = name;

            Excel.ListObject listObject = ListObjectHelper.AddListObject(worksheet);
            listObject.Name = name;

            listObject.ListColumns[1].Name = "Column1";
            listObject.ListColumns[1].Range.EntireColumn.AutoFit();

            for (int i = 2; i < 10; i++)
            {
                Excel.ListColumn listColumn = listObject.ListColumns.Add();

                listColumn.Name = string.Format(
                    CultureInfo.CurrentCulture,
                    "Column{0}",
                    i);

                listColumn.Range.EntireColumn.AutoFit();
            }

            ListObjectHelper.AddRows(listObject, DEFAULT_ROW_COUNT, false);
            ListObjectHelper.SelectCell(listObject, 2, 1);
        }
예제 #2
0
        private void contextMenuStrip1_Opening(object sender, System.ComponentModel.CancelEventArgs e)
        {
            // Build TaskScheduler Menu
            this.contextMenuStrip1.Items.Clear();

            var workbookContext = App.Context.GetActiveWorkbookContext();

            if (null == workbookContext)
            {
                return;
            }

            var item = new ToolStripMenuItem()
            {
                Text  = Properties.Resources.TestDataMenuItem_Text,
                Image = Properties.Resources.link_break,
            };

            item.Click += this.item_Click1;
            this.contextMenuStrip1.Items.Add(item);

            if (0 == workbookContext.TestCases.Count)
            {
                return;
            }

            var testCase = this.SelectedTestCase;
            var id       = string.Empty;

            if (null != testCase)
            {
                id = testCase.DataName;
            }

            var listObjects = ListObjectHelper.GetDataList(workbookContext.Workbook);

            foreach (var listObject in listObjects)
            {
                item = new ToolStripMenuItem()
                {
                    Text    = ListObjectHelper.GetWorksheetName(listObject),
                    Tag     = listObject,
                    Checked = listObject.Name == id,
                    //Image = Properties.Resources.database,
                };

                item.Click += this.item_Click2;
                this.contextMenuStrip1.Items.Add(item);
            }
        }
        public void Execute()
        {
            WorkbookContext workbookContext = App.Context.GetActiveWorkbookContext();
            var             testContext     = new TestContextImpl(workbookContext);
            var             testCase        = workbookContext.GetActiveTestCase();

            if (null == testCase)
            {
                throw new InvalidOperationException(Properties.Resources.ScenarioIsNotSelected);
            }

            Excel.ListObject listObject = ListObjectHelper.GetTestCases(testCase.Worksheet).FirstOrDefault();

            if (null != listObject)
            {
                listObject.DataBodyRange.Columns[ListRowHelper.ColumnIndex.Result].Clear();
                listObject.DataBodyRange.Columns[ListRowHelper.ColumnIndex.Error].Clear();
                listObject.DataBodyRange.Columns[ListRowHelper.ColumnIndex.Evidence].Clear();
            }

            if (null == testCase)
            {
                throw new InvalidOperationException(Properties.Resources.ScenarioIsNotSelected);
            }

            App.Context.GetActiveWindowContext().HelpPaneVisible = false;
            testContext.Compile(testCase);

            if (0 < testContext.TestSequence.CompileErrorCount)
            {
                throw new InvalidOperationException(Properties.Resources.CompilerError);
            }

            if (0 == testContext.TestSequence.CountTotal())
            {
                throw new InvalidOperationException(Properties.Resources.TestIsEmpty);
            }

            //workbookContext.DeleteEvidenceAll();

            testCase.Result = TestResult.None;

            using (var form = new View.TestRunForm())
            {
                form.TestContext = testContext;
                form.ShowDialog();
            }
        }
        internal Excel.Worksheet ExecuteInternal(Excel.Workbook workbook)
        {
            this.AddCommandWorkbookIfNotExists(workbook);

            Excel.Worksheet worksheet = ExcelHelper.WorksheetAdd(workbook);
            string          name      = ListObjectHelper.NewTestCaseName(workbook);

            worksheet.Name = name;

            Excel.ListObject listObject = ListObjectHelper.AddListObject(worksheet);
            listObject.Name = name;
            listObject.ListColumns[1].Name = Properties.Resources.ListColumnName_Command;
            listObject.ListColumns[1].Range.EntireColumn.AutoFit();

            ListObjectHelper.AddColumn(listObject, Properties.Resources.ListColumnName_Target);
            ListObjectHelper.AddColumn(listObject, Properties.Resources.ListColumnName_Value);
            ListObjectHelper.AddColumn(listObject, Properties.Resources.ListColumnName_Result);
            ListObjectHelper.AddColumn(listObject, Properties.Resources.ListColumnName_ErrorMessage);
            ListObjectHelper.AddColumn(listObject, Properties.Resources.ListColumnName_Evidence);

            ListObjectHelper.AddRows(listObject, DefaultRowCount);

            #region

            Excel.Range range = listObject.ListColumns[1].Range;

            range.Validation.Add(
                Excel.XlDVType.xlValidateList,
                Excel.XlDVAlertStyle.xlValidAlertWarning,
                Excel.XlFormatConditionOperator.xlBetween,
                "=" + SeleniumCommandWorksheetName + "!$A:$A");

            range.Validation.IgnoreBlank    = true;
            range.Validation.InCellDropdown = true;

            #endregion

            ListObjectHelper.SelectCell(listObject, 2, 1);

            return(worksheet);
        }
예제 #5
0
        private void ExecuteInternal()
        {
            var workbookContext = App.Context.GetActiveWorkbookContext();

            Excel.Worksheet worksheet = this.GetReportSheet(workbookContext.Workbook);

            Excel.ListObject listObject = ListObjectHelper.AddListObject(worksheet);
            listObject.Name = "TestList";
            listObject.ListColumns[1].Name = Properties.Resources.ListColumnName_Command;
            listObject.ListColumns[1].Range.EntireColumn.AutoFit();

            ListObjectHelper.AddColumn(listObject, Properties.Resources.ReportColumnTestCase);
            ListObjectHelper.AddColumn(listObject, Properties.Resources.ReportColumnTestData);
            ListObjectHelper.AddColumn(listObject, Properties.Resources.ReportColumnResult);

            foreach (var testCase in App.Context.GetActiveWorkbookContext().TestCases)
            {
                Excel.ListRow row = ListObjectHelper.AddRow(listObject, true);
                ExcelHelper.SetText(worksheet, row.Range[1, 1], 1, testCase.DisplayName);
            }
        }
예제 #6
0
        private void Excel_SheetActivate(object sh)
        {
            this.dataGridView1.ClearSelection();

            Excel.Worksheet worksheet = (Excel.Worksheet)sh;
#if DEBUG
            Log.Logger.DebugFormat("*** ACTIVATE EVENT *** = {0}", worksheet.Name);
#endif
            Excel.ListObject listObject = ListObjectHelper.GetTestCases(worksheet).FirstOrDefault();

            if (null == listObject)
            {
#if DEBUG
                Log.Logger.DebugFormat("*** LISTOBJECT IS NULL ***");
#endif
                return;
            }

            string name = listObject.Name;

            foreach (DataGridViewRow row in this.dataGridView1.Rows)
            {
                TestCase testCase = row.DataBoundItem as TestCase;

                if (null == testCase)
                {
                    continue;
                }

                if (testCase.Name == name)
                {
#if DEBUG
                    Log.Logger.DebugFormat("*** SELECTED *** = {0}", name);
#endif
                    row.Selected = true;
                    return;
                }
            }
        }
        private void Import(string path)
        {
            if (string.IsNullOrWhiteSpace(path))
            {
                return;
            }

            using (var reader = new StreamReader(path, Encoding.UTF8))
            {
                using (var sgmlReader = new SgmlReader()
                {
                    DocType = "HTML",
                    CaseFolding = CaseFolding.ToLower,
                    IgnoreDtd = true,
                    InputStream = reader
                })
                {
                    XDocument  xml = XDocument.Load(sgmlReader);
                    XNamespace ns  = "http://www.w3.org/1999/xhtml";

                    var profile = xml.Descendants(ns + "head").Attributes("profile").First().Value;

                    if (profile != "http://selenium-ide.openqa.org/profiles/test-case")
                    {
                        throw new InvalidOperationException(Properties.Resources.ImportTestcaseNoSuchProfile);
                    }

                    string testcaseName = xml.Descendants(ns + "thead").Descendants(ns + "td").First().Value;
                    string baseUrl      = this.GetBaseUrl(ns, xml);

                    var trs = xml.Descendants(ns + "tbody").Descendants(ns + "tr");

                    var workbookContext = App.Context.GetActiveWorkbookContext();
                    workbookContext.BaseUrl = baseUrl;

                    Excel.Workbook  workbook  = workbookContext.Workbook;
                    Excel.Worksheet worksheet = ExcelHelper.WorksheetAdd(workbook);
                    ExcelHelper.WorksheetActivate(worksheet);

                    string newName = ListObjectHelper.NewTestCaseName(workbook) + "_" + testcaseName;
                    worksheet.Name = newName;

                    Excel.ListObject listObject = ListObjectHelper.AddListObject(worksheet);
                    listObject.Name = newName;

                    listObject.ListColumns[1].Name = Properties.Resources.ListColumnName_Command;
                    listObject.ListColumns[1].Range.EntireColumn.AutoFit();

                    ListObjectHelper.AddColumn(listObject, Properties.Resources.ListColumnName_Target);
                    ListObjectHelper.AddColumn(listObject, Properties.Resources.ListColumnName_Value);
                    ListObjectHelper.AddColumn(listObject, Properties.Resources.ListColumnName_Result);
                    ListObjectHelper.AddColumn(listObject, Properties.Resources.ListColumnName_ErrorMessage);
                    ListObjectHelper.AddColumn(listObject, Properties.Resources.ListColumnName_Evidence);

                    foreach (var tr in trs)
                    {
                        var td      = tr.Elements(ns + "td");
                        var command = td.ElementAt(0).Value;
                        var target  = td.ElementAt(1).Value;
                        var value   = td.ElementAt(2).Value;

                        Excel.ListRow listRow = ListObjectHelper.AddRow(listObject);
                        ListRowHelper.Set(listRow, ListRowHelper.ColumnIndex.Command, command);
                        ListRowHelper.Set(listRow, ListRowHelper.ColumnIndex.Target, target);
                        ListRowHelper.Set(listRow, ListRowHelper.ColumnIndex.Value, value);
                    }

                    ListObjectHelper.SelectCell(listObject, 2, 1);
                    App.Context.Update();
                    ExcelHelper.WorksheetActivate(worksheet);
                }
            }
        }