Documentation and Books

Recent site activity

Blog

Every now and then i will make a blog entry here about various subjects. This could be about news i found on the web or just my thoughts on things.

Release 0.0.1 of CubicEx (additional commands for CubicTest)

posted ‎‎Mar 15, 2009 4:58 AM‎‎ by Ronald Mathies   [ updated ‎‎Mar 15, 2009 11:31 PM‎‎ ]

For the past week i have been working on a library which you can add to CubicTest. This libray will add a number
of custom commands which you can use during your test. I have been working with SeleniumIDE for quite some
time now and i really liked it. However CubicTest add's some really nice new features which i always wanted.

However, CubicTest also lacks some other features which will probably be added in the feature but for the
moment i am missing these. Thats why i came with the idea to create a library for people to use which adds some
of these missing commands.

A lot of command have to do which the JavaScript alert / comfirm and prompt windows. The other set of
command have to do with Ajax calls and waiting for results. And finally all of the commands make extensive
use of memory variables which you can set and use in other commands.

I have setup a project website over here http://www.sodeso.nl/projecten/cubicex, the documentation
describes the current tags and how to install the library and commands.

If you have any additions you would like to see or comments about the existing commands then please
let me know and drop an email at comment at sodeso.nl.

The first release contains the following commands and features:

* Support for JavaScript Confirm and Alert dialog windows.
o ChooseCancelOnNextConfirmation
o ChooseCancelOnNextPrompt
o ChooseOkOnNextConfirmation
o ChooseOkOnNextPrompt
o StoreAlert
o StoreConfirmation
o StorePrompt
o WaitForAlert
o WaitForConfirmation
o WaitForPrompt
* Support for storing values into the memory and using them somewhere else in the script.
o StoreValue
o WriteValue
o StoreAttribute
* Support for certain Wait commands.
o WaitForElementPresent
o WaitForValue
* Some basic Verify commands:
o VerifyChecked
o VerifyNotChecked
o VerifyText
o VerifyChecked
o VerifyNotChecked
* Some basic Assert commands:
o AssertText
* General
o Support variables by using ${} syntax, in this way all text properties can use variables.

Sending comments problem solved...

posted ‎‎Nov 4, 2008 12:50 AM‎‎ by Ronald Mathies

Apparently the e-mails that were send to comment@sodeso.nl did not arrive in my mail box.. So a lot of people were maybe thinking that i did not pickup their comments or just totally ignored all comments.

This is certainly not the case, i merely forgot (yes i am ashamed) to add the e-mail address to my account so all the mails were lost., my sincere apologies for this. All comments about my postings here are valuable to me since this improves the quality of the posts.

My first impression of Google Chrome Part II

posted ‎‎Sep 5, 2008 1:24 AM‎‎ by Ronald Mathies   [ updated ‎‎Sep 5, 2008 4:53 AM‎‎ ]

In my previous post i talked about the installation process, the general browsing experience, the view page source option, the DOM inspector and the JavaScript console. This time i take a closer look at the JavaScript debugger (including a simple how to use), the Task Manager.

But first i would like to point out some information that was in the news for the last few days.

  • Within 10 hours Google Chrome had a market share of 1% which is equal to that of the Opera browser. This is not really a surprise since Google is a well known company and they had really a lot of free advertisement.
  • What i did find interesting was the first bug that was found, apparently when you enter a URL like http:% the browser crashes, now according to the feature list this should not happen. Only the tab in which you type this URL should 'crash' but the rest of the browser should remain in tact.

So, now lets continue with looking at the features of the browser. First up is the Task Manager. The task manager is something new in the browser world, it allows you to see the memory usage, processor load of each tab. This is very interesting because with this you can for example see if the web page doesn't consume too much memory (for example by JavaScript variable storage).

Another interesting feature i found, which i think is undocumented is that you can see a lot more statistics. If you use right mouse click above the table (in the gray area) you get a menu which enables you to see a lot more information. Just click on a menu item to add it.


