Beispiel #1
0
        private static void RunTest(Dictionary <string, string> settings)
        {
            var uri         = settings[UriName];
            var verb        = settings[MethodName];
            var method      = GetMethod(verb);
            var cookieValue = settings[CookieName];
            var payload     = settings[PayloadName];
            var contentType = settings[ContentTypeName];
            var runCount    = int.Parse(settings[RunCountName]);

            Console.WriteLine(UriName + ": " + uri);
            Console.WriteLine(MethodName + ": " + method);
            Console.WriteLine(CookieName + ": " + cookieValue);
            Console.WriteLine(PayloadName + ": " + payload);
            Console.WriteLine(ContentTypeName + ": " + contentType);
            Console.WriteLine(RunCountName + ": " + runCount);

            var cookie  = new RequestHeader("Cookie", cookieValue);
            var content = new Everest.Content.StringBodyContent(payload, contentType);
            var client  = new RestClient(cookie, new RequestHeader("X-Requested-With", "XMLHttpRequest"));

            var firstResponse = client.Send(method, uri, content);

            if (contentType == "application/json")
            {
                if (!firstResponse.Body.StartsWith("{"))
                {
                    throw new Exception("Epected JSON but got: " + firstResponse.Body);
                }
            }
            firstResponse.Dispose();

            var stopwatch = new Stopwatch();

            stopwatch.Start();
            for (var i = 0; i < runCount; i++)
            {
                client.Send(method, uri, content).Dispose();
                Console.Write(".");
            }
            stopwatch.Stop();

            Console.WriteLine();
            Console.WriteLine(uri);
            Console.WriteLine("Average time: " + new TimeSpan(stopwatch.Elapsed.Ticks / runCount));
        }
Beispiel #2
0
        private static void RunTest(Dictionary<string, string> settings)
        {
            var uri = settings[UriName];
            var verb = settings[MethodName];
            var method = GetMethod(verb);
            var cookieValue = settings[CookieName];
            var payload = settings[PayloadName];
            var contentType = settings[ContentTypeName];
            var runCount = int.Parse(settings[RunCountName]);

            Console.WriteLine(UriName + ": " + uri);
            Console.WriteLine(MethodName + ": " + method);
            Console.WriteLine(CookieName + ": " + cookieValue);
            Console.WriteLine(PayloadName + ": " + payload);
            Console.WriteLine(ContentTypeName + ": " + contentType);
            Console.WriteLine(RunCountName + ": " + runCount);

            var cookie = new RequestHeader("Cookie", cookieValue);
            var content = new Everest.Content.StringBodyContent(payload, contentType);
            var client = new RestClient(cookie, new RequestHeader("X-Requested-With", "XMLHttpRequest"));

            var firstResponse = client.Send(method, uri, content);
            if (contentType == "application/json")
            {
                if (!firstResponse.Body.StartsWith("{"))
                {
                    throw new Exception("Epected JSON but got: " + firstResponse.Body);
                }
            }
            firstResponse.Dispose();

            var stopwatch = new Stopwatch();
            stopwatch.Start();
            for (var i = 0; i < runCount; i++)
            {
                client.Send(method, uri, content).Dispose();
                Console.Write(".");
            }
            stopwatch.Stop();

            Console.WriteLine();
            Console.WriteLine(uri);
            Console.WriteLine("Average time: " + new TimeSpan(stopwatch.Elapsed.Ticks/runCount));
        }