<?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>A Log on JavaScript &#187; testing</title>
	<atom:link href="http://www.jslog.com/tag/testing/feed" rel="self" type="application/rss+xml" />
	<link>http://www.jslog.com</link>
	<description></description>
	<lastBuildDate>Thu, 21 Jul 2011 11:00:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>What I expect from ExtJS 4</title>
		<link>http://www.jslog.com/what-i-expect-from-extjs-4</link>
		<comments>http://www.jslog.com/what-i-expect-from-extjs-4#comments</comments>
		<pubDate>Sun, 12 Sep 2010 20:09:51 +0000</pubDate>
		<dc:creator>radu</dc:creator>
				<category><![CDATA[ExtJS]]></category>
		<category><![CDATA[extjs4]]></category>
		<category><![CDATA[graphs]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[raphael]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[theming]]></category>

		<guid isPermaLink="false">http://www.jslog.com/?p=225</guid>
		<description><![CDATA[Well, as many of you know, the guys from Sencha are already working on ExtJS 4, and will be showing an preview at the Sencha Conference in San Francisco. As I won&#8217;t attend (there&#8217;s quite a distance from Cluj-Napoca, Romania to San Francisco), I am expressing here some opinions on what I think would be [...]]]></description>
			<content:encoded><![CDATA[<p>Well, as many of you know, the guys from Sencha are already working on ExtJS 4, and will be showing an preview at the Sencha Conference in San Francisco. As I won&#8217;t attend (there&#8217;s quite a distance from <a href="http://maps.google.ro/?ie=UTF8&amp;hq=&amp;hnear=Cluj-Napoca,+Cluj&amp;ll=46.800059,23.598633&amp;spn=8.153282,19.753418&amp;z=6" target="_blank">Cluj-Napoca, Romania</a> to San Francisco), I am expressing here some opinions on what I think would be nice to have in the upcoming ExtJS version. All these are gathered in one full year of experience and heavy development with ExtJS, and previous years of experience with JavaScript and some jQuery.</p>
<ol>
<li><strong>Keep the DOM small</strong>. I know all the DOM elements in ExtJS have a reason and they are needed in order to have nicely rounded corners in all browsers and consistent behavior. Yet it&#8217;s quite too much, especially for large applications. I am currently developing a large web 2.0 application with ExtJS and on older browsers the performance is a big issue (you should read IE 7 and 8). The application behaves well with Firefox 3.5+ and runs the smoothest with Chrome. But when having more than just 2,3 windows and a simple grid, when you have live events and Comet notifications, stores sharing data and large UI controls, you have to start thinking on how to keep everything running smoothly. The next points touch on keeping the DOM small as well.</li>
<li><strong>Drop IE 6 support</strong>. We all hate it. Google dropped it and so should the team at Sencha. All the DOM elements are needed for old browsers like IE 6. But we could drop support for it and have a smaller DOM, so better performance and happier users. Those who still need IE 6 can continue on the 3.x ExtJS branch. Come on, we now have HTML5 and CSS3. I know the adoption is not the best, but hey, we are web developers, let&#8217;s push at least for a minimum subset of it to be out there.</li>
<li><strong>Integrate </strong><a href="http://raphaeljs.com/" target="_blank"><strong>Raphael</strong></a><strong> graphs</strong>. It was nice to see Sencha being formed and acquiring Raphael and jqTouch. We now saw jqTouch contributing to Sencha Touch. The next normal step I think is to integrate Raphael graphs into ExtJS. I really suppose this is the intention, but let&#8217;s mention it upfront, just in case. It&#8217;s nice to have charting, but Flash is not the best sollution.</li>
<li><strong>Give us an integrated test platform</strong>. Testing is important, but we don&#8217;t see it so often in our own ExtJS apps. Yes, <a href="http://www.jslog.com/testing-extjs-with-selenium-automating-ui-tests" target="_blank">we test with Selenium</a>, and this is a great tool, but show us the testing framework in ExtJS. As far as I know, the Sencha team is using a customized <a href="http://developer.yahoo.com/yui/3/test/" target="_blank">YUI Test</a> framework. Would be nice if they shared it, so we can all benefit.</li>
<li><strong>Custom theming</strong>. This is a well known issue, but let&#8217;s just recap we need this. ExtJS would benefit from a much larger adoption if they had an easy way to build themes, like the <a href="http://jqueryui.com/themeroller/" target="_blank">jQueryUI theme roller</a>. Let&#8217;s face it, on this issue, jQuery is far more attractive. I didn&#8217;t like to say it, but that&#8217;s the truth. With the help of a designer I have put up a custom theme, and yes&#8230;. you have a bit of headache. It&#8217;s not like you&#8217;re building it in one day, if you want something a bit more complicated and flashy. It was nice to see SASS being used in Sencha Touch. This is a first step towards easy, custom theming.</li>
<li><strong>Distribution builder</strong>. ExtJS is very nice, but sometimes you just need a bit of it. You just want a window and a grid, so importing the whole library is quite expensive. I know this was present with the ExtJS 2 distribution, and let&#8217;s hope we&#8217;ll have it back again. A workaround on this would be using the Google Closure JavaScript Compiler to have the unused code removed from our apps. Then we would still have problems with the &#8216;<strong>xtype</strong>&#8216; config, and would probably need to artificially instantiate all the components which have their xtype used in the application. Anyway, this is just an idea to try out, but it would be nice to have something from the official distribution.</li>
</ol>
<p>These are not all the issues that would be nice to have, but at least the most important that come to mind. It&#8217;s nice to see the ExtJS ecosystem at work and new components popping up, like the pivot grid, the calendar etc.</p>
<p>So&#8230; looking forward to ExtJS version 4 and hoping to see that many (why not all?) of these issues find their way into the framework. Looking forward to see the great work! Keep up!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jslog.com/what-i-expect-from-extjs-4/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Testing ExtJS with Selenium &#8211; Automating UI Tests</title>
		<link>http://www.jslog.com/testing-extjs-with-selenium-automating-ui-tests</link>
		<comments>http://www.jslog.com/testing-extjs-with-selenium-automating-ui-tests#comments</comments>
		<pubDate>Wed, 14 Jul 2010 17:00:33 +0000</pubDate>
		<dc:creator>radu</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[quick tips]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[ExtJS]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.jslog.com/?p=217</guid>
		<description><![CDATA[Automation testing of UI is essential in any big project, but it is difficult to achieve this for user interfaces built with ExtJS. Selenium records user actions, by clicks on elements, and memorizes the ids of the selected elements. Yet since ExtJS auto-generates ids which are not guaranteed to stay the same, you cannot rely [...]]]></description>
			<content:encoded><![CDATA[<p>Automation testing of UI is essential in any big project, but it is difficult to achieve this for user interfaces built with ExtJS. Selenium records user actions, by clicks on elements, and memorizes the ids of the selected elements. Yet since ExtJS auto-generates ids which are not guaranteed to stay the same, you cannot rely on this. The same problem is when you simply add a small change (add a label, etc), so the generation (if you relied on it to be the same) will totally change and the automated tests will be ruined.
</p>
<p>
Instead, <b>Selenium tests for ExtJS should rely on CSS selectors</b>. For every button, grid, label, tab or any significant UI element, I simply chose to use the <strong>cls</strong> attribute and specify a CSS class.</p>
<pre class="prettyprint">
new Ext.Button({
    text: 'Ok',
    cls: 'seleniumOkButton', //can have more classes, separated by space
    scope: this,
    handler: function(){ ... }
})
</pre>
<p>This is how a basic button that is used in automation testing looks like. And I use the following XPath selector in Selenium:</p>
<pre class="prettyprint">
//table[contains(@class,'seleniumOkButton')]
</pre>
</p>
<p>Happy automated testing!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jslog.com/testing-extjs-with-selenium-automating-ui-tests/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

