Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.

Browserstack is not reporting errors properly #3256

Closed
bvasilchik opened this issue Jun 1, 2016 · 9 comments
Closed

Browserstack is not reporting errors properly #3256

bvasilchik opened this issue Jun 1, 2016 · 9 comments

Comments

@bvasilchik
Copy link

bvasilchik commented Jun 1, 2016

I have recently switched from using saucelabs to using browserstack and noticed that some of the tests will report as failed via the console output but are not marked as failed on browserstack. I didn't notice this problem with saucelabs. I mentioned the problem to the browserstack support and they have told me that it's not a browsertstack problem but a protractor problem. This doesn't happen all the time but enough that I have noticed it. This failure doesn't always happen b/c it's intermittent and we have a script that re-runs any failed tests to make sure there aren't any false failures.

This is what they have told me

This seems to be more of a Protractor issue than that of BrowserStack. As seen in the code here, we simply check if job (update) is passed or not and accordingly mark it as 'Completed' or 'Error'. However, the ‘job’ being passed or failed is something that is decided by Protractor itself.

Bug report

  • Node Version: v5.4.1
  • Protractor Version: 3.3.0
  • Browser(s): Chrome 50.0
  • Operating System and Version OS X Yosemite
  • Your protractor configuration file
var custSuite = "";
var browserSuite = "";
var os = "";
var version = "";
var browser_version = "";
var listOfTests = require('./listOfTests');


global.assetsDirectory = __dirname + "/test_data/assets/";

// Set up personalized suites
if (process.env.CUSTSUITE !== "") {
  var suites = require('./suites.js');
  custSuite = suites[process.env.CUSTSUITE];
}
// Set up browser specific suites
var suites = require('./browsersuites.js');

if (process.env.BROWSERSUITE == "firefox") {
  browserSuite = suites['suiteff'];
}
if (process.env.BROWSERSUITE == "ie") {
  browserSuite = suites['suiteie'];
}

//Generate Test Data
var generateTestData = require('./test_data/TestDataGenerator.js');

exports.config = {
  allScriptsTimeout: 30000,
  //Includes test sub-sub-folders like tests/LMS/Blackboard/.
  //Note that all tests in sub-sub-folders will be run before any tests in sub folders like tests/Login/
  specs: ['tests/*/*/*.js', 'tests/*/*.js', ],

  framework: 'jasmine2',
  capabilities: {
    browserName: "chrome",
    shardTestFiles: true,
    maxInstances: process.env.SHARDS
  },
  suites: {
    browsers: browserSuite,
    onDemand: custSuite,
    // P1Second: require('listOfP1Tests')
    P1Second: listOfTests.P1OneShardTests

    //module exports if this doesnt work

  },

  params: {
    tag: process.env.TAG
  },

  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 180000,
    print: function() {}

  },
  onPrepare: function() {

    global.sauceIdleTime = exports.config.capabilities.idleTimeout;

    if (process.env.TUNNEL == "1"){
      browser.driver.manage().window().maximize();
    }

    // access the browser name in tests by using browser.browserName
    browser.getCapabilities().then(function(cap) {
      //console.log("this is the browsername " + cap.get('browserName'));
      browser.browserName = cap.get('browserName');
    });

    var SpecReporter = require('jasmine-spec-reporter');

    // add jasmine spec reporter
    jasmine.getEnv().addReporter(new SpecReporter({
      displayStacktrace: true, // display stacktrace for each failed assertion
      displayFailuresSummary: false, // display summary of all failures after execution
      displayPendingSummary: false,
      displaySuccessfulSpec: true, // display each successful spec
      displayFailedSpec: true, // display each failed spec
      displaySkippedSpec: false, // display each skipped spec
      displaySpecDuration: true, // display each spec duration
      displaySuiteNumber: true, // display each suite number (hierarchical)
      colors: {
        success: 'green',
        failure: 'red',
        skipped: 'cyan'
      },
      prefixes: {
        success: '✓ ',
        failure: '✗ ',
        skipped: '- '
      },
      customProcessors: []
    }));
    require('require-all')(__dirname + '/helpers');
  }
};

if (process.env.BROWSER === "ie" || process.env.BROWSER === "firefox" || process.env.BROWSER === "chrome" || process.env.BROWSER === "safari") {

  exports.config.capabilities.browserName = process.env.BROWSER;

  switch (process.env.BROWSER) {
    case 'firefox':
    exports.config.capabilities.browser = "Firefox";
    //exports.config.capabilities.pageLoadingStrategy = "eager";
    break;
    case 'internet explorer':
    exports.config.capabilities.browser = "IE";
    break;
    case 'safari':
    exports.config.capabilities.browser = "Safari";
    break;
    default:
    exports.config.capabilities.browser = "Chrome";
    break;
  }
}

if (process.env.TUNNEL == "1") {
  exports.config.browserstackUser = process.env.BROWSERSTACK_USER;
  exports.config.browserstackKey  = process.env.BROWSERSTACK_KEY;
  exports.config.capabilities.screenResolution = "1280x1024";
  exports.config.capabilities.idleTimeout = 120;
  exports.config.capabilities.acceptSslCerts= "true";

  // we can tag the tests in sauce labs for easier filtering
  // by passing the --tag=mytag   to the command line
  var tag   = exports.config.params.tag;
  var build = process.env.BUILD;

  // Set the OS
  if (process.env.OS === 'windows') {
    exports.config.capabilities.os = "Windows";
  }
  else{
    exports.config.capabilities.os = "OS X";
  }

  // Set the OS Version
  if (process.env.OS === 'windows' && process.env.BROWSERSUITE != 'ie') {
    os_version = '10';
    if(process.env.BROWSER === 'internet explorer'){
      os_version = '10';
    }
  } else {
    os_version = 'Yosemite';
  }

  switch (process.env.BROWSERSUITE) {
    case 'firefox':
      exports.config.capabilities.os_version      = os_version;
      exports.config.capabilities.browserName     = "firefox";
      exports.config.capabilities.browser         = "Firefox";
      exports.config.capabilities.browser_version = process.env.BROWSER_VERSION;
      break;
    case 'ie':
      exports.config.capabilities.os_version      = "10";
      exports.config.capabilities.browserName     = "internet explorer";
      exports.config.capabilities.browser         = "IE";
      exports.config.capabilities.browser_version = process.env.BROWSER_VERSION;
      break;
    default:
      exports.config.capabilities.os_version      = os_version;
      exports.config.capabilities.browser_version = process.env.BROWSER_VERSION;
      break;
  }
  exports.config.capabilities.project = tag + process.env.OS  + exports.config.capabilities.browser;
  exports.config.capabilities.build   = build;
  exports.config.capabilities.name    = " ";

} else {
  if (!process.env.BROWSER || process.env.BROWSER === "chrome") {
    exports.config.directConnect = true;
  }

}
  • A relevant example test
