@Override public void afterStory(boolean givenStory) { String storyName = this.storyName.get(); if (storyName.equals("BeforeStories") || storyName.equals("AfterStories") || storyName.equals("BeforeStory") || storyName.equals("AfterStory") || storyName.equals("BeforeScenario") || storyName.equals("AfterScenario")) { return; } SessionId sessionId = sessionIds.get(); if (sessionId == null ) { // no executed scenarios, as (most likely) excluded return; } boolean pass = passed.get().equals(true); String payload = "{ \"passed\":" + pass + "}"; postJobUpdate(storyName, sessionId, payload); System.out.println("Saucelabs Job URL for " + (passed.get() ? "passing" : "failing") + " '" + storyName + "' : " + storyToJobIds.get(storyName)); }
@Override public void afterStory(boolean givenStory) { String storyName = this.storyName.get(); if (storyName.equals("BeforeStories") || storyName.equals("AfterStories") || storyName.equals("BeforeStory") || storyName.equals("AfterStory") || storyName.equals("BeforeScenario") || storyName.equals("AfterScenario")) { return; } SessionId sessionId = sessionIds.get(); if (sessionId == null ) { // no executed scenarios, as (most likely) excluded return; } boolean pass = passed.get().equals(true); String payload = "{ \"passed\":" + pass + "}"; postJobUpdate(storyName, sessionId, payload); System.out.println("Saucelabs Job URL for " + (passed.get() ? "passing" : "failing") + " '" + storyName + "' : " + storyToJobIds.get(storyName)); }
@Override public void beforeScenario(String title) { try { super.beforeScenario(title); ((JavascriptExecutor) webDriverProvider.get()).executeScript("sauce:context=Scenario: " + title); // This should really be done per Story, but the webDriverProvider has not done it's thing for this thread yet :-( sessionIds.set(((RemoteWebDriver) webDriverProvider.get()).getSessionId()); String payload = "{\"tags\":[" + getJobTags() + "], " + getBuildId() + "\"name\":\" " + getJobName() + "\"}"; postJobUpdate(storyName.get(), sessionIds.get(), payload); } catch (WebDriverException e) { if (e.getMessage().startsWith("Error communicating with the remote browser. It may have died.")) { // do nothing, it's likely that SauceLabs timed out the job on their system. } else { throw e; } } }
@Override public void beforeScenario(String title) { try { super.beforeScenario(title); ((JavascriptExecutor) webDriverProvider.get()).executeScript("sauce:context=Scenario: " + title); // This should really be done per Story, but the webDriverProvider has not done it's thing for this thread yet :-( sessionIds.set(((RemoteWebDriver) webDriverProvider.get()).getSessionId()); String payload = "{\"tags\":[" + getJobTags() + "], " + getBuildId() + "\"name\":\" " + getJobName() + "\"}"; postJobUpdate(storyName.get(), sessionIds.get(), payload); } catch (WebDriverException e) { if (e.getMessage().startsWith("Error communicating with the remote browser. It may have died.")) { // do nothing, it's likely that SauceLabs timed out the job on their system. } else { throw e; } } }