这篇文章给大家介绍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就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。