// Wait for an element to be clickable then click it
global.waitAndClick = function(element, time, errMessage, scroll) {
  if (typeof(time) === 'undefined') time = 30000;
  var IsClickable = EC.elementToBeClickable(element);
  browser.wait(IsClickable, time, errMessage);

  if (typeof(errMessage) === 'undefined') {
    errMessage = " This element was not found: " + element;
    }

  if (typeof(scroll) === 'undefined') {
    scroll = false;
  } else {
    browser.executeScript("arguments[0].scrollIntoView()", element.getWebElement());
  }

  if (process.env.HIGHLIGHT === '1') {
   highlight(element.locator());
  }

  return element.click();
};

/**************************************
** smoke_edit_course_information.js  **
**                                   **
** ##FF ##IE                         **
**************************************/
jasmine.DEFAULT_TIMEOUT_INTERVAL = 160000;

describe('Editing a course', function() {
  browser.ignoreSynchronization = true;

  // browser.driver.manage().window().maximize();

  var courseName = courseData.edit_course.name;
  var courseSection = courseData.edit_course.section;
  var newCourseName = 'NEW_NAME_' + courseName;
  var newCourseTitle = newCourseName + ', section ' + courseSection;
  var newSemester = 'Summer 1';
  var newYear = new Date().getFullYear()+1;

  beforeAll(function() {

      //----- Given I log in as an instructor
      loginPage.login(userData.main_faculty_account.username,
                      userData.main_faculty_account.institution,
                      userData.main_faculty_account.password);

      browser.wait(protractor.until.titleIs("My Classes"), 15000, "✗ Failed to wait for the My Classes page to load");
      expect(browser.getTitle()).toEqual("My Classes");

  });

  it('A course\'s details can be edited', function() {
    browser.sleep(4000);

    //----- When I click the "Edit Course Settings" link for the course
    waitForElement(element(by.partialLinkText(courseName)), 10000, "did not see course name");
    instructorHomePage.goTocourseToolLinks(courseName, "Edit");

    //----- And I click the "Edit Course Info" link
    waitAndClick(courseSettingsPage.editCourseInfoLink, 15000, "timed out clicking editCourseInfoLink", true);

    browser.wait(protractor.until.titleIs("Class Settings"), 15000, "✗ Failed to wait for the Class Settings page to load").then(function(){

    //----- And I change the course name
    courseSettingsPage.courseNameEditFld.clear();
    courseSettingsPage.courseNameEditFld.sendKeys(newCourseName);

    //----- And I change the course term
    waitAndClick(courseSettingsPage.termSemesterOption(newSemester), 10000, "timed out clicking termSemesterOption");
    waitAndClick(courseSettingsPage.termYearOption(newYear), 10000, "timed out clicking termYearOption");

    //----- And I click save in the "Course Information" section
    waitAndClick(courseSettingsPage.courseSaveBtn, 30000, "could not click courseSaveBtn");

    //----- And I click save on the "Edit Course Settings" page
    waitAndClick(courseSettingsPage.saveBtn, 300000, "Could not click saveBtn");

    //----- And I go to the instructor home page
    waitAndClick(instructorNavPanelPage.homeLnk, 300000, "could not click home link");

    browser.wait(protractor.until.titleIs("My Classes"), 15000, "✗ Failed to wait for the My Classes page to load").then(function(){
      //----- Then I should see then new course name
      expect(instructorHomePage.courseLnk(newCourseName, courseSection).isDisplayed()).toBe(true, "Expected course name, " + newCourseTitle + ", to be displayed.");

      //----- Then I should see then new course term
      waitAndClick(instructorHomePage.courseLnk(newCourseName, courseSection), 10000, "timed out clicking new course term");
      expect(classViewPage.term.getText()).toEqual("Term: " + newSemester + " " + newYear);
    });
    });
  });

});
  • Output from running the test
tests/Course_Management/smoke_edit_course_information.js
Running "env:basic" (env) task

Running "protractor:all" (protractor) task
[17:45:18] I/browserstack - Using BrowserStack selenium server at http://hub.browserstack.com/wd/hub
[17:45:18] I/launcher - Running 1 instances of WebDriver
Successful writing:
[
    "test_data/output/qa_userData.json",
    "test_data/output/qa_courseData.json",
    "test_data/output/qa_configData.json",
    "test_data/output/qa_assignData.json",
    "test_data/output/qa_urlData.json"
]
Failing writing:
[]
Run UID = 05262016_174520
Spec started
  1 Editing a course
    ✗ A course's details can be edited (1 min 55 secs)
      - Failed: No element found using locator: By(link text, NEW_NAME_editCourse_auto_01, section 001)

Executed 1 of 1 spec (1 FAILED) in 2 mins 3 secs.
[17:47:22] I/browserstack - BrowserStack results available at https://www.browserstack.com/automate
[17:47:29] I/launcher - 0 instance(s) of WebDriver still running
[17:47:29] I/launcher - chrome #01 failed 1 test(s)
[17:47:29] I/launcher - overall: 1 failed spec(s)
[17:47:29] E/launcher - Process exited with error code 1
>> 
Warning: Tests failed, protractor exited with code: 1  Use --force to continue.

