Soooo. It's official :)! Nick has finally gotten promoted. He is now an Assistant Store Manager for Starbucks. He fills out his paperwork on the 3rd, but his title has already been changed. We are happy : )! It has been a very long time in coming!!
CONGRATULATIONS NICK!!!
Showing posts with label Work. Show all posts
Showing posts with label Work. Show all posts
Monday, September 22, 2008
Tuesday, September 02, 2008
Google Chrome - niftykeen
Of course I couldn't resist checking out google's new beta browser, 'Chrome'. I'm actually writing this post using it right now. Initial impression - this thing is nifty. Sure, there will be some getting used to the feel and I haven't gotten into many of the special features yet, but on Vista it's rendering the pages lightning-fast and has some built-in features that are ideal for QA - like the Inspector:

It shows page load graphs, element sizes, and has a full element inspector that will let you go through the source line by line, show dimensions, css, etc. All things I had to install Firebug to do in FF.
Even better is the Task Manager, which will break down memory, cpu and network usage for each of the apps/processes running within your browser. Now you can easily see if it's really your page or if it's the 20 gossip blogs you have open in the background that are killing your browser.

So far I'm liking it. I dunno if it'll replace my beloved Firefox, or even if I want it to, but right out of the box it includes some pretty nifty features that make it worth playing around with.

It shows page load graphs, element sizes, and has a full element inspector that will let you go through the source line by line, show dimensions, css, etc. All things I had to install Firebug to do in FF.
Even better is the Task Manager, which will break down memory, cpu and network usage for each of the apps/processes running within your browser. Now you can easily see if it's really your page or if it's the 20 gossip blogs you have open in the background that are killing your browser.

