这里主要是跟着http://www.cnblogs.com/puresoul/p/4696825.html这边博文的步骤做的。
期间遇到了一些问题,因此我自己做了一些改动。
使用到的apk请看我上一篇博文。详细的步骤可以结合上面贴出地址的博文。因为源博文使用的相关jar包版本很低,使用新版本的jar包和原作者的代码就会出现问题。以下我引用的是selenium-server-standalone-3.0.0.jar、java-client-3.3.0.jar。
亲测可以正常运行。
//有默认的执行顺序
import java.io.File;
import java.net.URL;
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.android.AndroidDriver;
public class ContactTest {
private AndroidDriver<WebElement> driver;
@Before
public void setUp() throws Exception {
//设置apk的路径
File classpathRoot = new File(System.getProperty("user.dir"));
System.out.println(classpathRoot);
File appDir = new File(classpathRoot, "apk");
File app = new File(appDir, "ContactManager.apk");
//设置自动化相关参数
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("deviceName", "Android Emulator");
//设置安卓系统版本
capabilities.setCapability("platformVersion", "4.3.1");
//设置apk路径
capabilities.setCapability("app", app.getAbsolutePath());
//设置app的主包名和主类名
capabilities.setCapability("appPackage", "com.example.android.contactmanager");
capabilities.setCapability("appActivity", ".ContactManager");
//初始化
driver = new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}
@Test
public void addContact(){
// WebElement el = driver.findElementByAndroidUIAutomator("new UiSelector().text(\"+Add Contact+\")");
// WebElement el = driver.findElement(By.accessibilityid("Add Contact") );
WebElement el = driver.findElementByAccessibilityId("Add Contact");
el.click();
List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");
textFieldsList.get(0).sendKeys("Some Name");
textFieldsList.get(2).sendKeys("Some@example.com");
driver.swipe(100, 500, 100, 100, 2);
driver.findElementByAccessibilityId("Save").click();
}
@After
public void tearDown() throws Exception {
driver.quit();
}
}