Appium创建一个Note的实例
来源:互联网 发布:xp下查找网络打印机 编辑:程序博客网 时间:2024/06/07 07:37
近来通过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()); } } }
0 0
- Appium创建一个Note的实例
- Robotium创建一个Note的实例
- UIAutomator创建一个Note的实例
- SDK Instrumentation创建一个Note的实例
- MonkeyRunner创建一个Note的实例
- UIAutomator创建一个Note的实例
- UIAutomator创建一个Note的实例
- fullcalendar创建的一个实例
- NOTE 4----linkserver的创建
- 创建只有一个实例的类
- 创建只有一个实例的类
- 创建XMLHttpRequest对象的一个实例
- 一个创建多个线程的实例
- 创建XMLHttpRequest对象的一个实例
- 创建XMLHttpRequest对象的一个实例
- 创建XMLHttpRequest对象的一个实例
- 表示创建一个数组的实例
- 创建一个简单BP的实例
- 认识WRK
- android-修改TextView中部分文字的颜色
- Delphi, Firebird, IBObjects and Transaction Management
- GPG error : signatures were invalid: NODATA1 NODATA2
- Errors running builder 'DeploymentBuilder' on project
- Appium创建一个Note的实例
- ios开发——简单引导页的实现
- 想研究下linux的recv是怎么实现的,写了一半
- 配置SMTP服务器
- Matlab保存图像的方法总结
- Unable to get system library for the project
- C/C++输入输出流总结
- Android入门第八篇之GridView
- USACO Section 1.4 - Arithmetic Progressions (暴力)