예제 #1
0
        /// <summary>
        /// 启动流程准备测试
        /// </summary>
        public static void Prepare()
        {
            NetClient.PostData(GlobalContext.LocationDict["Login"],
                               new Dictionary <string, string>
            {
                { "username", "admin@admin" },
                { "password", "admin" }
            },
                               out string retStr);
            var response    = JsonConvert.DeserializeObject <StdResponseEntity>(retStr);
            var retToken    = ReturnDataHelper.DecodeString(response);
            var successFlag = !retToken.StartsWith("#");

            transaction.AuthToken = retToken;
            LoadProcessFromDirectory(ParseURItoURL("processDir"));
            var processName = "RestaurantTest_" + DateTime.Now.ToString().Replace(' ', '_');

            NetClient.PostData(GlobalContext.LocationDict["CreateProcess"],
                               new Dictionary <string, string>
            {
                { "token", transaction.AuthToken },
                { "renid", "admin@admin" },
                { "name", processName },
                { "mainbo", "GuestOrder" }
            },
                               out retStr);
            response = JsonConvert.DeserializeObject <StdResponseEntity>(retStr);
            transaction.ProcessPID  = ReturnDataHelper.DecodeString(response);
            transaction.ProcessName = processName;
            var BRList = new List <string>();

            foreach (var boDict in transaction.BOVector)
            {
                var retKVP = UploadBO(boDict["bo_name"], boDict["bo_content"]).First();
                boDict["boid"] = retKVP.Key;
                response       = JsonConvert.DeserializeObject <StdResponseEntity>(retKVP.Value);
                var responseDict = ReturnDataHelper.DecodeList(response);
                BRList.AddRange(responseDict.Select(br => br.ToString()));
            }
            transaction.BusinessRoleList = new HashSet <string>();
            foreach (var br in BRList)
            {
                transaction.BusinessRoleList.Add(br);
            }

            var CurrentMap = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("waiter", GlobalContext.WorkerId)
            };

            transaction.Mappings = new List <KeyValuePair <string, string> >();
            foreach (var mapItem in CurrentMap)
            {
                transaction.Mappings.Add(mapItem);
            }
            transaction.LaunchType    = 0;
            transaction.IsolationType = 0;
            transaction.FailureType   = 0;
            transaction.AuthType      = 0;
            transaction.RenUsername   = "******";
            NetClient.PostData(GlobalContext.LocationDict["SubmitProcess"], new Dictionary <string, string>
            {
                { "token", transaction.AuthToken },
                { "pid", transaction.ProcessPID },
                { "from", "SpeedTester.NET" },
                { "renid", transaction.RenUsername },
                { "bindingType", transaction.IsolationType.ToString() },
                { "launchType", transaction.LaunchType.ToString() },
                { "failureType", transaction.FailureType.ToString() },
                { "authType", transaction.AuthType.ToString() },
                { "binding", "" }
            },
                               out retStr);
            response = JsonConvert.DeserializeObject <StdResponseEntity>(retStr);
            var submitRes     = ReturnDataHelper.DecodeString(response);
            var submitResItem = submitRes.Split(',');

            NetClient.rtid = submitResItem[0];

            NetClient.PostData(GlobalContext.LocationDict["UploadMapping"], new Dictionary <string, string>
            {
                { "token", transaction.AuthToken },
                { "rtid", NetClient.rtid },
                { "organgid", "COrg_571d200f-0f35-11e8-9072-5404a6a99e5d" },
                { "dataversion", "version1" },
                { "map", GeneratePostMapStringOfMappings() }
            },
                               out retStr);
            response = JsonConvert.DeserializeObject <StdResponseEntity>(retStr);

            NetClient.PostData(GlobalContext.LocationDict["LoadParticipant"], new Dictionary <string, string>
            {
                { "token", transaction.AuthToken },
                { "rtid", NetClient.rtid },
                { "renid", transaction.RenUsername }
            },
                               out retStr);
            response = JsonConvert.DeserializeObject <StdResponseEntity>(retStr);

            NetClient.PostData(GlobalContext.LocationDict["StartProcess"], new Dictionary <string, string>
            {
                { "token", transaction.AuthToken },
                { "rtid", NetClient.rtid }
            },
                               out retStr);
            response = JsonConvert.DeserializeObject <StdResponseEntity>(retStr);
            NetClient.BeginTimestamp = DateTime.Now;
        }
예제 #2
0
 private void button1_Click(object sender, EventArgs e)
 {
     NetClient.Prepare();
 }