var elementslib = {}; Components.utils.import('resource://mozmill/modules/elementslib.js', elementslib);
var mozmill = {}; Components.utils.import('resource://mozmill/modules/mozmill.js', mozmill);
var results = {}; Components.utils.import('resource://mozmill/modules/results.js', results);

var test_cs3108 = function () {
  // Bring up browser controller.
  var controller = mozmill.getBrowserController();
  controller.window.focus();
  controller.sleep(500);
  // Load Bugzilla @ Mozilla.
  controller.open('https://bugzilla.mozilla.org/');
  controller.waitForElement(new elementslib.Elem( controller.window.content.document.body ));
  controller.sleep(5000);
  // Just the fancy typing simulation effect.
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'j');
  controller.sleep(200);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js');
  controller.sleep(200);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_');
  controller.sleep(200);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_L');
  controller.sleep(200);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_Lo');
  controller.sleep(120);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_Loo');
  controller.sleep(120);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_Look');
  controller.sleep(120);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_Looku');
  controller.sleep(120);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_Lookup');
  controller.sleep(120);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupP');
  controller.sleep(120);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupPr');
  controller.sleep(100);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupPro');
  controller.sleep(100);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupProp');
  controller.sleep(100);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupPrope');
  controller.sleep(100);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupProper');
  controller.sleep(100);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupPropert');
  controller.sleep(100);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupProperty');
  controller.sleep(100);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupPropertyW');
  controller.sleep(100);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupPropertyWi');
  controller.sleep(80);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupPropertyWit');
  controller.sleep(80);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupPropertyWith');
  controller.sleep(80);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupPropertyWithF');
  controller.sleep(40);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupPropertyWithFl');
  controller.sleep(40);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupPropertyWithFla');
  controller.sleep(40);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupPropertyWithFlag');
  controller.sleep(20);
  controller.type(new elementslib.Name(controller.window.content.document, 'content'), 'js_LookupPropertyWithFlags');
  // End of fancy keyboard simulation effect.
  controller.sleep(800);
  // Press "enter" on the keyboard.
  controller.keypress(new elementslib.Name(controller.window.content.document, 'content'), 13);
  controller.waitForElement(new elementslib.Elem( controller.window.content.document.body ));
  controller.sleep(20000);
  // "Search" page defaults to the simpler search first.
  controller.open('https://bugzilla.mozilla.org/query.cgi?format=specific');
  controller.waitForElement(new elementslib.Elem( controller.window.content.document.body ));
  controller.sleep(5000);
  // Switch to advanced search.
  controller.open('https://bugzilla.mozilla.org/query.cgi?format=advanced');
  controller.waitForElement(new elementslib.Elem( controller.window.content.document.body ));
  controller.sleep(18000);
  // Input criteria into advanced search.
  controller.type(new elementslib.Name(controller.window.content.document, 'short_desc'), 'js_LookupPropertyWithFlags');
  controller.sleep(1000);
  controller.type(new elementslib.Name(controller.window.content.document, 'chfieldfrom'), '2007-12-01');
  controller.sleep(1000);
  // Press "enter" on the keyboard.
  controller.keypress(new elementslib.Name(controller.window.content.document, 'chfieldfrom'), 13);
  controller.sleep(10000);
  // Input bug 317283 into the quicksearch field.
  controller.type(new elementslib.Name(controller.window.content.document, 'quicksearch'), '317283');
  controller.click(new elementslib.ID(controller.window.content.document, 'find_top'));
  controller.waitForElement(new elementslib.Elem( controller.window.content.document.body ));
  controller.sleep(15000);
  // Go to comment 54 of bug 317283.
  controller.click(new elementslib.Name(controller.window.content.document, 'c54'));
  controller.sleep(5000);
  
}


