{"id":444,"date":"2003-07-03T16:53:15","date_gmt":"2003-07-03T20:53:15","guid":{"rendered":"http:\/\/wordpress.cephas.net\/?p=444"},"modified":"2003-07-03T16:53:15","modified_gmt":"2003-07-03T20:53:15","slug":"jakarta-latka","status":"publish","type":"post","link":"https:\/\/cephas.net\/blog\/2003\/07\/03\/jakarta-latka\/","title":{"rendered":"Jakarta Latka"},"content":{"rendered":"<p>I have a peculiar interest in testing tools&#8230; I&#8217;ve mentioned JMeter (which is more of a stress testing tool) a couple times before, I just found a new one on the Jakarta site call <a href=\"http:\/\/jakarta.apache.org\/commons\/latka\/index.html\">Latka<\/a>, which &#8220;<i>&#8230; is a functional (end-to-end) testing tool. It is implemented in Java, and uses an XML syntax to define a series of HTTP (or HTTPS) requests and a set of validations used to verify that the request was processed correctly.<\/i>&#8221;  <\/p>\n<p>The cool thing about Latka is the non Java part&#8230; anyone that understands a little XML can create and\/or edit an xml document that defines an &#8216;test&#8217; and then run it using the Latka engine.  So for instance, here at <a href=\"http:\/\/www.mindseye.com\/\">Mindseye<\/a> our QA team is composed of invididuals with a small amount of programming experience.  They could easily create a Lakta test using the xml syntax and then automate the testing of various applications using Latka.  Still not convinced, here&#8217;s a sample test:<\/p>\n<p>&lt;?xml version=&#8221;1.0&#8243; standalone=&#8221;no&#8221;?&gt;<br \/>\n&lt;!DOCTYPE suite PUBLIC &#8220;-\/\/Apache Software Foundation\/DTD Latka Test Suite 1.0\/EN&#8221;<br \/>\n&nbsp;&nbsp;&nbsp;&#8220;http:\/\/jakarta.apache.org\/commons\/latka\/dtds\/1.0\/suite.dtd&#8221;&gt;<br \/>\n&lt;suite defaultHost=&#8221;http:\/\/www.mindseye.com&#8221; label=&#8221;mindseye&#8221;&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&lt;request path=&#8221;\/whymindseye\/default.cfm&#8221; label=&#8221;why you should choose mindseye&#8221; method=&#8221;get&#8221; secure=&#8221;false&#8221; followRedirects=&#8221;true&#8221;&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;validate&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;statusCode code=&#8221;200&#8243; \/&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;regexp pattern=&#8221;What drives landmark companies&#8221; \/&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/validate&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&lt;\/request&gt;<br \/>\n&lt;\/suite&gt;<\/p>\n<p>Save this to a file and then type:<\/p>\n<p>latka file:PATH_TO_FILE<\/p>\n<p>from the command line.  It should check that the page http:\/\/www.mindseye.com\/whymindseye\/default.cfm returns an HTTP status code 200 and that it contains the phrase &#8220;What drives landmark companies&#8221;.<\/p>\n<p>Unfortunately, Latka doesn&#8217;t <a href=\"http:\/\/jakarta.apache.org\/commons\/latka\/changelog.html\">appear<\/a> that anyone is working on it (at least since last July).  <\/p>\n<p>On a related note, I also found this Slashdot discussion on &#8220;<a href=\"http:\/\/ask.slashdot.org\/askslashdot\/02\/09\/13\/1724254.shtml?tid=156\">Testing Products for Web Applications?<\/a>&#8220;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have a peculiar interest in testing tools&#8230; I&#8217;ve mentioned JMeter (which is more of a stress testing tool) a couple times before, I just found a new one on the Jakarta site call Latka, which &#8220;&#8230; is a functional (end-to-end) testing tool. It is implemented in Java, and uses an XML syntax to define &hellip; <a href=\"https:\/\/cephas.net\/blog\/2003\/07\/03\/jakarta-latka\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Jakarta Latka<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[3,2,12,10],"tags":[],"_links":{"self":[{"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/posts\/444"}],"collection":[{"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/comments?post=444"}],"version-history":[{"count":0,"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/posts\/444\/revisions"}],"wp:attachment":[{"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/media?parent=444"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/categories?post=444"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cephas.net\/blog\/wp-json\/wp\/v2\/tags?post=444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}