Here there are also statistics of Google Gears, the V8 JavaScript engine and much more. On the bottom of the screen there is a Stats for nerds link, when you press this a new tab is opened that will show some other details that you might find interesting.


So now for the JavaScript debugger, when you open the screen and type ? and then press enter you can see all available commands:


Most of the commands explain themselves and if you need help then just type help [command] to see more information about a command. I am going to use the following document to show how to use it:

<html>
  <head>
    <script language="javascript">
      function sayHello(name) {
        var text = 'Welcome ' + name;
        var result = addHowAreYou(text);
        alert(result);
      }
     
      function addHowAreYou(text) {
        text += ', how are you?';
        return text;
      }
    </script>
  </head>
  <body>
    <input type="button" onclick="sayHello('Ronald');" value="Say hello!"/>
  </body>
</html>

So i load this page and i fire up the JavaScript debugger. First we set a breakpoint so that Chrome knows when to stop. Setting the breakpoint is done on for example a name of a function. In this case i will set the breakpoint on the sayHello function.


So now we can click on the button in the browser to see the action, when you click on the button the debug window will display a message that it paused at a point in the code and what the line is that still needs to be executed. So here we can see that the addHowAreYou method has not yet been called.


Now that we are in debug mode we can ask Chrome again to see what the available commands are, this changes according to the mode that we are working.

So now we would like to know what the variable name contains, to see this type in print name, when we do that we get the following result:



If we now want to let the script continue to run we can close the window or we can type continue.



And the result is that we get an Alert message on the screen. So the debugger is quite simple and also quite a lot of manual work, but still it can be useful.

Another command is the next command which acts like a step action. So it executes the line where it was waiting and then stops at the line after that.


And the last command that i will explain here is the step command, this allows you to step into a calling method, whereas the next method steps over the calling method and waits at the next line.



The debugger can do a lot more but i will write a separate article about this. Here i just wanted to tell you about the existence and how it works in basic.

So this concludes my second part of my first impression, hope you learned something from it. Up till now i am not sure if i will create a third part since most of the other functions have been handled in detail on other blogs.

The JavaScript debugger will be explained in more detail on this wiki but it could take some time before that is finished.

My first impression of Google Chrome Part I

posted ‎‎Sep 2, 2008 10:00 PM‎‎ by Ronald Mathies   [ updated ‎‎Sep 5, 2008 4:15 AM‎‎ ]

This morning i downloaded the Google Chrome browser and gave it a try to see if i could form myself an opinion about the browser. The time i spend on trying was intentionally not long because i want it to be a first impression in discovering the features and problems i encounter as a user. Today i am looking at the installation process, the general browsing experience, the view page source option, the DOM inspector and the JavaScript console. Later on i will write about the JavaScript debugger and the Task Manager.

After the download which was very fast i installed the application. A first few things i noticed is that the download is so small because the rest of the data is downloaded by the installer.



This is something i always see in two different ways, one is that the download from the website is small which is nice, the downside is that if you want to install the browser in a company which has a quite number of computers it means that every computer will download it's own copy.

After the installation it asks me if i want to start Chrome directly, with this it will by default import the bookmarks and settings and password from Firefox. The first time i installed it i did not notice that there is a link in the dialog that allowed me to change this setting so it will import the settings from Internet Explorer.


As you may notice, the dialogs are not in English by in Dutch, this is because my Windows XP is set to Dutch (although the Windows XP is an English version). This is something i don't like, i use English on my computer for software but Google doesn't allow me to choose the language that i want.

So now when i continue and press ok i get the actual browser in front of me.


And again, i get the Dutch starting page and the whole browser is in Dutch, so the first thing i try to do is to see if i can make a change in the settings to see if i can choose a different language. In the options i can find a button with the font types and languages, i change the language of Chrome to English and it asks me to restart, so after the complete installation it is finally possible to choose a different language, why this can't be done during the installation process i don't know, but it is something that i think of should be improved.

