Appium创建一个Note的实例

近来通过Appium,Robotium等几个框架去了解移动平台自动化测试。Appium官方实例是使用ContactManager.apk,而Robotium使用的是SDK自带的Notepad.apk,为了方便比较,在了解Appium的同时把实例修改成跟Robotium一致的Notepad.apk并记录下其中一个Case如下:

package majcit.com.AppiumDemo;  import io.appium.java_client.AppiumDriver; import io.appium.java_client.TouchAction;  import java.io.File; import java.net.URL; import java.util.List;  import org.junit.Test; import org.junit.After; import org.junit.Before; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.DesiredCapabilities; import static org.hamcrest.Matchers.*; import static org.hamcrest.MatcherAssert.assertThat;  /**  * Unit test for simple App.  */ public class NoetPadTest {     /**      * Create the test case      *      * @param testName name of the test case      */ 	private AppiumDriver driver;      @Before     public void setUp() throws Exception {         // set up appium         File classpathRoot = new File(System.getProperty("user.dir"));         File appDir = new File(classpathRoot, "apps");         File app = new File(appDir, "NotePad.apk");         DesiredCapabilities capabilities = new DesiredCapabilities();         capabilities.setCapability("deviceName","Android");         //capabilities.setCapability("platformVersion", "4.2");         capabilities.setCapability("platformName", "Android");         //capabilities.setCapability("app", app.getAbsolutePath());         capabilities.setCapability("appPackage", "com.example.android.notepad");         capabilities.setCapability("appActivity", "com.example.android.notepad.NotesList");         //capabilities.setCapability("appActivity", ".NotesList");         driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);     }      @After     public void tearDown() throws Exception {         driver.quit();     }      @Test     public void addNoteCNTitle() throws InterruptedException{         //Evoke the system menu option     	driver.sendKeyEvent(82);                   try {         	Thread.sleep(1000);         }catch(Exception e) {         	System.out.println(e.getMessage());         }                  //Click on the "Add Note" menu entry         WebElement el = driver.findElement(By.name("Add note"));         el.click();                  //Enter the note info and save it         WebElement text = driver.findElementByClassName("android.widget.EditText");         text.sendKeys("Note 1");                  driver.sendKeyEvent(82);         el = driver.findElement(By.name("Save"));         el.click();                  //Find out the new added note entry         List <WebElement> entries = driver.findElements(By.className("android.widget.TextView"));                  WebElement targetEntry = null;         for(WebElement entry : entries) {         	if(entry.getText().equals("Note1")) {         		targetEntry = entry;         		break;         	}         }                  //Long press on the men entry to call out the context menu options         TouchAction action = new TouchAction(driver);         action.longPress(targetEntry);         //action.moveTo(we,240,10);         action.perform();     	         //Find out the menu entry of "Delete"         WebElement optionListView = driver.findElement(By.className("android.widget.ListView"));         List <WebElement> options = optionListView.findElements(By.className("android.widget.TextView"));         WebElement delete = null;         for (WebElement option:options) {         	if (option.getText().equals("Delete")) {         		delete = option;         		break;         		         	}         }                  assertThat(delete,notNullValue());                  //Delete the menu entry         delete.click();                  try {         	Thread.sleep(1000);         }catch(Exception e) {         	System.out.println(e.getMessage());         }                                }      } 


你可能感兴趣的:(创建,appium,Note)