-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathSauceBaseTest.java
45 lines (37 loc) · 1.19 KB
/
SauceBaseTest.java
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
package com.saucelabs.junit;
import com.saucelabs.saucebindings.SauceSession;
import com.saucelabs.saucebindings.options.SauceOptions;
import org.junit.Before;
import org.junit.Rule;
import org.junit.rules.TestName;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
import org.openqa.selenium.WebDriver;
public class SauceBaseTest {
protected WebDriver driver;
protected SauceSession session;
@Rule
public SauceTestWatcher watcher = new SauceTestWatcher();
@Rule
public TestName testName = new TestName();
public SauceOptions createSauceOptions() {
return new SauceOptions();
}
@Before
public void setup() {
SauceOptions sauceOptions = createSauceOptions();
sauceOptions.sauce().setName(testName.getMethodName());
session = new SauceSession(sauceOptions);
driver = session.start();
}
public class SauceTestWatcher extends TestWatcher {
@Override
protected void succeeded(Description description) {
session.stop(true);
}
@Override
protected void failed(Throwable e, Description description) {
session.stop(false);
}
}
}