Skip to content

Commit

Permalink
Fixed an issue with Saucelabs updates
Browse files Browse the repository at this point in the history
  • Loading branch information
wakaleo committed Aug 6, 2023
1 parent 586fb75 commit 4011999
Show file tree
Hide file tree
Showing 25 changed files with 88 additions and 62 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ jobs:

steps:
- uses: actions/checkout@v2 # Update to v2
- name: Set up JDK 17
- name: Set up JDK 11
uses: actions/setup-java@v2 # Update to v2
with:
distribution: 'temurin' # 'temurin' distribution provides OpenJ9 builds of the OpenJDK
java-version: '17'
java-version: '11'

- name: Cache the Maven packages to speed up build
uses: actions/cache@v2 # Update to v2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,6 @@ class SampleTestResults {
testOutcome2.addTags(Lists.asList(TestTag.withName("Apples").andType("feature")));
testOutcome2.addTags(Lists.asList(TestTag.withName("Picking apples").andType("story")));


return [testOutcome1, testOutcome2]
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package net.serenitybdd.plugins.saucelabs;

import com.google.gson.JsonObject;
import net.serenitybdd.core.webdriver.RemoteDriver;
import net.serenitybdd.core.webdriver.enhancers.AfterAWebdriverScenario;
import net.serenitybdd.plugins.CapabilityTags;
Expand All @@ -10,6 +11,13 @@
import org.openqa.selenium.WebDriver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

import java.util.Arrays;
import java.util.Base64;

public class AfterASauceLabsScenario implements AfterAWebdriverScenario {

Expand All @@ -29,7 +37,6 @@ public void apply(EnvironmentVariables environmentVariables, TestOutcome testOut
sessionId = RemoteDriver.of(driver).getSessionId().toString();
}
String userName = SauceLabsCredentials.from(environmentVariables).getUser();

String key = SauceLabsCredentials.from(environmentVariables).getAccessKey();

if (userName == null || key == null) {
Expand All @@ -40,16 +47,36 @@ public void apply(EnvironmentVariables environmentVariables, TestOutcome testOut
+ "You can find both of these here: https://app.saucelabs.com/user-settings"
);
} else {
((JavascriptExecutor)driver).executeScript("job-build=" + BuildName.from(environmentVariables));
((JavascriptExecutor)driver).executeScript("job-tags=" + CapabilityTags.tagsFrom(testOutcome, environmentVariables));

String result = (testOutcome.isSuccess()) ? "passed" : "failed";
((JavascriptExecutor)driver).executeScript("job-result=" + result);
// ((JavascriptExecutor) driver).executeScript("sauce:job-build=" + BuildName.from(environmentVariables));
// ((JavascriptExecutor)driver).executeScript("sauce:job-tags=" + CapabilityTags.tagsFrom(testOutcome, environmentVariables));
//
// String result = (testOutcome.isSuccess()) ? "passed" : "failed";
// ((JavascriptExecutor)driver).executeScript("sauce:job-result=" + result);

SauceLabsTestSession sauceLabsTestSession = new SauceLabsTestSession(userName, key, sessionId);

String publicUrl = sauceLabsTestSession.getTestLink();
testOutcome.setLink(new ExternalLink(publicUrl, "SauceLabs"));

String result = (testOutcome.isSuccess()) ? "passed" : "failed";
String tags = Arrays.toString(CapabilityTags.tagsFrom(testOutcome, environmentVariables));
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
String jobUrl = "https://saucelabs.com/rest/v1/" + userName + "/jobs/" + sessionId;
HttpPut putRequest = new HttpPut(jobUrl);
putRequest.setHeader("Content-Type", "application/json");
putRequest.setHeader("Authorization", "Basic " + Base64.getEncoder().encodeToString((userName + ":" + key).getBytes()));

JsonObject json = new JsonObject();
json.addProperty("build", BuildName.from(environmentVariables));
json.addProperty("tags", tags);
json.addProperty("passed", result.equals("passed"));

putRequest.setEntity(new StringEntity(json.toString()));

httpClient.execute(putRequest);
} catch (Exception e) {
// Handle exception
}
}
}

