对java熟悉一些,所以想用java把appium给做起来。今天用myeclipse给环境和Demo弄了一下,网上没有一篇全套资料的。
各块环境的搭建:
1、安装appium客户端,省略下载和安装步骤
2、在myeclipse中新建一个java project,省略步骤,我的结构是这样的
3、在java project中新建libs和apps的目录,用于存放第三方jar包和apk包
java-client-4.1.2.jar
链接:http://pan.baidu.com/s/1hse8yaw 密码:kijn
selenium-java-2.48.0.jar
链接:http://pan.baidu.com/s/1hrAgpmc 密码:f55p
selenium-server-standalone-2.48.0.jar
链接:http://pan.baidu.com/s/1gfhsqhd 密码:sma8
4、创建junit test cast:点击项目src-new-other-java-JUnit-JUnit test cast
然后调用普通java中的测试用例
我的测试用例:也就是连接appium-启动应用-关闭appium连接
1 package pc.driver.com.cn; 2 3 import io.appium.java_client.android.AndroidDriver; 4 import java.io.File; 5 import java.net.MalformedURLException; 6 import java.net.URL; 7 8 9 import org.openqa.selenium.By; 10 import org.openqa.selenium.WebElement; 11 import org.openqa.selenium.remote.CapabilityType; 12 import org.openqa.selenium.remote.DesiredCapabilities; 13 14 public class AndroidTestDemo { 15 private AndroidDriver<WebElement> driver; 16 public void setUp(){ 17 //设置apk的路径 18 File clasPathRoot = new File(System.getProperty("user.dir")); 19 File appDir = new File(clasPathRoot,"apps"); 20 File app = new File(appDir,"modeng.apk"); 21 //设置自动化相关参数 22 DesiredCapabilities capabilities = new DesiredCapabilities(); 23 capabilities.setCapability("deviceName", "Android Emulator"); 24 capabilities.setCapability(CapabilityType.BROWSER_NAME,""); 25 //设置安卓系统版本和平台 26 capabilities.setCapability("platformVersion", "4.4"); 27 capabilities.setCapability("platformName", "Android"); 28 //设置apk路径 29 capabilities.setCapability("app", app.getAbsolutePath()); 30 //设置app的主包名和主类名 31 capabilities.setCapability("appPackage", "cn.com.pclady.modern"); 32 capabilities.setCapability("appActivity", "cn.com.pclady.modern.module.launcher.SplashActivity"); 33 34 //初始化 35 try { 36 driver =new AndroidDriver<WebElement>(new URL("http://127.0.0.1:4723/wd/hub"),capabilities); 37 Thread.sleep(10000); 38 //driver.findElement(By.id("com.android.packageinstaller:id/ok_button")).click(); 39 Thread.sleep(10000); 40 driver.quit(); 41 } catch (MalformedURLException e) { 42 e.printStackTrace(); 43 } catch (InterruptedException e) { 44 e.printStackTrace(); 45 } 46 } 47 48 49 50 }
这里要注意,如果find方法找元素无法找到,会报错,junit会报错
5、运行的时候,必是运行junit程序,
记得一定要关appium不然,再运行,会报无法创建新的session
如果成功:
然后完成后,再进入Console控制台打印我的日志输出。
OK了,一个简单的demo就可以了,但是如果要想用好appium,那它的api必须得熟悉如何调用才可以。再继续研究吧