So now lets take a look at the design of the browser, some things i notice:

  • It is very clean, there are not a lot of buttons, no menu's that are in the way and there is no status bar in the bottom of the screen.
  • The user interfaces ignores my theme settings, in this case i don't find it that horrible but it would have been nice to allow me to choose if i want to have the browser in blue or in my theme color.
  • By default there is no home button, however in the Options you can choose to display the home button and set the home page. So this is very easy to solve.
  • For the rest there is not much to say (so far).
So let's start browsing!, the first page i try to open is my mail account, i use Google Apps to have mail on my domain, however for some strange reason i can't get this page to open. Firefox and Internet Explorer have no problem with this and i checked the proxy settings (which buy the way are the same settings Internet Explorer uses). So why this page doesn't work beats me. So i continue to browser and open www.tweakers.net this is a Dutch comunity website for tweakers. The first thing i notice when displaying the page is the speed, it opens very fast. I try to compare it with Firefox and i have the feeling it is even faster then Firefox, this is however just my user experience, i don't have facts to support this.

The first thing i try to do is look at a new browser from a developer perspective, how can the browser support me with my development activities.



The view page source is better then the one in Firefox and Internet Explorer, here the links to style sheets, JavaScript and images are clickabe so you can directly see what is behind the link. There is syntax highlighting which is an improvement compared to Internet Explorer but Firefox also had this. There are line numbers!, this is something that Firefox lacks, Firefox does mention on which line you are but doesn't show the line numbers on the side of the screen.

Another tool for developers is the DOM inspector, in a page right click on a piece of text or button and select Inspect Element, which will display the DOM inspector highlighting the part which you right clicked before.


I have to say that the DOM inspector looks very fancy, it displays the styles of the selected element (including inherited styles) and it displays the metrics of the element. One things you have to look out for is that you keep the page open in the browser, if you close it then the DOM inspector shows some strange behavior with moving code and not updating the information in the right palette.

There is a nice breadcrumb in the bottom of the screen which allows you to jump higher in the node tree. There is also a console option in this screen (the 2nd most right lower button), it allows you to type in JavaScript and execute it. It supports code completion but you need to use the right arrow key to let Chrome fill in the rest of the syntax, this feels strange to me because most IDE environments support the use of the enter key. This part is also the JavaScript console menu item that is in the Developer menu.


The most right lower button is the Dock to main window option, when i press it nothing happens, maybe i don't understand this feature but i would guess that it should attach the DOM inspector in the Chrome browser.

In the DOM inspector there is also a Resources 'tab' which displays the time it took to load the various files for the page, sadly this only works when you have the DOM inspector open, if you use have the page already open it will not perform the statistics so then you see nothing.


But i have to say that i really like this feature. Also something nice is the problems view, when there are problems in the page like missing end tags or not matching tags it will tell you about it. In the bottom bar on the right side a red icon will appear with the number of problems it has discovered, double clicking on this will display the list of problems. When you now click on a row it will show you in the page source where the problem is.


The only downside to this feature is that it can only display the problem in the page source and not in the DOM tree, so you need to locate the problem in the DOM tree by yourself (it is also not possible to use the Inspect Element function to see where the problem is). But it is very possitive that this feature is present.

Also nice is the search box in the DOM inspector, when you search it will display all DOM elements that contain this piece of text in the list, in this way you can directly select the element to where you want to go instead of constantly pressing Next or F3 or
whatever key.


So this concludes part one, hope to see you back for part two soon.

Learning the new features of Eclipse

posted ‎‎Aug 25, 2008 11:13 PM‎‎ by Ronald Mathies

Eclipse has released it's version 3.4 (Ganymede) for some weeks now and this release contains quite some big improvements. A lot of these changes can be found in the New and Noteworthy pages. Although these pages give a nice idea about what has changed it can sometimes still be very nice to actually see some of the features
in more detail with a demo for example. The website live.eclipse.org contains a huge number of webinars, podcasts and demos. A list of demo's and webinars of the Ganymede release (or at least related to Ganymede) which might be interesting to take a look at can be found in this category, the demo's usually don't take that long but they give a good impression on how to use the new features.

My personal favorites are:

This demo presents an introduction to the new Java EE 5 features and the new Web services features that come with the Ganymede release of the Eclipse Web Tools Platform (WTP) project.
Bradley Childs introduces the new JavaScript Development Toolkit in Webtools 3.0. This presentation covers the 7 JSDT features and preferences.
This presentation shows how to get started working on Remote Resources with the Target Management Project in Ganymede. Some of the new TM 3.0 features are especially highlighted.
This presentation covers the significant new features that will be available in the graphical editing framework version 3.4 in the Ganymede release. Specifically the redesigned palette, Zest visualization toolkit, release engineering and component changes are demonstrated.
This presentation covers some of the features that will be available with DLTK 0.95. Specifically, the Project Wizard, Code Editor, Code Navigation, Code Assist and Launching and Debugging features will be discussed. Features are demonstrated using TCL, but also apply to Ruby.
This presentation covers some of the new features and changes that will be available with DTP 1.6. In particular, we’ll focus on Usability Changes to the UI as well as the SQL Query Builder, which is a new component, and integration with other Eclipse projects, such as BIRT and WTP.

In this screencast you are going to see some of the more interesting changes made to the Java development tools for the 3.4 release of Eclipse (Ganymede):

  • Extract class refactoring
  • New quick assists
  • Java editor breadcrumb

Add to dzone...

posted ‎‎Aug 19, 2008 12:58 PM‎‎ by Ronald Mathies   [ updated ‎‎Aug 19, 2008 1:09 PM‎‎ ]

If you see any nice blog entries on this site or some other interesting piece that you think that should be shared with the world the best way to do it is by adding it to dzone, this is the site for Java news. In this case you would not only please the world by sharing information but you would also please me.

New release of Google Android.

posted ‎‎Aug 19, 2008 6:08 AM‎‎ by Ronald Mathies

Google has released version 0.9 of it's Android platform, there is quite a lot of things happening at the moment. Not so long ago the news came out that Android (Or at least the HTC Dream won't have GPS, this is really a pity, especially because there were demo's of Google M
aps running on the Android platform for navigation. Now again they have some bad news, the Bluetooth API has now also been removed along with the GTalkService. So now two key components have been removed from the platform. I personally wonder how this phone is going to compete agains the Nokia N96 and the IPhone 3G. So far i have not seen any information to when these features will be made available, nor is there any information if the hardware will be there but it is just not available in the softare (so that it becomes available by a patch). Of course there is also some good news, the following features have been added with this release:
  • First and most obviously, the new Home screen is included, along with a ton of UI changes for 1.0.
  • Some new applications are included: an Alarm Clock, Calculator, Camera, Music player, Picture viewer, and Messaging (for SMS/MMS conversations.)
  • Several new development tools were added, such as a graphical preview for XML layouts for users of Eclipse, and a tool for constructing 9-patch images.
  • Since we've got a new Home screen application now, we thought the now-obsolete version from the M5 early-look SDK might be helpful to developers, so its source is included as a sample.
  • A number of new APIs are fleshed out and improved, and others are now close to their final forms for 1.0.
  • Tons of bugs were fixed, of course. (If you had problems with the MediaPlayer, try it now!)
If you want to know what the feature will look like then you could take a look at the developer roadmap. If you want to see all the details about what has been changed then read the Release Notes, the Change Overview and the API Delta Report for the details.

Selenium IDE, an almost perfect tool voor regression testing...

posted ‎‎Aug 18, 2008 12:26 AM‎‎ by Ronald Mathies   [ updated ‎‎Oct 7, 2008 6:28 AM‎‎ ]

On my current assignment at the Chamber of Commerce i came into contact with Selenium IDE. This is an extension for Firefox which gives me the ability to record everything i do on a website so that i can replay may complete set of actions. A very nice addition to this is
the ability to export the recorded test to Java (or to an other supported language) as a JUnit test. There are of course some downsides to this system and that is that it sometimes has some problems handling pop-ups or Ajax calls (i explain some solutions on the Wiki, click here to see them).

