Archive for February, 2006

Internet Explorer shortcut keys (IE7 too)


The Internet Explorer team posted a blog entry on the new Internet Explorer 7 shortcut keys. It’s obvious they’ve put a lot of focus on making tabs easier to use (which is cool). If you’re anything like me, you’re in a Web browser nearly all day (most the time testing) and the quickest way to get around is with shortcut keys. As a gift to you my dear reader, I’ve compiled all the shortcut keys I could find for the various versions of Internet Explorer:

Internet Explorer 7 shortcut keys:

Tabs shortcut keys:

To do the following Press this
Open links in a new tab in the background Ctrl+Click
Open links in a new tab in the foreground Ctrl+Shift+Click
Open a new tab in the foreground Ctrl+T
Switch between tabs Ctrl+Tab / Ctrl+Shift+Tab
Close current tab (or current window when there are no open tabs) Ctrl+W
Open a new tab in the foreground from the address bar Alt+Enter
Switch to the n’th tab Ctrl+n (n can be 1-8)
Switch to the last tab Ctrl+9
Close other tabs Ctrl+Alt+F4
Open quick tabs Ctrl+Q

Zoom shortcut keys:

To do the following Press this
Increase zoom (+ 10%) Ctrl+(+)
Decrease zoom (-10%) Ctrl+(-)
Original size (100% zoom)* Ctrl+0

Search shortcut keys:

To do the following Press this
Go to the Toolbar Search Box Ctrl+E
Open your search query in a new tab Alt+Enter
Bring down the search provider menu Ctrl+Down Arrow

Favorites Center shortcut keys:

To do the following Press this
Open Favorites Center to your favorites Ctrl+I
Open Favorites Center to your history Ctrl+H
Open Favorites Center to your feeds Ctrl+J

Even with all these cool keyboard hotkeys we’ve introduced a few helpful shortcuts for mouse users as well.

To do the following with a mouse Press this
Open a link in a background tab Middle mouse button
Close a tab Middle mouse button on the tab
Open a new tab Double click on empty tab band space
Zoom the page in/out 10% Ctrl+Mouse wheel Up/Down

Internet Explorer 5.5 and 6.0 shortcut keys:

To view and explore Web pages with shortcut keys:

To do the following Press this
Open your favorites in a folder window Shift+Click on the “Organize Favorites”
menu item
Change the text size Ctrl+Mouse wheel Up/Down
In the History or Favorites boxes, open multiple folders CTRL+click
Open the History box CTRL+H
Open the Favorites box CTRL+I
Open the Search box CTRL+E
Activate a selected link ENTER

Print the current page or active frame

Save the current page CTRL+S
Close the current window CTRL+W
Open a new window CTRL+N
Go to a new location CTRL+O or CTRL+L
Display Internet Explorer Help or to display context Help about an item in a dialog box F1
Toggle between full-screen and other views in the browser F11
Move forward through the items on a Web page, the Address box, or the Links box TAB
Move through the items on a Web page, the Address box, or the Links box SHIFT+TAB
Go to your Home page ALT+HOME
Go to the next page ALT+RIGHT ARROW
Go to the previous page ALT+LEFT ARROW or BACKSPACE
Display a shortcut menu for a link SHIFT+F10
Move forward between frames CTRL+TAB or F6
Move back between frames SHIFT+CTRL+TAB
Scroll toward the beginning of a document UP ARROW
Scroll toward the end of a document DOWN ARROW
Scroll toward the beginning of a
document in larger increments
Scroll toward the end of a document in larger increments PAGE DOWN
Move to the beginning of a document HOME
Move to the end of a document END
Find on this page CTRL+F
Refresh the current Web page F5 or CTRL+R
Refresh the current Web page, even if the time stamp for the Web version and your locally stored version are the same CTRL+F5
Stop downloading a page ESC

To Print Preview Web pages with shortcut keys:

To do the following Press this
Close Print Preview ALT+C
Display a list of zoom percentages ALT+Z
Zoom in ALT+PLUS
Zoom out ALT+MINUS
Display the last page to be printed ALT+END
Display the next page to be printed ALT+RIGHT ARROW
Type the number of the page that you
want displayed
Display the previous page to be printed ALT+LEFT ARROW
Display the first page to be printed ALT+HOME
Change paper, headers and footers,
orientation, and margins for this page


Set printing options and print the page ALT+P

