Example #1
0
        static void Main(string[] args)
        {
            int run     = 0;
            int skipped = 0;
            int passed  = 0;
            int failed  = 0;
            int parsed  = 0;

            if (!parseArgs(args))
            {
                return;
            }

            Excel.Application xlApp;
            Excel.Workbook    xlWorkBook;
            Excel.Worksheet   xlWorkSheet;
            Excel.Range       range;

            xlApp       = new Excel.Application();
            xlWorkBook  = xlApp.Workbooks.Open(System.IO.Path.GetFullPath(inputFile)); // use get full path to prevent issues with relative paths on the command line
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

            range = xlWorkSheet.UsedRange;

            LOG.verbose("Number of parsed cols: " + range.Columns.Count);
            LOG.verbose("Number of parsed rows: " + range.Rows.Count);

            TestCase tc = null;

            for (int rCnt = 2; rCnt <= range.Rows.Count; rCnt++)
            {
                System.Array MyValues = (System.Array)xlWorkSheet.get_Range(Constants.START_COL + rCnt.ToString(), Constants.END_COL + rCnt.ToString()).Cells.Value;

                foreach (var a in MyValues)
                {
                    LOG.full(rCnt.ToString() + ": " + (a == null ? "--blank--" : a.ToString() + " - " + a.GetType()));
                }

                if (tc != null && (String)xlWorkSheet.get_Range(Constants.TEST_ACTION_COL + rCnt.ToString()).Value == "End")
                {
                    parsed++;
                    // We have full test case, now get cracking
                    if (testName != null && tc.getName() != testName)
                    {
                        LOG.normal("Skipping test '" + tc.getName() + "'");
                        skipped++;
                    }
                    else
                    {
                        LOG.normal("Running test '" + tc.getName() + "'");
                        run++;
                        if (tc.run())
                        {
                            LOG.normal("Test '" + tc.getName() + "' passed");
                            passed++;
                        }
                        else
                        {
                            LOG.normal("Test '" + tc.getName() + "' failed");
                            failed++;
                        }
                    }
                }
                else
                {
                    if (xlWorkSheet.get_Range(Constants.TEST_NAME_COL + rCnt.ToString()).Value != null)
                    {
                        tc = new TestCase(logLevel, (System.Array)xlWorkSheet.get_Range(Constants.TEST_NAME_COL + rCnt.ToString(), Constants.TEST_BASEURL_COL + rCnt.ToString()).Cells.Value);
                    }

                    // if we have action, etc
                    if (tc != null && (xlWorkSheet.get_Range(Constants.TEST_ACTION_COL + rCnt.ToString()).Value != null || xlWorkSheet.get_Range(Constants.TEST_ACTION_ON_ELEMENT_COL + rCnt.ToString()).Value != null))
                    {
                        tc.addOperation((System.Array)xlWorkSheet.get_Range(Constants.TEST_ACTION_COL + rCnt.ToString(), Constants.TEST_ARGUMENT_COL + rCnt.ToString()).Cells.Value);
                    }
                }
            }

            xlWorkBook.Close(true, null, null);
            xlApp.Quit();

            releaseObject(xlWorkSheet);
            releaseObject(xlWorkBook);
            releaseObject(xlApp);

            LOG.always("Tests Parsed: " + parsed + " Tests Run: " + run + " Tests Skipped: " + skipped);
            if (run > 0)
            {
                LOG.always("Tests Passed: " + passed + " (" + passed * 100 / run + "%) Tests Failed: " + failed + " (" + failed * 100 / run + "%)");
            }
        }
Example #2
0
        static private bool parseArgs(string[] args)
        {
            for (int i = 0; i < args.Length; i++)
            {
                if (args[i] == "-f")
                {
                    if (args[i + 1] != null)
                    {
                        inputFile = args[i + 1];
                        LOG.always("Input File: '" + inputFile + "'");
                    }
                    else
                    {
                        usage();
                        return(false);
                    }
                }
                if (args[i] == "-t")
                {
                    if (args[i + 1] != null)
                    {
                        testName = args[i + 1];
                        LOG.always("Test Name to run: '" + testName + "'");
                    }
                    else
                    {
                        usage();
                        return(false);
                    }
                }
                if (args[i] == "-l")
                {
                    if (args[i + 1] != null)
                    {
                        logLevel = args[i + 1].ToLower();
                        if (logLevel == "verbose" || logLevel == "normal" || logLevel == "full" || logLevel == "none")
                        {
                            LOG.always("Log level: '" + logLevel + "'");
                            LOG.setLogLevel(logLevel);
                        }
                        else
                        {
                            usage();
                            return(false);
                        }
                    }
                    else
                    {
                        usage();
                        return(false);
                    }
                }
            }

            // validate we have enough to get going
            if (inputFile != null)
            {
                return(true);
            }

            usage();

            return(false);
        }