-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathWebTest.java
More file actions
89 lines (71 loc) · 3.41 KB
/
WebTest.java
File metadata and controls
89 lines (71 loc) · 3.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import com.saucelabs.saucerest.SauceREST;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.SessionId;
import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Properties;
public class WebTest {
private ThreadLocal<String> sessionId = new ThreadLocal<String>();
private static ThreadLocal<WebDriver> webDriver = new ThreadLocal<WebDriver>();
public static void main(String[] args) throws IOException {
String SAUCE_USERNAME = "<sauceUser>";
String SAUCE_ACCESS_KEY = "<sauceaccessKey>";
String TestURL = "https://www.saucedemo.com/";
String actualTitle = "Swag Labs";
int delay = 5000;
// this is a test comment
System.out.println("Starting to execute program now");
// RDC on sauce: ondemand.us-west-1.saucelabs.com/wd/hub VDC ondemand.saucelabs.com:443/wd/hub
String UNIFIED_PLATFORM_URL = "https://" +SAUCE_USERNAME+ ":" +SAUCE_ACCESS_KEY+ "@ondemand.saucelabs.com:443/wd/hub";
URL url = new URL(UNIFIED_PLATFORM_URL);
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platform", "Windows 10");
// capabilities.setCapability("tag", "DesktopWebExample");
// capabilities.setCapability("name", "Desktop_Web_test_SL");
capabilities.setCapability("browserName", "Chrome");
capabilities.setCapability("version", "latest");
// capabilities.setCapability("extendedDebugging", true);
// capabilities.setCapability("build", 1);
// capabilities.setCapability("TunnelIdentifier", "<yourTunnelId>"); // need to have a tunnel setup first otherwise comment out
SauceREST sauce = new SauceREST(SAUCE_USERNAME, SAUCE_ACCESS_KEY, "US West 1");
RemoteWebDriver driver = new RemoteWebDriver(url, capabilities);
SessionId session = ((RemoteWebDriver)driver).getSessionId();
String currentSessionID = session.toString();
System.out.println("Session id: " +currentSessionID);
try
{
// sauceContext(driver, "Starting web Test Now");
// sauceContext(driver, "Loading URL");
driver.get(TestURL);
// sauceContext(driver, "Attempting to get the title");
String currentTitle = driver.getTitle();
// sauceContext(driver, "Perform validation and determine if current title equals title");
if (currentTitle.equals(actualTitle))
{
// sauceContext(driver, "Title Verification Test Passed");
System.out.println("Test Passed.");
// sauce.jobPassed(currentSessionID);
}
else
{
// sauceContext(driver, "Title Verification Test Failed");
System.out.println("Test Failed");
// sauce.jobFailed(currentSessionID);
}
}
catch (Exception ex)
{
System.out.println("Can't execute desktop web test on sauceLabs " +ex.getMessage());
}
// sauceContext(driver, "Quitting Driver");
driver.quit();
}
private static void sauceContext(RemoteWebDriver driver, String text)
{
((JavascriptExecutor)driver).executeScript("sauce:context=" +text);
}
}