Session sharing for `@MobileTest` requires the annotation on both the class and the methods
Closed this issue · 1 comments
mach6 commented
When you session share for a @MobileTest
the annotation is required with every @Test
annotation. This is not the intended design and is not consistent with approach when session sharing a @WebTest
Example code which works, but should not;
@MobileTest
@Test(singleThreaded = true)
public class MobileTestTest {
private static SessionId sessionId;
@Test(priority = 0)
@MobileTest(appName = "safari", device = "iphone:8.1", deviceType = "iPhone Simulator")
public void mobileTest_part1() {
RemoteWebDriver driver = Grid.driver();
assertNotNull(driver);
driver.get("http://www.selion.io");
SeLionReporter.log("screenshot 1", true);
sessionId = driver.getSessionId();
}
@Test(priority = 1)
@MobileTest(appName = "safari", device = "iphone:8.1", deviceType = "iPhone Simulator")
public void mobileTest_part2() {
RemoteWebDriver driver = Grid.driver();
assertNotNull(driver);
assertEquals(driver.getSessionId().toString(), sessionId.toString());
SeLionReporter.log("screenshot 2", true);
driver.get("http://www.github.com/paypal/selion");
SeLionReporter.log("screenshot 3", true);
SeLionReporter.log("screenshot 4", true);
}
Example code which does not work, but should;
@MobileTest(appName = "safari", device = "iphone:8.1", deviceType = "iPhone Simulator")
@Test(singleThreaded = true)
public class MobileTestTest {
private static SessionId sessionId;
@Test(priority = 0)
public void mobileTest_part1() {
RemoteWebDriver driver = Grid.driver();
assertNotNull(driver);
driver.get("http://www.selion.io");
SeLionReporter.log("screenshot 1", true);
sessionId = driver.getSessionId();
}
@Test(priority = 1)
public void mobileTest_part2() {
RemoteWebDriver driver = Grid.driver();
assertNotNull(driver);
assertEquals(driver.getSessionId().toString(), sessionId.toString());
SeLionReporter.log("screenshot 2", true);
driver.get("http://www.github.com/paypal/selion");
SeLionReporter.log("screenshot 3", true);
SeLionReporter.log("screenshot 4", true);
}