So far I'm liking it. I dunno if it'll replace my beloved Firefox, or even if I want it to, but right out of the box it includes some pretty nifty features that make it worth playing around with.
Thursday, July 31, 2008
Geeking Out
Okay... I'm so damn pleased with myself, I can't help posting about it. I've had a little downtime at work for the past few days, so I spent some time writing up regression tests using the Selenium IDE for my websites's tracking tags. I didn't want to rely on just a static set of pages/urls to use in my tests, so it was a little tricksier than just saying "this page should use the following values, assert that they're there." Instead, I needed to pull the values off of the page I hit, and then, depending on the page type, compare what was in our tracking tags, and verify they matched.
... but wait, it was worse than that, because of two things:
1. The format for the tracking tags doesn't always match the format for the data on the page (i.e., Rock & Alternative on the page = rock_n_alternative in the tag).
2. In some cases, there was nowhere in the html source of the page where I could find the expected data. For this, I needed to actually pull the data out of the database, store it in a variable, and then compare the variable to the tag.
So... for number 1, I used some javascript expressions to transform the data. If, as an example, Rock & Alternative was in the h4 tag on the page, my script went like this:
Command: storeText
Target: //h4
Value: navGenre
Command: storeExpression
Target: javascript{storedVars['navGenre'].toLowerCase().replace(/( |\-)/g,'_').replace('&','n')}
Value: genre
That got me the expected format for the genre in a 'genre' variable that I could compare against the tag in the tracking code.
For number 2, the record ID for each item on the page is the last piece of the url for the page. I'm in luck that my db can be queried using an http request, so using the following regular expression, I was able to cut everything but the last piece of the url from the page to get the record ID I needed, and store it in a variable:
Command: storeLocation
Target: curPage
Command: storeExpression
Target: javascript{storedVars['curPage'].replace(/.*\/([^\/]{0})/,'')}
Value: assetID
Then, I plugged that variable into an url, like:
Command: open
Target: http://my.db.serverurl/select/?q=select+something+from+mytable+where+assetID%3D+${assetID}
(this is obviously not the actual url, because I think I'd get in trouble if I just passed that out.)
Once I hit that query, my results are in an html table, so it's not hard to construct an xpath to pull the cell from the table I wanted and store it in another variable, then go back to my test page and verify that the data matched in the tag.
Ta-da! I can now do lookups in my db for anything I want, store the data in variables, and then compare that data to the values on my page. Of course, it'd be easier if they stored that data in the source of the page somewhere, but I'd rather have dev pushing new code than rewriting existing pages just to make my regression tests easier.
... but wait, it was worse than that, because of two things:
1. The format for the tracking tags doesn't always match the format for the data on the page (i.e., Rock & Alternative on the page = rock_n_alternative in the tag).
2. In some cases, there was nowhere in the html source of the page where I could find the expected data. For this, I needed to actually pull the data out of the database, store it in a variable, and then compare the variable to the tag.
So... for number 1, I used some javascript expressions to transform the data. If, as an example, Rock & Alternative was in the h4 tag on the page, my script went like this:
Command: storeText
Target: //h4
Value: navGenre
Command: storeExpression
Target: javascript{storedVars['navGenre'].toLowerCase().replace(/( |\-)/g,'_').replace('&','n')}
Value: genre
That got me the expected format for the genre in a 'genre' variable that I could compare against the tag in the tracking code.
For number 2, the record ID for each item on the page is the last piece of the url for the page. I'm in luck that my db can be queried using an http request, so using the following regular expression, I was able to cut everything but the last piece of the url from the page to get the record ID I needed, and store it in a variable:
Command: storeLocation
Target: curPage
Command: storeExpression
Target: javascript{storedVars['curPage'].replace(/.*\/([^\/]{0})/,'')}
Value: assetID
Then, I plugged that variable into an url, like:
Command: open
Target: http://my.db.serverurl/select/?q=select+something+from+mytable+where+assetID%3D+${assetID}
(this is obviously not the actual url, because I think I'd get in trouble if I just passed that out.)
Once I hit that query, my results are in an html table, so it's not hard to construct an xpath to pull the cell from the table I wanted and store it in another variable, then go back to my test page and verify that the data matched in the tag.
Ta-da! I can now do lookups in my db for anything I want, store the data in variables, and then compare that data to the values on my page. Of course, it'd be easier if they stored that data in the source of the page somewhere, but I'd rather have dev pushing new code than rewriting existing pages just to make my regression tests easier.
Your Superhero Name
I picked this up on another blog. I meant to save it for later what with the recent spate of postings on here, I figured we could all use a break, but whatever . . . I'm bored already.
YOUR ROCK STAR NAME: (first pet & current car)
Tootsie Scion
YOUR “FLY Guy/Girl” NAME: (first initial of first name, first three letters of your last name)
O-BIL (I wonder what Livvy's will be LOLOL!!!)
YOUR DETECTIVE NAME: (favorite color, favorite animal)
Green Penguin
YOUR SOAP OPERA NAME: (middle name, city where you were born)
Lenore Fort Gordon
YOUR STAR WARS NAME: (the first 3 letters of your last name, first 2 letters of your first)
BILOR
SUPERHERO NAME: (”The” + 2nd favorite color, favorite drink)
The Blue Beer
NASCAR NAME: (the first names of your grandfathers)
Orval Jack
STRIPPER NAME: ( the name of your favorite perfume/cologne/scent, favorite candy)
Coconut Ginger
WITNESS PROTECTION NAME: (mother’s & father’s middle names)
Elaine Leroy
TV WEATHER ANCHOR NAME: (Your 5th grade teacher’s last name, a major city that starts with the same letter)
Bowditch Boise (Spaced on fifth grade teacher's name, sixth grade will have to do)
SPY NAME/BOND GIRL: (your favorite season/holiday, flower)
Winter Orchid
CARTOON NAME: (favorite fruit, article of clothing you’re wearing right now + “ie” or “y”)
Apple Jeany
HIPPY NAME: (What you ate for breakfast, your favorite tree)
Grapefruit Willow
YOUR ROCKSTAR TOUR NAME: (”The” + Your fave hobby/craft, fave weather element + “Tour”)
The Reading Snow Tour
YOUR ROCK STAR NAME: (first pet & current car)
Tootsie Scion
YOUR “FLY Guy/Girl” NAME: (first initial of first name, first three letters of your last name)
O-BIL (I wonder what Livvy's will be LOLOL!!!)
YOUR DETECTIVE NAME: (favorite color, favorite animal)
Green Penguin
YOUR SOAP OPERA NAME: (middle name, city where you were born)
Lenore Fort Gordon
YOUR STAR WARS NAME: (the first 3 letters of your last name, first 2 letters of your first)
BILOR
SUPERHERO NAME: (”The” + 2nd favorite color, favorite drink)
The Blue Beer
NASCAR NAME: (the first names of your grandfathers)
Orval Jack
STRIPPER NAME: ( the name of your favorite perfume/cologne/scent, favorite candy)
Coconut Ginger
WITNESS PROTECTION NAME: (mother’s & father’s middle names)
Elaine Leroy
TV WEATHER ANCHOR NAME: (Your 5th grade teacher’s last name, a major city that starts with the same letter)
Bowditch Boise (Spaced on fifth grade teacher's name, sixth grade will have to do)
SPY NAME/BOND GIRL: (your favorite season/holiday, flower)
Winter Orchid
CARTOON NAME: (favorite fruit, article of clothing you’re wearing right now + “ie” or “y”)
Apple Jeany
HIPPY NAME: (What you ate for breakfast, your favorite tree)
Grapefruit Willow
YOUR ROCKSTAR TOUR NAME: (”The” + Your fave hobby/craft, fave weather element + “Tour”)
The Reading Snow Tour
Thursday, September 27, 2007
Aaaah..... the beauty of unmoderated comments
This link is probably the most shared url between AOL employees at the moment.
Any bets on how long that link will still be live? It's over a week old, so I hold out a shred of hope that Leonsis has noticed the comments already, and has deliberately chosen to let it stand. It would be even nicer if he took a lesson from them, and went and kicked the two executives in question in the shins - figuratively speaking, but literally would be super-cool.
Any bets on how long that link will still be live? It's over a week old, so I hold out a shred of hope that Leonsis has noticed the comments already, and has deliberately chosen to let it stand. It would be even nicer if he took a lesson from them, and went and kicked the two executives in question in the shins - figuratively speaking, but literally would be super-cool.
Subscribe to:
Posts (Atom)