예제 #1
0
        public Boolean Go(ITestContext context, String serverURI, TestCaseItem tcItem, int value)
        {
            Request request = Request.NewGet();

            //Uri uri = new Uri(new Uri(serverURI), flowTest.ResourceURI);
            Uri uri = new Uri(serverURI);

            request.URI = uri;

            if (RequestBuilder != null)
            {
                request = RequestBuilder.Build(request);
            }

            request.Respond += delegate(object sender, ResponseEventArgs e)
            {
                context.ResponseQueue.Offer(e.Response);
            };

            context.RequestQueue.Offer(request);
            context.Verbose.AppendFormat("{0}({1})\t--------->\t            ", request.Type, request.CodeString);

            StepItem stepItem = new StepItem();

            stepItem.IsRequest   = true;
            stepItem.Name        = request.Method.ToString() + " Request ";
            stepItem.IsPassed    = true;
            stepItem.RowItemList = new List <RowItem>();
            tcItem.StepItemList.Add(stepItem);

            tcItem.stepOperation(request.Method.ToString() + " Request", value);

            request.Send();
            return(true);
        }
예제 #2
0
        public static List <TestCaseItem> XMLToList(String filename)
        {
            List <TestCaseItem> tcItemList = new List <TestCaseItem>();

            XmlDocument doc = new XmlDocument();

            doc.Load(filename);

            XmlNode root = doc.SelectSingleNode("root");

            foreach (XmlNode node in root.ChildNodes)
            {
                TestCaseItem tcItem = new TestCaseItem();

                XmlNodeList testcasename = ((XmlElement)node).GetElementsByTagName("testcasename");
                if (testcasename != null)
                {
                    tcItem.Group = ((XmlElement)testcasename.Item(0)).GetAttribute("group");
                    tcItem.Name  = tcItem.TestCaseName = ((XmlElement)testcasename.Item(0)).InnerText;
                }
                XmlNodeList result = ((XmlElement)node).GetElementsByTagName("result");
                if (result != null)
                {
                    tcItem.IsPassed = ((XmlElement)result.Item(0)).InnerText.Trim().ToUpper() == "TRUE" ? true : false;
                }

                XmlNodeList testcaseitem = ((XmlElement)node).GetElementsByTagName("testcaseitem");
                if (testcaseitem != null)
                {
                    tcItem.StepItemList = TestCaseItemToObj(testcaseitem.Item(0));
                }
                tcItemList.Add(tcItem);
            }
            return(tcItemList);
        }
예제 #3
0
        public void Run(String serverURI, CoAP.Tester.FormMain.StepOperation stepOperation)
        {
            Passed     = true;
            _summaries = new StringBuilder();
            _summary   = null;

            tcItem               = new TestCaseItem();
            tcItem.Name          = TC.Name;
            tcItem.Group         = TC.Group;
            tcItem.TestCaseName  = TC.Name;
            tcItem.StepItemList  = new List <StepItem>();
            tcItem.stepOperation = stepOperation;
            TestContext context = new TestContext();

            context.Verbose.AppendLine("   TESTER     \t          \tDUT");

            Int32 stepIndex = 1;

            int stepCount         = _steps.Count;
            int executedStepCount = 0;

            tcItem.stepOperation("", 0);
            foreach (IStep step in _steps)
            {
                executedStepCount++;
                int value = (executedStepCount * 100) / stepCount;
                context.Verbose.Append(stepIndex++).Append(". ");
                //_summaries.Append(stepIndex++).Append(". ")
                //    .Append(step.GetType().Name).Append("\t");
                if (step.Go(context, serverURI, tcItem, value))
                {
                    //context.Verbose.AppendLine("\tPASSED");
                    context.Verbose.AppendLine();
                    _summaries.AppendLine("PASSED");
                }
                else
                {
                    //context.Verbose.AppendLine("\tFAILED");
                    context.Verbose.AppendLine();
                    Passed = false;
                    _summaries.AppendLine("FAILED");
                    foreach (var item in step.Summaries)
                    {
                        _summaries.Append("\t- ").AppendLine(item);
                        context.Verbose.Append("\t- ").AppendLine(item);
                    }
                }
                tcItem.IsPassed = Passed;
                //_stepItemList.Add(tcItem);
                _summary = null;
            }
            context.Verbose.AppendLine().AppendLine(Passed ? "   PASSED" : "   FAILED");
            _summary = context.Verbose.ToString();
        }
예제 #4
0
        public Boolean Go(ITestContext context, String serverURI, TestCaseItem tcItem, int value)
        {
            Request  request  = context.RequestQueue.Poll(1000);
            Response response = context.ResponseQueue.Poll(2000);

            if (response == null)
            {
                context.Verbose.Append("           \t          \t            ");
                _summeries = new String[] { "Timeout" };

                StepItem stepItem = new StepItem();
                //stepItem.RowItemList = new List<RowItem>();
                stepItem.IsPassed  = false;
                stepItem.IsRequest = false;
                //stepItem.Name = response.Type.ToString() + " Response Code=" + response.Code.ToString();
                stepItem.Name        = this.ToString();
                stepItem.RowItemList = new List <RowItem>();
                RowItem rowItem = new RowItem();
                rowItem.ErrorInfo = "Time out";
                rowItem.IsPassed  = false;
                rowItem.Name      = this.ToString();
                stepItem.RowItemList.Add(rowItem);
                tcItem.StepItemList.Add(stepItem);
                tcItem.stepOperation("Time out", value);

                return(false);
            }
            else
            {
                context.Verbose.AppendFormat("           \t<---------\t{0}(code={1})", response.Type, response.Code);
                StepItem stepItem = new StepItem();
                stepItem.RowItemList = new List <RowItem>();
                stepItem.IsRequest   = false;
                stepItem.Name        = response.Type.ToString() + " Response";
                tcItem.StepItemList.Add(stepItem);
                tcItem.stepOperation(response.Type.ToString() + " Response", value);
                if (ResponseCheck != null)
                {
                    return(ResponseCheck.Check(response, request, stepItem));
                }
                else
                {
                    return(true);
                }
            }
        }