// Path: common/src/main/java/com/saucelabs/common/SauceApi.java
// public class SauceApi {
// 
//     private WebDriver webDriver;
// 
//     public SauceApi(WebDriver webDriver) {
//         this.webDriver = webDriver;
//     }
// 
//     public SauceApi() {
//     }
// 
//     public void setTestStatus(String testResult) {
//         //TODO finish implementation
//         //testResult = testResult.toLowerCase();
//         //isValidTestStatus(testResult);
//         new JavaScriptInvoker(webDriver).
//             executeScript(SauceJavaScriptStrings.testStatusPrefix + testResult);
//     }
// 
// //    private void isValidTestStatus(String testResult) throws InvalidTestStatusException {
// //        if(!testResult.equals("passed")  || !testResult.equals("failed")  ||
// //            !testResult.equals("true") || !testResult.equals("false"))
// //        {
// //            throw new InvalidTestStatusException();
// //        }
// //    }
// 
//     public void setTestName(String testName) {
//         new JavaScriptInvoker(webDriver).executeScript(SauceJavaScriptStrings.testNamePrefix + testName);
//     }
// 
//     public void setTestTags(String tags) {
//         new JavaScriptInvoker(webDriver).executeScript(SauceJavaScriptStrings.tagsPrefix + tags);
//     }
// 
//     public void comment(String comment) {
//         new JavaScriptInvoker(webDriver).executeScript(SauceJavaScriptStrings.sauceContextPrefix + comment);
//     }
// 
//     public void setBuildName(String buildName) {
//         new JavaScriptInvoker(webDriver).executeScript(SauceJavaScriptStrings.buildPrefix + buildName);
//     }
// 
//     public void setBreakpoint() {
//         new JavaScriptInvoker(webDriver).executeScript(SauceJavaScriptStrings.breakStatement);
//     }
// }


import com.saucelabs.common.SauceApi;
import com.saucelabs.saucerest.SauceREST;
import org.openqa.selenium.MutableCapabilities;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.edge.EdgeOptions;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.ie.InternetExplorerOptions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.safari.SafariOptions;
import java.net.MalformedURLException;
package com.saucelabs.remotedriver;



public class SauceSession {
	static String sauceSeleniumServer = "https://ondemand.saucelabs.com/wd/hub";

	static String SAUCE_USERNAME = System.getenv("SAUCE_USERNAME");
	static String SAUCE_ACCESS_KEY = System.getenv("SAUCE_ACCESS_KEY");

	String BUILD_TAG = System.getenv("BUILD_TAG");

// Path: common/src/main/java/com/saucelabs/common/SauceApi.java
// public class SauceApi {
// 
//     private WebDriver webDriver;
// 
//     public SauceApi(WebDriver webDriver) {
//         this.webDriver = webDriver;
//     }
// 
//     public SauceApi() {
//     }
// 
//     public void setTestStatus(String testResult) {
//         //TODO finish implementation
//         //testResult = testResult.toLowerCase();
//         //isValidTestStatus(testResult);
//         new JavaScriptInvoker(webDriver).
//             executeScript(SauceJavaScriptStrings.testStatusPrefix + testResult);
//     }
// 
// //    private void isValidTestStatus(String testResult) throws InvalidTestStatusException {
// //        if(!testResult.equals("passed")  || !testResult.equals("failed")  ||
// //            !testResult.equals("true") || !testResult.equals("false"))
// //        {
// //            throw new InvalidTestStatusException();
// //        }
// //    }
// 
//     public void setTestName(String testName) {
//         new JavaScriptInvoker(webDriver).executeScript(SauceJavaScriptStrings.testNamePrefix + testName);
//     }
// 
//     public void setTestTags(String tags) {
//         new JavaScriptInvoker(webDriver).executeScript(SauceJavaScriptStrings.tagsPrefix + tags);
//     }
// 
//     public void comment(String comment) {
//         new JavaScriptInvoker(webDriver).executeScript(SauceJavaScriptStrings.sauceContextPrefix + comment);
//     }
// 
//     public void setBuildName(String buildName) {
//         new JavaScriptInvoker(webDriver).executeScript(SauceJavaScriptStrings.buildPrefix + buildName);
//     }
// 
//     public void setBreakpoint() {
//         new JavaScriptInvoker(webDriver).executeScript(SauceJavaScriptStrings.breakStatement);
//     }
// }


// Path: common/src/main/java/com/saucelabs/remotedriver/SauceSession.java
import com.saucelabs.common.SauceApi;
import com.saucelabs.saucerest.SauceREST;
import org.openqa.selenium.MutableCapabilities;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.edge.EdgeOptions;
import org.openqa.selenium.firefox.FirefoxOptions;
import org.openqa.selenium.ie.InternetExplorerOptions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.safari.SafariOptions;
import java.net.MalformedURLException;

package com.saucelabs.remotedriver;



public class SauceSession {
	static String sauceSeleniumServer = "https://ondemand.saucelabs.com/wd/hub";

	static String SAUCE_USERNAME = System.getenv("SAUCE_USERNAME");
	static String SAUCE_ACCESS_KEY = System.getenv("SAUCE_ACCESS_KEY");

	String BUILD_TAG = System.getenv("BUILD_TAG");

    public SauceApi test;