public class AndroidContactsTest {
/**
*AndroidDriver与AppiumDriver之间由定义来解释:
*publicclassAndroidDriverextendsAppiumDriverimplementsAndroidDeviceActionShortcuts,HasNetworkConnection,PushesFiles,StartsActivity,FindsByAndroidUIAutomator{
*AppiumDriver 是的超级驱动程序 Android 驱动程序
*/
private AndroidDriver driver;
private boolean isInstall = false;
public void startRecord() throws IOException{
Runtime rt =Runtime.getRuntime();
}
/**
* 配置启动driver
* @throws Exception
*/
@Before
public void setUp() throws Exception {
//创建Capabilities
DesiredCapabilities capabilities = new DesiredCapabilities();
//设置要调试的模拟器的名字
capabilities.setCapability("deviceName","OPPO A11");
//设置模拟器的系统版本
capabilities.setCapability("platformVersion", "4.4.4");
//设置app的包名
capabilities.setCapability("appPackage", "com.stockemotion.app");
//设置app的启动activity
capabilities.setCapability("appActivity", ".activity.SplashActivity");
//启动driver
driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
//Selenium种隐形等待方式,是对于全局来讲,Selenium的延迟等待分为 显式等待(Explicit Wait) & 隐式等待(Implicit Wait).
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
//如果真机设备已经安装,则不需要重新安装
if(isInstall){
File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot,"/src/main/java/apps/");
File app = new File(appDir,"stockemotion.apk");
//设置app的路径
capabilities.setCapability("app",app.getAbsolutePath());
}
startRecord();
}
@After
public void tearDown() throws Exception {
//测试完毕,关闭driver,不关闭将会导致会话还存在,下次启动就会报错
driver.quit();
}
/**
* 要执行的的测试方法
*/
@Test
public void apiDemo(){
//引导页出现时点击“立即体验”,通过id方式找到元素
driver.findElementById("com.stockemotion.app:id/bt_open").click();
System.out.print("第一步操作");
//首次进入确定包不更新时,点击
WebElement tip_textview= driver.findElementById("com.stockemotion.app:id/shaohou_updata");
tip_textview.click();
System.out.print("第2步操作");
//通过name方式找到元素
driver.findElement(By.name("大盘气象")).click();
System.out.print("第3步操作");
List lis = driver.findElementsByClassName("android.widget.EditText");
lis.get(0).sendKeys("shoujihao");
lis.get(1).sendKeys("yanzhengma ");
//模拟点击键盘“回车键(66)”
driver.pressKeyCode(66);
//点击“登录按钮”
driver.findElementById("com.stockemotion.app:id/tv_login").click();
try {
//线程休眠,停留在该页面
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}