Aborted due to warnings.

Here are the raw logs from browserstack

2016-5-26 17:45:19:888 REQUEST [2016-5-26 17:45:19:888] POST /session {"desiredCapabilities":{"browserName":"chrome","shardTestFiles":true,"maxInstances":"1","browser":"Chrome","screenResolution":"1280x1024","idleTimeout":120,"acceptSslCerts":true,"os":"OS X","os_version":"Yosemite","project":"RERUN_Smoke_macChrome","build":"NA","name":" :smoke_edit_course_information.js","count":1,"browserstack.user":"webassign1","browserstack.key":"Bm9EyjKeWsCZzG1Lsshj","browserstack":{"selenium_version":"2.52.0"},"acceptSslCert":true}}
2016-5-26 17:45:19:888 START_SESSION
2016-5-26 17:45:19:889 REQUEST [2016-5-26 17:45:19:889] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8
2016-5-26 17:45:19:889 RESPONSE {"state":null,"sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":477715841,"value":{"applicationCacheEnabled":false,"rotatable":false,"mobileEmulationEnabled":false,"chrome":{"chromedriverVersion":"2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4)","userDataDir":"/var/folders/ll/cq659d_n37sdnmslh7tynr7r0000kg/T/.org.chromium.Chromium.NRUN8t"},"takesHeapSnapshot":true,"databaseEnabled":false,"handlesAlerts":true,"hasTouchScreen":false,"version":"50.0.2661.75","platform":"MAC","browserConnectionEnabled":false,"nativeEvents":true,"acceptSslCerts":true,"webdriver.remote.sessionid":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","locationContextEnabled":true,"webStorageEnabled":true,"browserName":"chrome","takesScreenshot":true,"javascriptEnabled":true,"cssSelectorsEnabled":true},"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:19:963 REQUEST [2016-5-26 17:45:19:963] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/timeouts/async_script {"ms":30000}
2016-5-26 17:45:19:978 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":475495365,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:20:373 REQUEST [2016-5-26 17:45:20:373] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/window/current/maximize {}
2016-5-26 17:45:20:684 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":200242670,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:20:720 REQUEST [2016-5-26 17:45:20:720] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/url {"url":"https://www.qa-gamma.dev.webassign.net/login.html"}
2016-5-26 17:45:22:193 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1563206727,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:22:261 REQUEST [2016-5-26 17:45:22:261] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"#WebAssignUsername"}
2016-5-26 17:45:22:290 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":2028037661,"value":[{"ELEMENT":"0"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:22:330 REQUEST [2016-5-26 17:45:22:330] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"arguments[0].setAttribute('value', 'mainInstructor_auto_01' )","args":[{"element-6066-11e4-a52e-4f735466cecf":"0","ELEMENT":"0"}]}
2016-5-26 17:45:22:381 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":139537642,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:22:422 REQUEST [2016-5-26 17:45:22:422] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"#WebAssignInstitution"}
2016-5-26 17:45:22:468 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":820490043,"value":[{"ELEMENT":"1"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:22:515 REQUEST [2016-5-26 17:45:22:515] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"arguments[0].setAttribute('value', 'webassign' )","args":[{"element-6066-11e4-a52e-4f735466cecf":"1","ELEMENT":"1"}]}
2016-5-26 17:45:22:544 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":313616994,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:22:568 REQUEST [2016-5-26 17:45:22:568] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"#WebAssignPassword"}
2016-5-26 17:45:22:609 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1628645287,"value":[{"ELEMENT":"2"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:22:643 REQUEST [2016-5-26 17:45:22:643] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"arguments[0].setAttribute('value', 'waauto12345' )","args":[{"element-6066-11e4-a52e-4f735466cecf":"2","ELEMENT":"2"}]}
2016-5-26 17:45:22:682 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1613000979,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:22:715 REQUEST [2016-5-26 17:45:22:715] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"#WebAssignPassword"}
2016-5-26 17:45:22:733 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1840743515,"value":[{"ELEMENT":"2"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:22:768 REQUEST [2016-5-26 17:45:22:768] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/moveto {"element":"2"}
2016-5-26 17:45:22:797 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1951138293,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:22:849 REQUEST [2016-5-26 17:45:22:849] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/click {"button":0}
2016-5-26 17:45:22:894 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":203042500,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:22:920 REQUEST [2016-5-26 17:45:22:920] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/keys {"value":[""]}
2016-5-26 17:45:27:437 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1333099197,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:27:483 REQUEST [2016-5-26 17:45:27:483] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":".show-error"}
2016-5-26 17:45:27:512 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":514964052,"value":[],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:27:579 REQUEST [2016-5-26 17:45:27:579] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"li.menuparent"}
2016-5-26 17:45:27:622 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":174478302,"value":[{"ELEMENT":"3"},{"ELEMENT":"4"},{"ELEMENT":"5"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:27:658 REQUEST [2016-5-26 17:45:27:658] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/3/enabled {}
2016-5-26 17:45:27:675 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1465327704,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:27:717 REQUEST [2016-5-26 17:45:27:717] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"li.menuparent"}
2016-5-26 17:45:27:755 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":856885405,"value":[{"ELEMENT":"3"},{"ELEMENT":"4"},{"ELEMENT":"5"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:27:793 REQUEST [2016-5-26 17:45:27:793] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/3/enabled {}
2016-5-26 17:45:27:837 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":551778225,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:27:879 REQUEST [2016-5-26 17:45:27:879] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":".top-nav--logo"}
2016-5-26 17:45:27:933 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":413350096,"value":[],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:27:957 REQUEST [2016-5-26 17:45:27:957] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/title {}
2016-5-26 17:45:27:974 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1989709436,"value":"My Classes","class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:28:19 REQUEST [2016-5-26 17:45:28:19] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/title {}
2016-5-26 17:45:28:38 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1566848978,"value":"My Classes","class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:28:62 REQUEST [2016-5-26 17:45:28:62] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/title {}
2016-5-26 17:45:28:77 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1719766320,"value":"My Classes","class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:32:122 REQUEST [2016-5-26 17:45:32:122] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"partial link text","value":"editCourse_auto_01"}
2016-5-26 17:45:33:900 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1743084680,"value":[{"ELEMENT":"6"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:33:978 REQUEST [2016-5-26 17:45:33:978] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/6/enabled {}
2016-5-26 17:45:34:18 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1438438758,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:34:54 REQUEST [2016-5-26 17:45:34:54] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":["td a b","editCourse_auto_01",null,"body"]}
2016-5-26 17:45:34:81 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":698004132,"value":[{"ELEMENT":"7"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:34:109 REQUEST [2016-5-26 17:45:34:109] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/7/enabled {}
2016-5-26 17:45:34:126 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1125667498,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:34:192 REQUEST [2016-5-26 17:45:34:192] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":["td a b","editCourse_auto_01",null,"body"]}
2016-5-26 17:45:34:236 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":240404317,"value":[{"ELEMENT":"7"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:34:261 REQUEST [2016-5-26 17:45:34:261] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/7/enabled {}
2016-5-26 17:45:34:285 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1030796308,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:34:322 REQUEST [2016-5-26 17:45:34:322] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":["td a b","editCourse_auto_01",null,"body"]}
2016-5-26 17:45:34:340 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1099116172,"value":[{"ELEMENT":"7"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:34:390 REQUEST [2016-5-26 17:45:34:390] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/7/displayed {}
2016-5-26 17:45:34:418 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1083160852,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:34:495 REQUEST [2016-5-26 17:45:34:495] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":["td a b","editCourse_auto_01",null,"body"]}
2016-5-26 17:45:34:548 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1817014519,"value":[{"ELEMENT":"7"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:34:596 REQUEST [2016-5-26 17:45:34:596] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/7/enabled {}
2016-5-26 17:45:34:635 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1411754366,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:34:661 REQUEST [2016-5-26 17:45:34:661] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":["td a b","editCourse_auto_01",null,"body"]}
2016-5-26 17:45:34:682 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":201988664,"value":[{"ELEMENT":"7"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:34:716 REQUEST [2016-5-26 17:45:34:716] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/7/click {}
2016-5-26 17:45:35:995 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":829445556,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:36:29 REQUEST [2016-5-26 17:45:36:29] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/alert_text {}
2016-5-26 17:45:36:69 RESPONSE {"state":"no such alert","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":480630146,"value":{"additionalInformation":"\nDriver info: org.openqa.selenium.chrome.ChromeDriver\nCapabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={chromedriverVersion=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4), userDataDir=/var/folders/ll/cq659d_n37sdnmslh7tynr7r0000kg/T/.org.chromium.Chromium.NRUN8t}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=50.0.2661.75, platform=MAC, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]\nSession ID: 1f54880955bb4233fe9c13fc71f57047","localizedMessage":"no alert open\n  (Session info: chrome=50.0.2661.75)\n  (Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Mac OS X 10.10.5 x86_64) (WARNING: The server did not provide any stacktrace information)\nCommand duration or timeout: 3 milliseconds\nBuild info: version: '2.51.0', revision: '1af067d', time: '2016-02-05 19:15:17'\nSystem info: host: 'mac-208-78-105-35.browserstack.com', ip: '208.78.105.35', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.10.5', java.version: '1.8.0_51'\nDriver info: org.openqa.selenium.chrome.ChromeDriver\nCapabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={chromedriverVersion=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4), userDataDir=/var/folders/ll/cq659d_n37sdnmslh7tynr7r0000kg/T/.org.chromium.Chromium.NRUN8t}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=50.0.2661.75, platform=MAC, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]\nSession ID: 1f54880955bb4233fe9c13fc71f57047","supportUrl":null,"systemInformation":"System info: host: 'mac-208-78-105-35.browserstack.com', ip: '208.78.105.35', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.10.5', java.version: '1.8.0_51'","cause":null,"stackTrace":[{"fileName":"NativeConstructorAccessorImpl.java","nativeMethod":true,"methodName":"newInstance0","className":"sun.reflect.NativeConstructorAccessorImpl","hCode":-917798116,"lineNumber":-2,"class":"java.lang.StackTraceElement"},{"fileName":"NativeConstructorAccessorImpl.java","nativeMethod":false,"methodName":"newInstance","className":"sun.reflect.NativeConstructorAccessorImpl","hCode":-1864225098,"lineNumber":62,"class":"java.lang.StackTraceElement"},{"fileName":"DelegatingConstructorAccessorImpl.java","nativeMethod":false,"methodName":"newInstance","className":"sun.reflect.DelegatingConstructorAccessorImpl","hCode":-2122307259,"lineNumber":45,"class":"java.lang.StackTraceElement"},{"fileName":"Constructor.java","nativeMethod":false,"methodName":"newInstance","className":"java.lang.reflect.Constructor","hCode":-1319859920,"lineNumber":422,"class":"java.lang.StackTraceElement"},{"fileName":"ErrorHandler.java","nativeMethod":false,"methodName":"createThrowable","className":"org.openqa.selenium.remote.ErrorHandler","hCode":514255488,"lineNumber":206,"class":"java.lang.StackTraceElement"},{"fileName":"ErrorHandler.java","nativeMethod":false,"methodName":"throwIfResponseFailed","className":"org.openqa.selenium.remote.ErrorHandler","hCode":1091067085,"lineNumber":158,"class":"java.lang.StackTraceElement"},{"fileName":"RemoteWebDriver.java","nativeMethod":false,"methodName":"execute","className":"org.openqa.selenium.remote.RemoteWebDriver","hCode":1767885165,"lineNumber":678,"class":"java.lang.StackTraceElement"},{"fileName":"RemoteWebDriver.java","nativeMethod":false,"methodName":"execute","className":"org.openqa.selenium.remote.RemoteWebDriver","hCode":1767885188,"lineNumber":701,"class":"java.lang.StackTraceElement"},{"fileName":"RemoteWebDriver.java","nativeMethod":false,"methodName":"alert","className":"org.openqa.selenium.remote.RemoteWebDriver$RemoteTargetLocator","hCode":-681735476,"lineNumber":1049,"class":"java.lang.StackTraceElement"},{"fileName":"EventFiringWebDriver.java","nativeMethod":false,"methodName":"alert","className":"org.openqa.selenium.support.events.EventFiringWebDriver$EventFiringTargetLocator","hCode":-508993533,"lineNumber":613,"class":"java.lang.StackTraceElement"},{"fileName":"GetAlertText.java","nativeMethod":false,"methodName":"call","className":"org.openqa.selenium.remote.server.handler.GetAlertText","hCode":867839327,"lineNumber":30,"class":"java.lang.StackTraceElement"},{"fileName":"GetAlertText.java","nativeMethod":false,"methodName":"call","className":"org.openqa.selenium.remote.server.handler.GetAlertText","hCode":867839298,"lineNumber":1,"class":"java.lang.StackTraceElement"},{"fileName":"FutureTask.java","nativeMethod":false,"methodName":"run","className":"java.util.concurrent.FutureTask","hCode":-820313554,"lineNumber":266,"class":"java.lang.StackTraceElement"},{"fileName":"DefaultSession.java","nativeMethod":false,"methodName":"run","className":"org.openqa.selenium.remote.server.DefaultSession$1","hCode":-255143467,"lineNumber":176,"class":"java.lang.StackTraceElement"},{"fileName":"ThreadPoolExecutor.java","nativeMethod":false,"methodName":"runWorker","className":"java.util.concurrent.ThreadPoolExecutor","hCode":-1285150184,"lineNumber":1142,"class":"java.lang.StackTraceElement"},{"fileName":"ThreadPoolExecutor.java","nativeMethod":false,"methodName":"run","className":"java.util.concurrent.ThreadPoolExecutor$Worker","hCode":-242190645,"lineNumber":617,"class":"java.lang.StackTraceElement"},{"fileName":"Thread.java","nativeMethod":false,"methodName":"run","className":"java.lang.Thread","hCode":-82946320,"lineNumber":745,"class":"java.lang.StackTraceElement"}],"suppressed":[],"message":"no alert open\n  (Session info: chrome=50.0.2661.75)\n  (Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Mac OS X 10.10.5 x86_64) (WARNING: The server did not provide any stacktrace information)\nCommand duration or timeout: 3 milliseconds\nBuild info: version: '2.51.0', revision: '1af067d', time: '2016-02-05 19:15:17'\nSystem info: host: 'mac-208-78-105-35.browserstack.com', ip: '208.78.105.35', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.10.5', java.version: '1.8.0_51'\nDriver info: org.openqa.selenium.chrome.ChromeDriver\nCapabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={chromedriverVersion=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4), userDataDir=/var/folders/ll/cq659d_n37sdnmslh7tynr7r0000kg/T/.org.chromium.Chromium.NRUN8t}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=50.0.2661.75, platform=MAC, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]\nSession ID: 1f54880955bb4233fe9c13fc71f57047","hCode":909984165,"class":"org.openqa.selenium.NoAlertPresentException","buildInformation":{"buildRevision":"1af067d","buildTime":"2016-02-05 19:15:17","releaseLabel":"2.51.0","hCode":1199192630,"class":"org.openqa.selenium.internal.BuildInfo"},"screen":"https://s3.amazonaws.com/testautomation/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/screenshot-c337e615a7.jpeg"},"class":"org.openqa.selenium.remote.Response","status":27}
2016-5-26 17:45:36:145 REQUEST [2016-5-26 17:45:36:145] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":[".leftCellNav li a","Edit",null,"body"]}
2016-5-26 17:45:36:174 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1086230784,"value":[{"ELEMENT":"8"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:36:239 REQUEST [2016-5-26 17:45:36:239] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/8/enabled {}
2016-5-26 17:45:36:275 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1451468971,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:36:316 REQUEST [2016-5-26 17:45:36:316] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":[".leftCellNav li a","Edit",null,"body"]}
2016-5-26 17:45:36:335 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1681419836,"value":[{"ELEMENT":"8"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:36:386 REQUEST [2016-5-26 17:45:36:386] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/8/displayed {}
2016-5-26 17:45:36:416 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1172190783,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:36:459 REQUEST [2016-5-26 17:45:36:459] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":[".leftCellNav li a","Edit",null,"body"]}
2016-5-26 17:45:36:481 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1910278421,"value":[{"ELEMENT":"8"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:36:542 REQUEST [2016-5-26 17:45:36:542] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/8/enabled {}
2016-5-26 17:45:36:584 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":978428277,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:36:626 REQUEST [2016-5-26 17:45:36:626] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":[".leftCellNav li a","Edit",null,"body"]}
2016-5-26 17:45:36:658 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":490697101,"value":[{"ELEMENT":"8"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:36:737 REQUEST [2016-5-26 17:45:36:737] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/8/click {}
2016-5-26 17:45:38:623 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":694469595,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:38:671 REQUEST [2016-5-26 17:45:38:671] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"link text","value":"edit course info"}
2016-5-26 17:45:38:766 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":193472291,"value":[{"ELEMENT":"9"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:38:855 REQUEST [2016-5-26 17:45:38:855] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/9/enabled {}
2016-5-26 17:45:38:885 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1834851526,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:38:926 REQUEST [2016-5-26 17:45:38:926] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"link text","value":"edit course info"}
2016-5-26 17:45:39:7 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1655234733,"value":[{"ELEMENT":"9"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:39:68 REQUEST [2016-5-26 17:45:39:68] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/9/displayed {}
2016-5-26 17:45:39:120 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1975807040,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:39:186 REQUEST [2016-5-26 17:45:39:186] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"link text","value":"edit course info"}
2016-5-26 17:45:39:282 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1069546724,"value":[{"ELEMENT":"9"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:39:340 REQUEST [2016-5-26 17:45:39:340] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/9/enabled {}
2016-5-26 17:45:39:386 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1040575609,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:39:455 REQUEST [2016-5-26 17:45:39:455] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"link text","value":"edit course info"}
2016-5-26 17:45:39:548 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":462278300,"value":[{"ELEMENT":"9"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:39:585 REQUEST [2016-5-26 17:45:39:585] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"arguments[0].scrollIntoView()","args":[{"element-6066-11e4-a52e-4f735466cecf":"9","ELEMENT":"9"}]}
2016-5-26 17:45:39:623 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1308428225,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:39:673 REQUEST [2016-5-26 17:45:39:673] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"link text","value":"edit course info"}
2016-5-26 17:45:39:755 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":224762438,"value":[{"ELEMENT":"9"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:39:785 REQUEST [2016-5-26 17:45:39:785] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/9/click {}
2016-5-26 17:45:39:876 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":470997431,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:39:929 REQUEST [2016-5-26 17:45:39:929] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/title {}
2016-5-26 17:45:39:947 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1282985082,"value":"Class Settings","class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:40:105 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1844369433,"value":[{"ELEMENT":"10"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:40:18 REQUEST [2016-5-26 17:45:40:18] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"span#courseName_editField input#name"}
2016-5-26 17:45:40:130 REQUEST [2016-5-26 17:45:40:130] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/10/clear {}
2016-5-26 17:45:40:220 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1740335986,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:45:40:253 REQUEST [2016-5-26 17:45:40:253] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"span#courseName_editField input#name"}
2016-5-26 17:45:40:287 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":2127605815,"value":[{"ELEMENT":"10"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:46:6:323 REQUEST [2016-5-26 17:46:6:323] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/10/value {"value":["NEW_NAME_editCourse_auto_01"]}
2016-5-26 17:47:6:352 RESPONSE {"status":13,"state":"error","data":{"type":"Buffer","data":[60,104,116,109,108,62,10,60,104,101,97,100,62,10,60,116,105,116,108,101,62,69,114,114,111,114,32,53,48,48,32,82,101,97,100,32,116,105,109,101,100,32,111,117,116,60,47,116,105,116,108,101,62,10,60,47,104,101,97,100,62,10,60,98,111,100,121,62,10,60,104,50,62,72,84,84,80,32,69,82,82,79,82,58,32,53,48,48,60,47,104,50,62,60,112,114,101,62,82,101,97,100,32,116,105,109,101,100,32,111,117,116,60,47,112,114,101,62,10,60,112,62,82,101,113,117,101,115,116,85,82,73,61,47,119,100,47,104,117,98,47,115,101,115,115,105,111,110,47,98,49,98,57,98,52,98,53,101,102,49,52,97,52,101,99,97,49,48,54,57,99,52,101,50,101,55,50,102,49,55,55,51,57,54,48,53,53,100,56,47,101,108,101,109,101,110,116,47,49,48,47,118,97,108,117,101,60,47,112,62,10,60,112,62,60,105,62,60,115,109,97,108,108,62,60,97,32,104,114,101,102,61,34,104,116,116,112,58,47,47,106,101,116,116,121,46,109,111,114,116,98,97,121,46,111,114,103,34,62,80,111,119,101,114,101,100,32,98,121,32,74,101,116,116,121,58,47,47,60,47,97,62,60,47,115,109,97,108,108,62,60,47,105,62,60,47,112,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,60,47,98,111,100,121,62,10,60,47,104,116,109,108,62,10]}}
2016-5-26 17:47:6:428 REQUEST [2016-5-26 17:47:6:428] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"select#term"}
2016-5-26 17:47:6:493 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":65054836,"value":[{"ELEMENT":"11"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:6:569 REQUEST [2016-5-26 17:47:6:569] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":["option","Summer 1",{"element-6066-11e4-a52e-4f735466cecf":"11","ELEMENT":"11"},"body"]}
2016-5-26 17:47:6:614 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1709239127,"value":[{"ELEMENT":"12"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:6:643 REQUEST [2016-5-26 17:47:6:643] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/12/enabled {}
2016-5-26 17:47:6:678 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":366501256,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:6:735 REQUEST [2016-5-26 17:47:6:735] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"select#term"}
2016-5-26 17:47:6:787 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1133077997,"value":[{"ELEMENT":"11"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:6:885 REQUEST [2016-5-26 17:47:6:885] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":["option","Summer 1",{"element-6066-11e4-a52e-4f735466cecf":"11","ELEMENT":"11"},"body"]}
2016-5-26 17:47:6:929 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1168951008,"value":[{"ELEMENT":"12"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:6:957 REQUEST [2016-5-26 17:47:6:957] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/12/displayed {}
2016-5-26 17:47:6:997 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":670316369,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:7:89 REQUEST [2016-5-26 17:47:7:89] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"select#term"}
2016-5-26 17:47:7:139 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1880562234,"value":[{"ELEMENT":"11"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:7:166 REQUEST [2016-5-26 17:47:7:166] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":["option","Summer 1",{"element-6066-11e4-a52e-4f735466cecf":"11","ELEMENT":"11"},"body"]}
2016-5-26 17:47:7:182 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":2025435096,"value":[{"ELEMENT":"12"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:7:269 REQUEST [2016-5-26 17:47:7:269] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/12/enabled {}
2016-5-26 17:47:7:351 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1535241705,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:7:378 REQUEST [2016-5-26 17:47:7:378] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"select#term"}
2016-5-26 17:47:7:396 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1565071223,"value":[{"ELEMENT":"11"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:7:431 REQUEST [2016-5-26 17:47:7:431] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":["option","Summer 1",{"element-6066-11e4-a52e-4f735466cecf":"11","ELEMENT":"11"},"body"]}
2016-5-26 17:47:7:447 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":365363246,"value":[{"ELEMENT":"12"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:7:481 REQUEST [2016-5-26 17:47:7:481] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/12/click {}
2016-5-26 17:47:7:544 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":540391969,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:7:617 REQUEST [2016-5-26 17:47:7:617] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"select#year"}
2016-5-26 17:47:7:649 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1642636834,"value":[{"ELEMENT":"13"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:7:755 REQUEST [2016-5-26 17:47:7:755] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":["option",2017,{"element-6066-11e4-a52e-4f735466cecf":"13","ELEMENT":"13"},"body"]}
2016-5-26 17:47:7:805 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1283660865,"value":[{"ELEMENT":"14"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:7:837 REQUEST [2016-5-26 17:47:7:837] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/14/enabled {}
2016-5-26 17:47:7:866 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1097487170,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:7:899 REQUEST [2016-5-26 17:47:7:899] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"select#year"}
2016-5-26 17:47:7:934 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1246057145,"value":[{"ELEMENT":"13"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:7:977 REQUEST [2016-5-26 17:47:7:977] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":["option",2017,{"element-6066-11e4-a52e-4f735466cecf":"13","ELEMENT":"13"},"body"]}
2016-5-26 17:47:7:994 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1857565797,"value":[{"ELEMENT":"14"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:8:107 REQUEST [2016-5-26 17:47:8:107] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/14/displayed {}
2016-5-26 17:47:8:158 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":973950183,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:8:183 REQUEST [2016-5-26 17:47:8:183] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"select#year"}
2016-5-26 17:47:8:208 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":695134375,"value":[{"ELEMENT":"13"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:8:323 REQUEST [2016-5-26 17:47:8:323] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":["option",2017,{"element-6066-11e4-a52e-4f735466cecf":"13","ELEMENT":"13"},"body"]}
2016-5-26 17:47:8:360 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1239328681,"value":[{"ELEMENT":"14"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:8:387 REQUEST [2016-5-26 17:47:8:387] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/14/enabled {}
2016-5-26 17:47:8:414 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1718266347,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:8:449 REQUEST [2016-5-26 17:47:8:449] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"select#year"}
2016-5-26 17:47:8:468 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":919645109,"value":[{"ELEMENT":"13"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:8:542 REQUEST [2016-5-26 17:47:8:542] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/execute {"script":"try { return (function (cssSelector, searchText, using) {\n  using = using || document;\n\n  var elements = using.querySelectorAll(cssSelector);\n  var matches = [];\n  for (var i = 0; i < elements.length; ++i) {\n    var element = elements[i];\n    var elementText = element.textContent || element.innerText || '';\n    if (elementText.indexOf(searchText) > -1) {\n      matches.push(element);\n    }\n  }\n  return matches;\n}).apply(this, arguments); }\ncatch(e) { throw (e instanceof Error) ? e : new Error(e); }","args":["option",2017,{"element-6066-11e4-a52e-4f735466cecf":"13","ELEMENT":"13"},"body"]}
2016-5-26 17:47:8:589 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1755665944,"value":[{"ELEMENT":"14"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:8:635 REQUEST [2016-5-26 17:47:8:635] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/14/click {}
2016-5-26 17:47:8:691 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1425692490,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:8:754 REQUEST [2016-5-26 17:47:8:754] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"*[id=\"save_course\"]"}
2016-5-26 17:47:8:785 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1414667156,"value":[{"ELEMENT":"15"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:8:824 REQUEST [2016-5-26 17:47:8:824] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/15/enabled {}
2016-5-26 17:47:8:865 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":369459856,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:8:951 REQUEST [2016-5-26 17:47:8:951] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"*[id=\"save_course\"]"}
2016-5-26 17:47:9:8 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":272881437,"value":[{"ELEMENT":"15"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:9:77 REQUEST [2016-5-26 17:47:9:77] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/15/displayed {}
2016-5-26 17:47:9:131 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":333612603,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:9:161 REQUEST [2016-5-26 17:47:9:161] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"*[id=\"save_course\"]"}
2016-5-26 17:47:9:202 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1462280552,"value":[{"ELEMENT":"15"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:9:240 REQUEST [2016-5-26 17:47:9:240] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/15/enabled {}
2016-5-26 17:47:9:263 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1837344799,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:9:296 REQUEST [2016-5-26 17:47:9:296] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"*[id=\"save_course\"]"}
2016-5-26 17:47:9:317 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1677091213,"value":[{"ELEMENT":"15"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:9:406 REQUEST [2016-5-26 17:47:9:406] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/15/click {}
2016-5-26 17:47:12:180 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1688400022,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:12:260 REQUEST [2016-5-26 17:47:12:260] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"div#saveThisSectionButton input#save"}
2016-5-26 17:47:12:309 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":111194886,"value":[{"ELEMENT":"16"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:12:336 REQUEST [2016-5-26 17:47:12:336] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/16/enabled {}
2016-5-26 17:47:12:358 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1443516502,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:12:412 REQUEST [2016-5-26 17:47:12:412] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"div#saveThisSectionButton input#save"}
2016-5-26 17:47:12:459 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":626994241,"value":[{"ELEMENT":"16"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:12:517 REQUEST [2016-5-26 17:47:12:517] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/16/displayed {}
2016-5-26 17:47:12:561 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1255651591,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:12:677 REQUEST [2016-5-26 17:47:12:677] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"div#saveThisSectionButton input#save"}
2016-5-26 17:47:12:722 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1231821784,"value":[{"ELEMENT":"16"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:12:777 REQUEST [2016-5-26 17:47:12:777] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/16/enabled {}
2016-5-26 17:47:12:815 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1298168387,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:12:898 REQUEST [2016-5-26 17:47:12:898] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"css selector","value":"div#saveThisSectionButton input#save"}
2016-5-26 17:47:12:949 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":285309578,"value":[{"ELEMENT":"16"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:13:90 REQUEST [2016-5-26 17:47:13:90] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/16/click {}
2016-5-26 17:47:15:53 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1718220332,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:15:184 REQUEST [2016-5-26 17:47:15:184] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"link text","value":"Home"}
2016-5-26 17:47:15:321 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":26102333,"value":[{"ELEMENT":"17"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:15:380 REQUEST [2016-5-26 17:47:15:380] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/17/enabled {}
2016-5-26 17:47:15:445 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":465679788,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:15:482 REQUEST [2016-5-26 17:47:15:482] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"link text","value":"Home"}
2016-5-26 17:47:15:586 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":850454638,"value":[{"ELEMENT":"17"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:15:655 REQUEST [2016-5-26 17:47:15:655] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/17/displayed {}
2016-5-26 17:47:15:706 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1762037833,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:15:731 REQUEST [2016-5-26 17:47:15:731] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"link text","value":"Home"}
2016-5-26 17:47:15:822 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":447406326,"value":[{"ELEMENT":"17"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:15:901 REQUEST [2016-5-26 17:47:15:901] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/17/enabled {}
2016-5-26 17:47:15:955 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":206592730,"value":true,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:16:30 REQUEST [2016-5-26 17:47:16:30] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"link text","value":"Home"}
2016-5-26 17:47:16:107 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":957751462,"value":[{"ELEMENT":"17"}],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:16:153 REQUEST [2016-5-26 17:47:16:153] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/element/17/click {}
2016-5-26 17:47:20:997 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":1691319061,"value":null,"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:21:45 REQUEST [2016-5-26 17:47:21:45] GET /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/title {}
2016-5-26 17:47:21:62 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":665289567,"value":"My Classes","class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:21:154 REQUEST [2016-5-26 17:47:21:154] POST /session/b1b9b4b5ef14a4eca1069c4e2e72f177396055d8/elements {"using":"link text","value":"NEW_NAME_editCourse_auto_01, section 001"}
2016-5-26 17:47:22:957 RESPONSE {"state":"success","sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","hCode":792495133,"value":[],"class":"org.openqa.selenium.remote.Response","status":0}
2016-5-26 17:47:29:241 STOP_SESSION {"status":0,"sessionId":"b1b9b4b5ef14a4eca1069c4e2e72f177396055d8","value":{"message":"CLIENT_STOPPED_SESSION"},"errorStack":{}}
@bvasilchik bvasilchik changed the title Browserstack is reporting errors properly Browserstack is not reporting errors properly Jun 1, 2016
@cnishina
Copy link
Contributor

cnishina commented Jun 2, 2016

The update job method is called from the runner. The runner keeps track if the tests are passing and updates the job if the updateJob exists on the driver provider.

Taking a look at the BrowserStack api, I believe we are sending the correct payload for "Changing the status of a session". Also from the log message it does appear that the browser stack update job is being called.

A possible test (since I am not familiar with BrowserStack) would be to console log if these failed tests are passing by editing the node_modules/protractor/built/driverProviders/browserStack.js file. And run these tests again. If the tests are not passing, jobStatus should show up as error and update.passed as false.

        var jobStatus = update.passed ? 'completed' : 'error';
        logger.info(update.passed);  // debug
        logger.info(jobStatus);           // debug
        logger.info(
            'BrowserStack results available at ' +
            'https://www.browserstack.com/automate');

@cnishina
Copy link
Contributor

cnishina commented Jun 6, 2016

@bvasilchik Any updates on this?

@bvasilchik
Copy link
Author

@cnishina I apologize I haven't had time lately to test this. I did update the raw logs from browserstack in my original post

@cnishina
Copy link
Contributor

cnishina commented Jun 7, 2016

Unfortunately, the logs that were posted appears to be just selenium server request / responses. Did you try the suggested logging above from my previous post?

@bvasilchik
Copy link
Author

bvasilchik commented Jun 13, 2016

@cnishina I was just wondering if you've had any chance to review since I tried your suggested code. Or if you had any other ideas. Sorry it took me so long initially to respond

Alright I had a chance to do what you suggested. I ran some tests which I knew would fail b/c they need to be updated to see what my results would be. I have included an image of what browserstack is reporting and the console logs of the failed tests that has the code for debugging that you mentioned to add.

it seems every test has the following after failing

 I/browserstack - false
 I/browserstack - error

screen shot 2016-06-13 at 9 35 18 am

console log for the failed tests

@cnishina
Copy link
Contributor

Looking at your console log messages, it appears that your tests are failing to find window.angular. So this would mean 1. it launched a browser window, 2. that the error is being properly reported.

So now, why is it not finding window.angular? If this was working 100% fine on SauceLabs, and fine on your own machine, this would leave me to believe that this is a BrowserStack issue.

@bvasilchik
Copy link
Author

those tests were going to fail b/c they were outdated so I knew they would all fail so that I could see what kind of results would be shown on browserstack. I figured it was the best way to see where some tests it does show the error but others are marked green. They should all show errors. So I was expecting them to fail and I would expect them to show as failing on browser stack as well.

I guess I'm wondering what I do from here. This is what they told me. But i'm not sure what to tell them. It would be nice to have the correct results represented. I do thank you for all the help and support.

This seems to be more of a Protractor issue than that of BrowserStack. As seen in the code here, we simply check if job (update) is passed or not and accordingly mark it as 'Completed' or 'Error'. However, the ‘job’ being passed or failed is something that is decided by Protractor itself.

vedharish added a commit to vedharish/protractor that referenced this issue Jul 23, 2016
vedharish added a commit to vedharish/protractor that referenced this issue Jul 23, 2016
@bvasilchik
Copy link
Author

So I was very excited about this fix but it seems we are still getting failures that are marked with the green check-mark completed in browserstack. we are currently using 4.0.2 which I believe is supposed to have the fix. If there is anything I can do to help further troubleshoot. I know I was asked to add some debug information in the past, which I'm open to doing. Thank you for the work put in trying to resolve this issue.

@evanjmg
Copy link

evanjmg commented Sep 28, 2017

+1

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants