Automating procedures using Sikuli

A few days ago, I came across an interesting open-source GUI testing application called Sikuli. This tool promises to automate just about any procedure involving graphical elements displayed on the screen, using a vision engine to intelligently match regions of your GUI display to widgets where you might click, drag, or type things. Sikuli is distributed under the permissive MIT License.

Internet Explorer 31-stylesheet limit

After half an hour of editing ie6.css and wondering why the heck my customizations weren't actually showing up in MSIE, I came across a bit of CSS trivia that I'd forgotten, if I ever knew it at all: Internet Explorer can only load 31 stylesheets. Maybe this is due to the stylesheets being indexed by a 5-bit number? I can't imagine a logical reason for such an arbitrary limit.

IE6 Quote

"Whoever makes a computer virus that silently upgrades everyone to IE8 will be a national hero" -- Eric Pierce

Displaying content based on logged in status, and updating view count on a view

Using a customfield view field:
global $user;
if ($user->uid) {
         echo $content_to_display;
if (!$user->uid) {
echo substr($content_to_display,0,350);
echo " [...] <a href=\"/user/register\">Register</a> or <a href=\"/user/login\">log in</a>  to read more.";
// Need to do this b/c statistics won't update from a view
// Based on statistics.module
// MPF Oct 19, 2009
// A node has been viewed, so update the node's counters.

The Grinder

After getting into OpenSTA, we're switching to The Grinder for our opensource performance testing. Thought this was interesting:

1.1.3. How does The Grinder stack up against a commercial tool like Mercury Interactive's LoadRunner™?

Here is an edited version of Tom Braverman's post to grinder-use.

A few reasons:

* The Grinder is lightweight

Compared to setting up LoadRunner or some other full featured tools, The Grinder is trivial to install and get running.
* The Grinder is a programmer's load tester

LoadRunner Timestamps

For simplicity's sake, the following are some timestamps you can use in LoadRunner:
    lr_save_datetime("%m/%d/%y 00:00:00", DATE_NOW + ONE_DAY + ONE_DAY, "in_two_days");
    lr_save_datetime("%m/%d/%y 00:00:00", DATE_NOW + ONE_DAY , "in_one_day");
    lr_save_datetime("%m/%d/%y %H:%M:%S", DATE_NOW + ONE_HOUR + ONE_HOUR, "in_two_hours");

Drupal Ubercart Error

I received the following error in a virtual merchant payment gateway in UberCart:

Credit card payment declined error message. Array ( [errorCode] => 4009 [errorName] => Required Field Not Supplied [errorMessage] => The field Customer Code (ssl_customer_code) required but not supplied in the authorization request. )

To fix this, add the following between line 118 and 119 in uc_virtualmerchant.module:

'ssl_customer_code' => 1111,

Joomla Performance Grader

For any Joomla sites out there, I'd highly recommend testing your site using the Joomla Performance Grader found here:,com_performance/Itemid...

Very detailed and Joomla-specific testing done here, it definitely helps with page load speed.

Syndicate content