Added Java sample which demonstrates how to run a test against Mobile Safari with Appium

This commit is contained in:
Ross Rowe
2013-07-26 19:07:14 +10:00
parent a3c07c3aea
commit 8c565171ea
@@ -0,0 +1,77 @@
package com.saucelabs.appium;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import static org.junit.Assert.*;
/**
*
* Simple test which demonstrates how a test can be run against Mobile Safari running on an Appium instance.
*
* The test is based on https://github.com/appium/appium/blob/master/sample-code/examples/node/safari.js
*
* @author Ross Rowe
*/
public class SafariTest {
private WebDriver driver;
/**
* Instantiates the {@link #driver} instance by using DesiredCapabilities which specify the
* 'iPhone Simulator' device and 'safari' app.
* @throws Exception
*/
@Before
public void setUp() throws Exception {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("device", "iPhone Simulator");
capabilities.setCapability("version", "6.1");
capabilities.setCapability("app", "safari");
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"),
capabilities);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
/**
* Navigates to http://saucelabs.com/test/guinea-pig and interacts with the browser.
*
* @throws Exception
*/
@Test
public void runTest() throws Exception {
driver.get("http://saucelabs.com/test/guinea-pig");
WebElement idElement = driver.findElement(By.id("i_am_an_id"));
assertNotNull(idElement);
assertEquals(idElement.getText(), "I am a div");
WebElement commentElement = driver.findElement(By.id("comments"));
assertNotNull(commentElement);
commentElement.sendKeys("This is an awesome comment");
WebElement submitElement = driver.findElement(By.id("submit"));
assertNotNull(submitElement);
submitElement.click();
WebElement yourCommentsElement = driver.findElement(By.id("your_comments"));
assertNotNull(yourCommentsElement);
assertTrue(driver.findElement(By.id("your_comments")).getText().contains("This is an awesome comment"));
}
/**
* Closes the {@link #driver} instance.
*
* @throws Exception
*/
@After
public void tearDown() throws Exception {
driver.quit();
}
}