<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Altentee » Performance &#38; Test Automation Experts &#187; BO</title>
	<atom:link href="http://altentee.com/blogs/tag/bo/feed/" rel="self" type="application/rss+xml" />
	<link>http://altentee.com</link>
	<description>Performance and Test Automation Experts</description>
	<lastBuildDate>Fri, 04 Nov 2011 03:17:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
		<item>
		<title>Business Objects correlation</title>
		<link>http://altentee.com/blogs/2007/business-objects-correlation/</link>
		<comments>http://altentee.com/blogs/2007/business-objects-correlation/#comments</comments>
		<pubDate>Thu, 17 May 2007 23:30:29 +0000</pubDate>
		<dc:creator>Tim Koopmans</dc:creator>
				<category><![CDATA[Altentee]]></category>
		<category><![CDATA[BO]]></category>
		<category><![CDATA[loadrunner]]></category>

		<guid isPermaLink="false">http://90kts.com/blog/2007/business-objects-correlation/</guid>
		<description><![CDATA[I have been working on some template LoadRunner scripts for Business Objects Web Intelligence / Crystal Reports which require good ole fashioned manual correlation. Before writing this post, in the background I have been working on a tool comparison between LoadRunner and my increasing favourite JMeter with a simple (?) scripting exercise that goes through [...]]]></description>
			<content:encoded><![CDATA[<p>I have been working on some template LoadRunner scripts for Business Objects Web Intelligence / Crystal Reports which require good ole fashioned manual correlation.</p>
<p>Before writing this post, in the background I have been working on a tool comparison between LoadRunner and my increasing favourite JMeter with a simple (?) scripting exercise that goes through recording, replaying and correlating data for Business Objects. Common to both tools, is the requirement to correlate essential run time data. As my good Dutch friend Desiderius Erasmus once told us in 1466 &#8230;<br />
<blockquote>In the land of the blind, the one-eyed man is king.<br />
[In regione caecorum rex est luscus.]</p></blockquote>
<p>Knowing how to <a href="http://www.myloadtest.com/loadrunner-correlation-exercise/">correlate</a> is key &#8230;</p>
<p>But how?</p>
<p><span id="more-276"></span></p>
<p>I&#8217;m not sure knowing <em>how</em> to correlate is something that can be taught. But I could be wrong. Inevitably I think it&#8217;s practice but a good (simple) tool can go a long way to helping your cause. And I&#8217;m not talking about LoadRunner either and it&#8217;s ability to <em>automatically</em> correlate data.</p>
<p>The tools I like and the reasons why are listed as follows:</p>
<p>1. Start off with something simple that can capture (record) a clean/working session. End to end. For this simple task I like to use Mozilla&#8217;s plugin for firefox called <a href="http://livehttpheaders.mozdev.org/">Live HTTP Headers</a><br />
<a href='http://90kts.com/blog/wp-content/uploads/2007/05/livehttpheaders.png' title='Live HTTP Headers'><img src='http://90kts.com/blog/wp-content/uploads/2007/05/livehttpheaders.thumbnail.png' alt='Live HTTP Headers' /></a>.</p>
<p>2. Once you have your clean session, you can always refer back to it for later comparison. I also like to save multiple copies of<em>clean</em> sessions in whatever load testing tool I&#8217;m using be it Load Runner or JMeter. However with something like Live HTTP Headers you are going to get all the detail including HTTP headers, content types, what&#8217;s being written to cookies, User-Agents and a multitude of other tid-bits that have affected automated attempts for me in the past&#8230;</p>
<p>3. Make use of tools already at your disposal. LoadRunner&#8217;s implementation of <a href="http://www.myloadtest.com/wdiff-file-no-longer-available-problem/">WDiff</a> is handy but my favourite tool for file comparisons and a multitude of other handy features is <a href="http://www.vim.org/">GVim</a>.</p>
<p>4. On the subject of vim, once you find the data that needs to be correlated, finding where it exists in the session is a lot easier, especially with search highlighting.<br />
<a href='http://90kts.com/blog/wp-content/uploads/2007/05/searchhighlighting.png' title='Search Highlighting with vim'><img src='http://90kts.com/blog/wp-content/uploads/2007/05/searchhighlighting.thumbnail.png' alt='Search Highlighting with vim' /></a></p>
<p>5. When all else fails, or you are having difficulty playing spot the difference, you can&#8217;t go past diff tools. If you&#8217;re using GVim you&#8217;ll get a nice side by side comparison of the data you are trying to diff. I recommend that you RTFM on diff tools, as a proper understanding will save you alot of time. I remember being quite put off by diff when I first starting using it but can&#8217;t recommend it strongly enough now.</p>
<p>So that&#8217;s it for the tools. Back to the topic at hand, for those that just wanted to know how to correlate Business Objects, the key data that needs to be correlated regardless of your choice in load testing tools are:</p>
<p>1. Cookies &#8211; quite obviously. Add the Cookie Manager to your test plan (JMeter users) if you haven&#8217;t already done so. Goes without saying. LoadRunner will handle this for you by default.</p>
<p>2. The logon object has a query parameter called token that you&#8217;ll need to parametize:<br />
<code><br />
// {param_token} = "NUS740PI:36400@1566JMtQROFQXUPQDwl41563J0P6vGHijC9eTob4ONEOFF"<br />
	web_reg_save_param("param_token",<br />
		"LB=token=",<br />
		"RB=&#038;",<br />
		"Ord=1",<br />
		"Search=Body",<br />
		"RelFrameId=1",<br />
		LAST);<br />
</code></p>
<p>2. The main &#8216;body&#8217; of your script will require <em>sEntry or strEntry</em> to be parametized. But that&#8217;s the tricky part and to be honest, something I wasted a few hours trying to puzzle out. sEntry is a <em>changing</em> dynamic value, so you need to parametize it at different points through your script. I know that&#8217;s a tautology in itself, but what I&#8217;m trying to say is that it has more than one value. You won&#8217;t get away with parametizing it at the first instance. The only way I spotted this was using diff and search highlighting in vim.<br />
<code><br />
// {param_getPrompts_sEntry} created by tim.koopmans@90kts.com<br />
// must precede web_url("viewCDZDocument.jsp" ...<br />
	web_reg_save_param("param_getPrompts_sEntry",<br />
		"LB=sEntry=",<br />
		"RB=&#038;",<br />
		"Ord=1",<br />
		"RelFrameId=1",<br />
		"Search=Body",<br />
		"IgnoreRedirections=Yes",<br />
		LAST);</p>
<p>// Parameter {param_processPrompts_sEntry} created by tim.koopmans@90kts.com<br />
// must preced web_url("getPrompts.jsp" ...<br />
	web_reg_save_param("param_processPrompts_sEntry",<br />
		"LB=strEntry=\"",<br />
		"RB=\"",<br />
		"Ord=1",<br />
		"RelFrameId=1",<br />
		"Search=Body",<br />
		"IgnoreRedirections=Yes",<br />
		LAST);</p>
<p>// Parameter {param_report_sEntry} created by tim.koopmans@90kts.com<br />
// must precede  web_submit_data("processPrompts.jsp" ...<br />
	web_reg_save_param("param_report_sEntry",<br />
		"LB=sEntry=",<br />
		"RB=&#038;",<br />
		"Ord=1",<br />
		"RelFrameId=1",<br />
		"Search=Body",<br />
		"IgnoreRedirections=Yes",<br />
		LAST);<br />
</code><br />
Hopefully that saves someone else some pain when correlating data for Business Objects.</p>
]]></content:encoded>
			<wfw:commentRss>http://altentee.com/blogs/2007/business-objects-correlation/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