But all in all i have to say it is a real time saver, even when you don't use it for regression testing but just for developing. For example, some applications require that you completely restart filling in forms before you can actually test certain functionality that you have changed, by recording the test you can at least fill in the forms faster then before.

I can really recommend it to you to just try it out, it will take only about 15 minutes to get the hang of it. Download the extension from here (does not start the download directly) and just try it out with a random website to just see how it works. It is nothing more then clicking a few buttons.

Here are some basic instructions:

1) Install the extension.
2) In Firefox select:
      Tools -> Selenium IDE
3) Now the IDE is opened and should look similar to the picture on the right.
4) In Firefox browse to www.google.com
5) Enter some search criteria and click on Google Search.
6) Now in the found result click on some link to go to that page.

Oke, now we are finished with recording, in the Selenium IDE click on the red round button on the right side of the screen, this will stop Selenium IDE from recording more commands. If you now open a new tab in Firefox and you press the play button (the green arrow pointing to the right) it will start the test again and the end result should be the same as what you did manually. As you can see, it is very simple to use. There are way more complex situations possible, for example storing values from the page in a variable and using them in forms again. Or handling Ajax calls so that you have a wait until the result is retrieved. Handling pop-ups or inserting delays.

The Selenium IDE only runs as a Firefox extension, but when you export the script to a different language (like Java) you can run the script in virtually any browser, so cross browser testing is also a lot easier.

A little bit disappointing: EMF: Eclipse Modeling Framework, Second Edition

posted ‎‎Aug 17, 2008 11:47 PM‎‎ by Ronald Mathies   [ updated ‎‎Aug 18, 2008 12:04 AM‎‎ ]

I think i mentioned before that i started reading EMF: Eclipse Modeling Framework, Second Edition, i have to say first that the book is not released yet (expected end of august or begin September). But Safari Books gives the reader the opportunity to already order it online, and if you are willing to pay a little bit more (well, in my honest opinion, quite a lot more) you can have access to a digital version which is not finished yet. For this you pay around $34.99 extra (which is about 24 Euro's), imagine that the price of the book in hardcopy is the same (so you pay the same for a digital not finished copy) but probably that is the price you pay for having an early release.

So i read the comments so far on the website and there were some complaints about images not being displayed properly in the PDF, but those comments were quite old and the author replied that he had contact with the publisher that they would solve this problem soon. So i bought the hard copy and the PDF version of the book, because i really would like to do something with EMF. So when i downloaded the PDF i was amazed (well actually not) that indeed the images are still not displayed, so for the first few chapters this is not actually a problem, but when you come to chapter 4 which will guide you to do actually something yourself you directly get stuck because you miss the diagrams. So basically the early edition of the book is in my case completely useless. I have to say that i am very disappointing about this, they know about the problem for more then a month now and they don't take any action.

But for the rest, the first few chapters are nice, it is easy to read and it explains very clear how things are related to each other, now lets just hope that the image problem is solved soon.

Hibernate release 3.3.0 GA

posted ‎‎Aug 17, 2008 5:16 AM‎‎ by Ronald Mathies

The Hibernate team has release version 3.3.0 GA of Hibernate. This release has a few very noticeable changes compared to the 3.2.0 GA release:
  1. Migration to a Maven-based build
  2. Splitting of the project into modular jars (here I mean what Maven calls modules). This allows users to easily see and minimize dependencies.
  3. Redesigned second-level caching SPI
  4. Integration with JBossCache 2.x as a second level cache provider.
The full distribution can be found on SourceForge or make use of the Maven artifacts from the JBoss Maven repository. There are some comments about the documentation, especially for the Chinese, Japanese and Korean version, apparently the rendering of the text within Acrobat Reader (Chinese version) presents only sharps (#) in the text. But sofar this is the experience of a single user (i have not seen comments about this somewhere else)

‹ Prev    1-10 of 16    Next ›