Expand Down
2 changes: 1 addition & 1 deletion serenity-smoketests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>serenity-bdd</artifactId>
<groupId>net.serenity-bdd</groupId>
<version>4.0.0-beta-2-SNAPSHOT</version>
<version>4.0.0-beta-1</version>
</parent>
<artifactId>serenity-smoketests</artifactId>
<packaging>jar</packaging>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import net.serenitybdd.core.pages.WebElementFacade;
import net.serenitybdd.demos.todos.pageobjects.model.TodoStatus;
import net.serenitybdd.demos.todos.pageobjects.model.TodoStatusFilter;
import net.thucydides.core.annotations.DefaultUrl;
import net.serenitybdd.annotations.DefaultUrl;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package net.serenitybdd.demos.todos.pageobjects.pages;

import net.serenitybdd.core.pages.PageObject;
import net.thucydides.core.annotations.DefaultUrl;
import net.serenitybdd.annotations.DefaultUrl;

@DefaultUrl("http://todomvc.com/")
public class TodoMVCHomePage extends PageObject {}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import net.serenitybdd.demos.todos.pageobjects.model.TodoStatusFilter;
import net.serenitybdd.demos.todos.pageobjects.pages.TodoListPage;
import net.thucydides.model.ThucydidesSystemProperty;
import net.thucydides.model.annotations.Step;
import net.serenitybdd.annotations.Step;
import net.thucydides.model.util.EnvironmentVariables;

import static java.util.Arrays.asList;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package net.serenitybdd.demos.todos.screenplay.actions;

import net.serenitybdd.annotations.Step;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.Interaction;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.serenitybdd.screenplay.targets.Target;
import net.thucydides.model.annotations.Step;
import org.openqa.selenium.WebElement;

import static net.serenitybdd.screenplay.Tasks.instrumented;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.google.common.collect.ImmutableList;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.Task;
import net.thucydides.model.annotations.Step;
import net.serenitybdd.annotations.Step;

import java.util.Collection;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import net.serenitybdd.demos.todos.pageobjects.steps.TodoUserSteps;
import net.serenitybdd.junit.runners.SerenityParameterizedRunner;
import net.thucydides.core.annotations.Managed;
import net.thucydides.core.annotations.Steps;
import net.thucydides.model.annotations.WithTag;
import net.thucydides.core.annotations.WithTags;
import net.serenitybdd.annotations.Managed;
import net.serenitybdd.annotations.Steps;
import net.serenitybdd.annotations.WithTag;
import net.serenitybdd.annotations.WithTags;
import net.thucydides.junit.annotations.Concurrent;
import net.thucydides.junit.annotations.TestData;
import org.junit.Before;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import net.serenitybdd.demos.todos.pageobjects.steps.TodoUserSteps;
import net.serenitybdd.junit.runners.SerenityRunner;
import net.thucydides.core.annotations.Managed;
import net.thucydides.core.annotations.Steps;
import net.thucydides.model.annotations.WithTag;
import net.thucydides.core.annotations.WithTags;
import net.serenitybdd.annotations.Managed;
import net.serenitybdd.annotations.Steps;
import net.serenitybdd.annotations.WithTag;
import net.serenitybdd.annotations.WithTags;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.WebDriver;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import net.serenitybdd.demos.todos.pageobjects.steps.TodoUserSteps;
import net.serenitybdd.junit.runners.SerenityRunner;
import net.thucydides.core.annotations.Managed;
import net.thucydides.core.annotations.Steps;
import net.thucydides.model.annotations.WithTag;
import net.thucydides.core.annotations.WithTags;
import net.serenitybdd.annotations.Managed;
import net.serenitybdd.annotations.Steps;
import net.serenitybdd.annotations.WithTag;
import net.serenitybdd.annotations.WithTags;
import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import net.serenitybdd.demos.todos.pageobjects.steps.TodoUserSteps;
import net.serenitybdd.junit.runners.SerenityRunner;
import net.thucydides.core.annotations.*;
import net.serenitybdd.annotations.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.WebDriver;
Expand Down Expand Up @@ -65,4 +65,4 @@ public void should_see_how_many_items_todo_when_all_are_toggled_to_incomplete_wi

james.should_see_that_the_number_of_items_left_is(2);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

import net.serenitybdd.demos.todos.pageobjects.steps.TodoUserSteps;
import net.serenitybdd.junit.runners.SerenityRunner;
import net.thucydides.core.annotations.Managed;
import net.thucydides.core.annotations.Steps;
import net.thucydides.model.annotations.WithTag;
import net.serenitybdd.annotations.Managed;
import net.serenitybdd.annotations.Steps;
import net.serenitybdd.annotations.WithTag;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.WebDriver;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

import net.serenitybdd.demos.todos.pageobjects.steps.TodoUserSteps;
import net.serenitybdd.junit.runners.SerenityRunner;
import net.thucydides.core.annotations.Managed;
import net.thucydides.core.annotations.Steps;
import net.thucydides.model.annotations.WithTag;
import net.serenitybdd.annotations.Managed;
import net.serenitybdd.annotations.Steps;
import net.serenitybdd.annotations.WithTag;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.WebDriver;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
import net.serenitybdd.demos.todos.pageobjects.model.TodoStatusFilter;
import net.serenitybdd.demos.todos.pageobjects.steps.TodoUserSteps;
import net.serenitybdd.junit.runners.SerenityRunner;
import net.thucydides.core.annotations.Managed;
import net.thucydides.core.annotations.Steps;
import net.thucydides.model.annotations.WithTag;
import net.serenitybdd.annotations.Managed;
import net.serenitybdd.annotations.Steps;
import net.serenitybdd.annotations.WithTag;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.WebDriver;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package net.serenitybdd.demos.todos.pageobjects.features.maintain_my_todo_list;

import net.serenitybdd.junit.runners.SerenityRunner;
import net.thucydides.model.annotations.WithTag;
import net.serenitybdd.annotations.WithTag;
import org.junit.Ignore;
import org.junit.runner.RunWith;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import net.serenitybdd.demos.todos.pageobjects.steps.TodoUserSteps;
import net.serenitybdd.junit.runners.SerenityRunner;
import net.thucydides.core.annotations.*;
import net.serenitybdd.annotations.*;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openqa.selenium.WebDriver;
Expand Down Expand Up @@ -38,4 +38,4 @@ public void should_be_able_to_add_additional_todo_items_with_page_objects() {

james.should_see_that_displayed_items_contain("Walk the dog", "Put out the garbage", "Buy some milk");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import net.serenitybdd.junit.runners.SerenityRunner;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.thucydides.core.annotations.Managed;
import net.thucydides.model.annotations.WithTag;
import net.thucydides.core.annotations.WithTags;
import net.serenitybdd.annotations.Managed;
import net.serenitybdd.annotations.WithTag;
import net.serenitybdd.annotations.WithTags;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
import net.serenitybdd.junit.runners.SerenityRunner;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.thucydides.core.annotations.Managed;
import net.thucydides.model.annotations.WithTag;
import net.thucydides.core.annotations.WithTags;
import net.serenitybdd.annotations.Managed;
import net.serenitybdd.annotations.WithTag;
import net.serenitybdd.annotations.WithTags;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
import net.serenitybdd.junit.runners.SerenityRunner;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.thucydides.core.annotations.Managed;
import net.thucydides.model.annotations.WithTag;
import net.thucydides.core.annotations.WithTags;
import net.serenitybdd.annotations.Managed;
import net.serenitybdd.annotations.WithTag;
import net.serenitybdd.annotations.WithTags;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import net.serenitybdd.junit.runners.SerenityRunner;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.thucydides.core.annotations.Managed;
import net.thucydides.model.annotations.WithTag;
import net.thucydides.core.annotations.WithTags;
import net.serenitybdd.annotations.Managed;
import net.serenitybdd.annotations.WithTag;
import net.serenitybdd.annotations.WithTags;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
import net.serenitybdd.junit.runners.SerenityRunner;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.thucydides.core.annotations.Managed;
import net.thucydides.model.annotations.WithTag;
import net.thucydides.core.annotations.WithTags;
import net.serenitybdd.annotations.Managed;
import net.serenitybdd.annotations.WithTag;
import net.serenitybdd.annotations.WithTags;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
import net.serenitybdd.junit.runners.SerenityRunner;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.thucydides.core.annotations.Managed;
import net.thucydides.model.annotations.WithTag;
import net.thucydides.core.annotations.WithTags;
import net.serenitybdd.annotations.Managed;
import net.serenitybdd.annotations.WithTag;
import net.serenitybdd.annotations.WithTags;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
import net.serenitybdd.junit.runners.SerenityRunner;
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.thucydides.core.annotations.Managed;
import net.thucydides.model.annotations.WithTag;
import net.thucydides.core.annotations.WithTags;
import net.serenitybdd.annotations.Managed;
import net.serenitybdd.annotations.WithTag;
import net.serenitybdd.annotations.WithTags;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
Expand Down

0 comments on commit 4011999

Please sign in to comment.