To use the Address box with shortcut keys:

To do the following Press this
Move back through the list of AutoComplete matches DOWN ARROW
Move forward through the list of AutoComplete matches UP ARROW
Add “www.” to the beginning and “.com” to the end of the text that you type in the Address box CTRL+ENTER
When in the Address box, move the cursor right to the next logical break in the address (period or slash) CTRL+RIGHT ARROW
When in the Address box, move the cursor left to the next logical break in the address (period or slash) CTRL+LEFT ARROW
Display a list of addresses that you have typed F4

To work with Favorites by using shortcut keys:

To do the following Press this
Move selected item down in the Favorites list in the Organize Favorites dialog box ALT+DOWN ARROW
Move selected item up in the Favorites list in the Organize Favorites dialog box ALT+UP ARROW
Add the current page to your favorites CTRL+D
Open the Organize Favorites dialog box CTRL+B

To edit with shortcut keys:

To do the following Press this
Remove the selected items and copy them to the Clipboard CTRL+X
Select all items on the current Web page CTRL+A
Insert the contents of the Clipboard at the selected location CTRL+V
Copy the selected items to the Clipboard CTRL+C

Internet Explorer 5 keyboard shortcuts can be found here.

Internet Explorer 4 keyboard shortcuts can be found here.

Automating Web UI testing with SWEA, C#, & NUnit (part 2)


This post is a continuation of the previous post Automating Web UI testing with SWEA, C#, & NUnit (part 1).

So what is SWEA? SWEA is short for Software Explorer Automation and was developed by Alex Furman. SWEA allows you to record and playback Web browser activity and most importantly, export those recordings into C# or VB.NET. These recorded and exported scripts utilize Alex’s SWExplorerAutomation API. Alex has an AWESOME Flash demo of the SWEA Designer here. After watching the demo once before I installed and then again once after, I was able to easily record a few pages of IA and was playing them back in IE. SWEA uses a simple concept called “Scenes” to group HTML elements and data in a page. A “Scene” contains the elements and data/text that you define in the page. The HTML elements in your recorded Scene can be set as active or inactive appropriately, which is very important when you have dynamic content. The coolest thing about a Scene is that when referenced, if the entire Scene is not present (all it’s defined, active elements) SWEA will throw an exception. This is really cool because it can be used to do a very quick regression by simply navigating to all the Scenes on your site; the Scene does the validation, thus eliminating doing a bunch of Asserts in NUnit to validate elements on the page. The simplicity of this will become a bit more obvious when we get into code example in the next post.

As stated previously, the recorded scenes can be exported to C# or VB.NET, and it will also create a Visual Studio Project for you. With exported code and a VS project, you’re only one step away from wrapping it with the NUnit framework and then driving IE from NUnit! Check out this sample C# recording of

namespace SWExplorerAutomation.Examples {
using System;
using SWExplorerAutomation.Client;
using SWExplorerAutomation.Client.Controls;
using SWExplorerAutomation.Client.DialogControls;

public class CodeTemplate {

public static void explorerManager_DialogActivated(object sender, SWExplorerAutomation.Client.DialogScene dialogScene) {

public static void explorerManager_DialogDeactivated(object sender, SWExplorerAutomation.Client.DialogScene dialogScene) {

public static void explorerManager_Error(object sender, SWExplorerAutomation.Client.SWException errorException) {

public static void Main() {
SWExplorerAutomation.Client.ExplorerManager explorerManager = new SWExplorerAutomation.Client.ExplorerManager();
SWExplorerAutomation.Client.Scene scene;
explorerManager.DialogActivated += new SWExplorerAutomation.Client.DialogActivatedEventHandler (SWExplorerAutomation.Examples.CodeTemplate. explorerManager_DialogActivated);
explorerManager.DialogDeactivated += new SWExplorerAutomation.Client.DialogDeactivatedEventHandler (SWExplorerAutomation.Examples.CodeTemplate. explorerManager_DialogDeactivated);
explorerManager.Error += new SWExplorerAutomation.Client.ServerErrorEventHandler (SWExplorerAutomation.Examples.CodeTemplate. explorerManager_Error);
scene = explorerManager[“Scene_GoogleHome”];
((HtmlInputText)(scene[“searchTextBox”])).Value = “QAInsight”;
Console.WriteLine(“\n Press Enter to exit”);

The above example was recorded in about the 30 seconds and it does the following:

  1. Starts IE
  2. Loads
  3. Enters “QAInsight” into the search textbox
  4. Clicks the “Google Search” button
  5. Closes IE

Alex has done a great job with SWEA and has been very supportive of those who use it. Every since I’ve started using the SWEA Designer and SWExplorerAutomation API, Alex been quick to respond to all my questions and issues and he is continuously upgrading it (recent versions support IE7 and .NET 2.0).

In the next post I’ll share with you how I integrated SWEA with NUnit and how I created a test framework that uses separate classes for test calls, navigation, and test execution.

Update 02/20/2006: Part 3 can be found here.

Automating Web UI testing with SWEA, C#, & NUnit (part 1)


Several months ago when I started working on the IA team I was shopping around for a “better” automated Web UI solution. In the past Corillian has used Segue SilkTest for the job and a few of us on the PS QA team had gone as far to build a framework that made creating test scripts easier, more reliable, more consistent, and reusable. As many of us in the industry know, Segue products come with a pretty high cost and SilkTest and 4Test is not a simple thing to pickup. The learning curve had always been a hang-up when trying to get the whole QA team or Developers to do automation. I took this as a lesson learned when I moved to the IA team and now I was on the hunt for a different solution. A solution with simple goals:

  1. The ability to record Web scripts through the browser 
  2. Scripts that use a standard language that both developers and QA Engineers can use (I was strongly leaning towards C#)
  3. The ability to work tests into the automated build process
  4. Low in cost

When I first moved over, other teams in Corillian started to play with the combination of Ruby, Watir, C#, and NUnit. The use of Ruby to drive Internet Explorer was not new to me, I took a class on how to do it at PNSQC a couple of years ago, but the release of Watir coupled with NUnit made the solution more appealing. At the time co-workers Scott Hanselman and Dustin Woodhouse had started to use the combination and were spreading the word on how well it worked. Following their lead, I automated a small part of the IA Reference Implementation along with the Administration Implementation. It worked for me, but debugging in Ruby was semi-painful, I REALLY wanted to use C#, and 2 of my 3 goals were not achieved:

  1. I couldn’t record the scripts for Ruby/Watir
  2. Ruby is not a standard, well known language. Yes, it’s a scripting language, it’s simple, but it’s still just one more language to learn and understand. The last thing I need is to have the new QA Engineer learn yet another language in his .NET world…Ruby.

At the time Scott had started a side project to record scripts called WatirMaker. This was a start of a good thing, but it was far from complete and I didn’t really have the time to deal with the headaches that come along with brand new software (I had enough on my plate with trying to find a good tool for testing Web Services). So, I continued the search with the thought that “I’m not the first one; somebody else has definitely gone through this already”. Searching eventually brought me to a blog post on that talked about the use of SWEA (Software Explorer Automation) with NUnit. Following the tutorial from, in about half the time it took me to build my Ruby/Watir scripts, I rebuilt the scripts using SWEA, C#, and was testing from NUnit. Oh, the sweet power of SWEA! I had just achieved:

  1. The ability to record scripts (using SWEA)
  2. Scripts that used the language of C# (using SWEA, recordings can be exported in VB.NET too)
  3. The first step to having script in the automated build process by having the scripts run in NUnit
  4. Low in cost: FREE

How? Oh, you want details?…Coming soon in the future post: Automating Web UI testing with SWEA, C#, & NUnit (part 2)

Update 02/20/2006: Part 2 and 3 have been added!

Defect denial: “It’s not a defect but we’ll fix it”


Co-worker Mark McCorkle forwarded this pathetic email to me today. The company and software has been renamed as SoftwareX to protect the innocent  🙂
“You recently logged this case regarding a file download dialog persisting after adding the fie extension to the registry keys that should have stopped this behavior.  Development had informed me that it was caused by a Content Disposition header and was as designed.   Since, development have decided to modify the SoftwareX so that this is no longer the designed behavior.  This modification has been implemented in a patch for SoftwareX which has been released internally but is not yet available to the public.”

I’ve also seen the same kind of response from CompanyX about another SoftwareX. LAME. Poor wording? Yes. Worded strategically? Looks like it to me. What does it gain them? Nothing. Denial, it’s an overwhelming emotion. We QA Engineers see it all the time and can see right thought it! Get over it, we’re just trying to help.

Post navigation