{"id":1491,"date":"2016-01-21T19:15:22","date_gmt":"2016-01-22T00:15:22","guid":{"rendered":"https:\/\/www.redline13.com\/blog\/?p=1491"},"modified":"2016-01-21T19:15:22","modified_gmt":"2016-01-22T00:15:22","slug":"cloud-based-jmeter-websocket-testing","status":"publish","type":"post","link":"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/","title":{"rendered":"Cloud Based JMeter WebSocket Testing"},"content":{"rendered":"<h3>What are WebSockets<\/h3>\n<p>The <a href=\"https:\/\/html.spec.whatwg.org\/multipage\/comms.html#network\">WebSockets<\/a> specification enables Web applications to maintain bidirectional communications with server-side processes, this specification introduces the <a href=\"https:\/\/html.spec.whatwg.org\/multipage\/comms.html#websocket\">WebSocket<\/a>\u00a0interface.<\/p>\n<p>In plain words: You can maintain a persistent connection between client and server which is available for data communication anytime while the connection is open. \u00a0Some resources and tutorials include<\/p>\n<ul>\n<li><a href=\"http:\/\/www.websocket.org\/\">WebSockets.org<\/a><\/li>\n<li><a href=\"http:\/\/www.html5rocks.com\/en\/tutorials\/websockets\/basics\/\">HTML5Rocks Introducing WebSockets<\/a><\/li>\n<\/ul>\n<h3>Using JMeter to Create WebSocket Requests<\/h3>\n<p>By default, JMeter does not provide a\u00a0websocket sampler. However,\u00a0the JMeter community is pretty powerful. \u00a0\u00a0<a href=\"https:\/\/www.linkedin.com\/in\/maciejzaleski\">Maciej Zaleski<\/a> wrote an open plugin to do the work &#8211; <a href=\"https:\/\/github.com\/maciejzaleski\/JMeter-WebSocketSampler\">WebSocketSampler<\/a><\/p>\n<h3>Your first WebSocket JMeter test<\/h3>\n<p>(also see: <a href=\"https:\/\/www.redline13.com\/blog\/2016\/04\/customtest-for-load-testing-websockets\/\" target=\"_blank\" rel=\"noopener\">CustomTests for Load Testing Websockets<\/a>)<\/p>\n<p>1. To install this plugin locally, you have a\u00a0couple of options<\/p>\n<ul>\n<li>Manual\n<ul>\n<li>You will need to download the plugin\n<ul>\n<li><a href=\"https:\/\/github.com\/maciejzaleski\/JMeter-WebSocketSampler\/releases\">Release Jar<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Then download the\u00a0dependencies from\u00a0<a href=\"http:\/\/mvnrepository.com\/\">http:\/\/mvnrepository.com\/<\/a>\n<ul>\n<li>jetty-http-9.1.1.v20140108.jar<\/li>\n<li>jetty-io-9.1.1.v20140108.jar<\/li>\n<li>jetty-util-9.1.1.v20140108.jar<\/li>\n<li>websocket-api-9.1.1.v20140108.jar<\/li>\n<li>websocket-client-9.1.1.v20140108.jar<\/li>\n<li>websocket-common-9.1.1.v20140108.jar<\/li>\n<\/ul>\n<\/li>\n<li>Saving them to your [JMeter installation]\/lib\/ext<\/li>\n<\/ul>\n<\/li>\n<li>Packaged\n<ul>\n<li>On our fork, we built a drop in ready with some of the pull requests merged\n<ul>\n<li><a href=\"https:\/\/github.com\/redline13\/JMeter-WebSocketSampler\/releases\">Release page<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/redline13\/JMeter-WebSocketSampler\/releases\/download\/plugin-1.0.2\/JMeterWebSocketSampler-1.0.2.zip\">https:\/\/github.com\/redline13\/JMeter-WebSocketSampler\/releases\/download\/plugin-1.0.2\/JMeterWebSocketSampler-1.0.2.zip<\/a><\/li>\n<\/ul>\n<\/li>\n<li>After download Extract into [JMeter Installation]\n<ul>\n<li>unzip JMeterWebSocketSampler-1.0.2.zip -d\u00a0[JMETER INSTALL DIRECTORY]<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>2. Restart JMeter<\/p>\n<p style=\"padding-left: 30px;\">If your Jmeter is already open,\u00a0then close it and start again.<\/p>\n<p>3. You will see a new sampler \u201cWebSocket Sampler\u201d in sampler list which you can add to your test plan<\/p>\n<p style=\"padding-left: 30px;\"><a href=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/WebSSampler.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1493\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/WebSSampler.png\" alt=\"WebSSampler\" width=\"629\" height=\"566\" \/><\/a><\/p>\n<p>4. You can add WebSocket sampler into your test plan\u00a0and configure<\/p>\n<ul>\n<li>We have used <a href=\"http:\/\/www.websocket.org\/echo.html\">http:\/\/www.websocket.org\/echo.html<\/a> for this demo. Which uses <strong>ws:\/\/echo.websocket.org<\/strong> server which will respond back to the client with the same message it received.<\/li>\n<\/ul>\n<p style=\"padding-left: 30px;\"><a href=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/WebSocketSamplerConfig.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1492\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/WebSocketSamplerConfig.png\" alt=\"WebSocketSamplerConfig\" width=\"899\" height=\"546\" srcset=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/WebSocketSamplerConfig.png 899w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/WebSocketSamplerConfig-300x182.png 300w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/WebSocketSamplerConfig-768x466.png 768w\" sizes=\"auto, (max-width: 899px) 100vw, 899px\" \/><\/a><\/p>\n<ul>\n<li>Server Name or IP \u2013 your WebSocket server name or IP for example echo.websocket.org<\/li>\n<li>Port Number \u2013Port that WebSocket server listens to. By default, it is 80.<\/li>\n<li>Timeout:\n<ul>\n<li>Connection \u2013 maximum time in milliseconds for setting up a connection. Sampler fails if it takes longer time as specified in connection.<\/li>\n<li>Response \u2013 Maximum time in milliseconds it will wait for response message<\/li>\n<\/ul>\n<\/li>\n<li>Implementation \u2013 Only latest version RFC6455(v13) option is available<\/li>\n<li>Protocol \u2013 Use to define WebSocket protocol to be used. \u201cws\u201d prefix identifies the WebSocket connection and \u201cwss\u201d prefix identifies the WebSocket Secure connection<\/li>\n<li>Streaming Connection \u2013 if selected then streaming connection will remain open and is reused by subsequent requests otherwise the connection will is closed after the first response<\/li>\n<li>Request Data \u2013 Used to define outgoing messages<\/li>\n<li>Response Pattern \u2013 Sampler will wait for a response to contain the pattern defined until the defined response timeout occurs<\/li>\n<li>Message Backlog \u2013 Defines maximum count of response messages to keep<\/li>\n<li><span style=\"text-decoration: line-through;\">Close Connection Pattern \u2013 Sampler will wait for a response to contain the pattern defined until defined response timeout occurs. If the pattern matches then, the connection will be closed.<\/span>\n<ul>\n<li>While this is available, we have not confirmed if this feature is working<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>5. Set the Thread\/User count.<\/p>\n<p style=\"padding-left: 30px;\">Since we have a basic echo service, we will do a small\u00a0one user with\u00a0a LoopController set to 100.<\/p>\n<p style=\"padding-left: 30px;\"><a href=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-12.23.42-AM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1499\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-12.54.58-AM1.png\" alt=\"Screen Shot 2016-01-21 at 12.54.58 AM\" width=\"500\" height=\"155\" srcset=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-12.54.58-AM1.png 765w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-12.54.58-AM1-300x93.png 300w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>6. Run test locally<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1500\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-12.55.54-AM.png\" alt=\"Screen Shot 2016-01-21 at 12.55.54 AM\" width=\"444\" height=\"367\" srcset=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-12.55.54-AM.png 863w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-12.55.54-AM-300x248.png 300w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-12.55.54-AM-768x635.png 768w\" sizes=\"auto, (max-width: 444px) 100vw, 444px\" \/><\/p>\n<p>7. Run test on RedLine across multiple regions<\/p>\n<ul>\n<li><strong>Enabling Web Sockets<\/strong>: You don&#8217;t need to include\u00a0all the dependencies and plugin, just use the WebSocket checkbox and we will include the dependency automatically.<\/li>\n<\/ul>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1498\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-12.23.42-AM.png\" alt=\"Screen Shot 2016-01-21 at 12.23.42 AM\" width=\"775\" height=\"309\" srcset=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-12.23.42-AM.png 1003w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-12.23.42-AM-300x120.png 300w, https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-12.23.42-AM-768x306.png 768w\" sizes=\"auto, (max-width: 775px) 100vw, 775px\" \/><\/p>\n<ul>\n<li style=\"padding-left: 30px;\">We\u00a0changed some of the test parameters &#8211; 5 users,\u00a0each user loop 10 times, and launch on 3 servers in different regions.<\/li>\n<\/ul>\n<p style=\"padding-left: 30px;\"><a href=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-7.13.34-PM.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1503\" src=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/Screen-Shot-2016-01-21-at-7.13.34-PM.png\" alt=\"Screen Shot 2016-01-21 at 7.13.34 PM\" width=\"778\" height=\"229\" \/><\/a><\/p>\n<p>8. View Results and Download the test case<\/p>\n<ul>\n<li>Test Plan JMX &#8211;\u00a0<a href=\"https:\/\/www.redline13.com\/share\/download\/23297?path=testplan\">JMX File<\/a><\/li>\n<li>Test Page &#8211;\u00a0<a href=\"https:\/\/www.redline13.com\/share\/testplan\/23297\">https:\/\/www.redline13.com\/share\/testplan\/23297<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What are WebSockets The WebSockets specification enables Web applications to maintain bidirectional communications with server-side processes, this specification introduces the WebSocket\u00a0interface. In plain words: You can maintain a persistent connection between client and server which is available for data communication anytime while the connection is open. \u00a0Some resources and tutorials include WebSockets.org HTML5Rocks Introducing WebSockets Using JMeter to Create WebSocket Requests By default, JMeter does not provide a\u00a0websocket sampler. However,\u00a0the JMeter community is pretty powerful. \u00a0\u00a0Maciej<a class=\"more-link\" href=\"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/\">Read More &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,7,53],"tags":[75,316,551],"class_list":{"0":"entry","1":"post","2":"publish","3":"author-user","4":"post-1491","6":"format-standard","7":"category-blog","8":"category-jmeter","9":"category-websockets","10":"post_tag-apache-jmeter","11":"post_tag-load-test","12":"post_tag-websockets"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.12 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cloud Based JMeter WebSocket Testing - RedLine13<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cloud Based JMeter WebSocket Testing - RedLine13\" \/>\n<meta property=\"og:description\" content=\"What are WebSockets The WebSockets specification enables Web applications to maintain bidirectional communications with server-side processes, this specification introduces the WebSocket\u00a0interface. In plain words: You can maintain a persistent connection between client and server which is available for data communication anytime while the connection is open. \u00a0Some resources and tutorials include WebSockets.org HTML5Rocks Introducing WebSockets Using JMeter to Create WebSocket Requests By default, JMeter does not provide a\u00a0websocket sampler. However,\u00a0the JMeter community is pretty powerful. \u00a0\u00a0MaciejRead More &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/\" \/>\n<meta property=\"og:site_name\" content=\"RedLine13\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-22T00:15:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/WebSSampler.png\" \/>\n<meta name=\"author\" content=\"RedLine13\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"RedLine13\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/\"},\"author\":{\"name\":\"RedLine13\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/4acbcdcb8a9c72ec5a274e69c0ebea28\"},\"headline\":\"Cloud Based JMeter WebSocket Testing\",\"datePublished\":\"2016-01-22T00:15:22+00:00\",\"dateModified\":\"2016-01-22T00:15:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/\"},\"wordCount\":580,\"publisher\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/#organization\"},\"keywords\":[\"apache jmeter\",\"load test\",\"websockets\"],\"articleSection\":[\"Blog\",\"JMeter\",\"websockets\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/\",\"url\":\"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/\",\"name\":\"Cloud Based JMeter WebSocket Testing - RedLine13\",\"isPartOf\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/#website\"},\"datePublished\":\"2016-01-22T00:15:22+00:00\",\"dateModified\":\"2016-01-22T00:15:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.redline13.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cloud Based JMeter WebSocket Testing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#website\",\"url\":\"https:\/\/www.redline13.com\/blog\/\",\"name\":\"RedLine13\",\"description\":\"(Almost) Free Load Testing in the Cloud\",\"publisher\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.redline13.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#organization\",\"name\":\"RedLine13\",\"url\":\"https:\/\/www.redline13.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2013\/06\/cropped-rl13-header-logo.jpg\",\"contentUrl\":\"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2013\/06\/cropped-rl13-header-logo.jpg\",\"width\":300,\"height\":68,\"caption\":\"RedLine13\"},\"image\":{\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/4acbcdcb8a9c72ec5a274e69c0ebea28\",\"name\":\"RedLine13\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b4c9a289323b21a01c3e940f150eb9b8c542587f1abfd8f0e1cc1ffc5e475514?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b4c9a289323b21a01c3e940f150eb9b8c542587f1abfd8f0e1cc1ffc5e475514?s=96&d=mm&r=g\",\"caption\":\"RedLine13\"},\"sameAs\":[\"http:\/\/127.0.0.1\"],\"url\":\"https:\/\/www.redline13.com\/blog\/author\/user\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cloud Based JMeter WebSocket Testing - RedLine13","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/","og_locale":"en_US","og_type":"article","og_title":"Cloud Based JMeter WebSocket Testing - RedLine13","og_description":"What are WebSockets The WebSockets specification enables Web applications to maintain bidirectional communications with server-side processes, this specification introduces the WebSocket\u00a0interface. In plain words: You can maintain a persistent connection between client and server which is available for data communication anytime while the connection is open. \u00a0Some resources and tutorials include WebSockets.org HTML5Rocks Introducing WebSockets Using JMeter to Create WebSocket Requests By default, JMeter does not provide a\u00a0websocket sampler. However,\u00a0the JMeter community is pretty powerful. \u00a0\u00a0MaciejRead More &rarr;","og_url":"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/","og_site_name":"RedLine13","article_published_time":"2016-01-22T00:15:22+00:00","og_image":[{"url":"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2016\/01\/WebSSampler.png"}],"author":"RedLine13","twitter_card":"summary_large_image","twitter_misc":{"Written by":"RedLine13","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/#article","isPartOf":{"@id":"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/"},"author":{"name":"RedLine13","@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/4acbcdcb8a9c72ec5a274e69c0ebea28"},"headline":"Cloud Based JMeter WebSocket Testing","datePublished":"2016-01-22T00:15:22+00:00","dateModified":"2016-01-22T00:15:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/"},"wordCount":580,"publisher":{"@id":"https:\/\/www.redline13.com\/blog\/#organization"},"keywords":["apache jmeter","load test","websockets"],"articleSection":["Blog","JMeter","websockets"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/","url":"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/","name":"Cloud Based JMeter WebSocket Testing - RedLine13","isPartOf":{"@id":"https:\/\/www.redline13.com\/blog\/#website"},"datePublished":"2016-01-22T00:15:22+00:00","dateModified":"2016-01-22T00:15:22+00:00","breadcrumb":{"@id":"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.redline13.com\/blog\/2016\/01\/cloud-based-jmeter-websocket-testing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.redline13.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Cloud Based JMeter WebSocket Testing"}]},{"@type":"WebSite","@id":"https:\/\/www.redline13.com\/blog\/#website","url":"https:\/\/www.redline13.com\/blog\/","name":"RedLine13","description":"(Almost) Free Load Testing in the Cloud","publisher":{"@id":"https:\/\/www.redline13.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.redline13.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.redline13.com\/blog\/#organization","name":"RedLine13","url":"https:\/\/www.redline13.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2013\/06\/cropped-rl13-header-logo.jpg","contentUrl":"https:\/\/www.redline13.com\/blog\/wp-content\/uploads\/2013\/06\/cropped-rl13-header-logo.jpg","width":300,"height":68,"caption":"RedLine13"},"image":{"@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/4acbcdcb8a9c72ec5a274e69c0ebea28","name":"RedLine13","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.redline13.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b4c9a289323b21a01c3e940f150eb9b8c542587f1abfd8f0e1cc1ffc5e475514?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b4c9a289323b21a01c3e940f150eb9b8c542587f1abfd8f0e1cc1ffc5e475514?s=96&d=mm&r=g","caption":"RedLine13"},"sameAs":["http:\/\/127.0.0.1"],"url":"https:\/\/www.redline13.com\/blog\/author\/user\/"}]}},"_links":{"self":[{"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/posts\/1491","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/comments?post=1491"}],"version-history":[{"count":0,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/posts\/1491\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/media?parent=1491"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/categories?post=1491"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.redline13.com\/blog\/wp-json\/wp\/v2\/tags?post=1491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}