public IHttpActionResult caseResult([FromBody] caseResult_req req)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            QCTESTEntities QC_DB = new QCTESTEntities();

            //属于这台手机并已经开始的场景
            var rtc = QC_DB.M_runTestCase.First(t => t.ID == req.ID);

            rtc.startDate = req.startDate;
            rtc.endDate   = req.endDate;

            rtc.state = req.state;

            rtc.resultXML = req.resultXML.ToString();

            rtc.resultPath = req.resultPath;

            QC_DB.SaveChanges();

            return(Ok());
        }
예제 #2
0
        private bool runCase(int ID)
        {
            caseResult_req req = new caseResult_req();

            req.ID = ID;

            string runPath = System.Environment.CurrentDirectory + "/run/";


            XElement caseXml = testHelper.rc.GetSceneCase(ID);

            if (caseXml == null)
            {
                return(false);
            }


            string runCasePath = runPath + ID + "/";

            this.caseXml   = caseXml;
            this.resultXml = null;//置空

            req.startDate = DateTime.Now;
            try
            {
                logHelper.info(string.Format("{0}执行测试,ID:{1}", device, ID));

                this.run(runCasePath);
            }
            catch (Exception e)
            {
                logHelper.error(e);
            }

            req.endDate = DateTime.Now;


            req.state = 1;
            if (this.resultXml == null)
            {
                this.resultXml = this.caseXml;
            }
            req.resultXML  = this.resultXml.ToString();
            req.resultPath = "http://" + IP + "/" + ID + "/";


            if (testHelper.rc.caseResult(req))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }