Appium TestNg Maven Android Eclipse java简单启动实例
环境准备
Eclipse + maven + appium + TestNg
确保已经在Eclipse 上面安装maven TestNg的插件打开Eclipse,新建一个java项目,把项目转换成maven,之后修改Pom 文件
新建一个java项目
转换成Maven项目
点击finish,完成
修改Pom.xml 文件,添加dependency 依赖
<dependencies> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.1.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>LATEST</version> </dependency> <dependency> <groupId>io.appium</groupId> <artifactId>java-client</artifactId> <version>2.1.0</version> </dependency> </dependencies> </project>
之后如图所示,jar包依赖成功
新建一个TestNg的类
在项目下新建一个apps文件夹,用来存放要测试的app
打开appium 把地址设置成本机的ip,端口可以用默认的
之后点击启动看到Debug,说明启动成功了
- 代码实例
编写TestNg类,代码如下
package appiumDemo; import java.io.File; import java.net.MalformedURLException; import java.net.URL; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.remote.MobileCapabilityType; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; public class NewTest { private AndroidDriver driver; //初始化参数,安装apk @BeforeClass public void setUp() throws Exception { // 设置启动的程序位置和程序的名字,安装的apk文件 File classpathRoot = new File(System.getProperty("user.dir")); File appDir = new File(classpathRoot, "./apps"); File app = new File(appDir, "填写apk文件名字"); //例如apkName.apk // 设置设备的属性 DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); // 设置平台 Android capabilities.setCapability("platformName", "Android"); // 设置设备的名称,真机或者模拟器的, 设备连接电脑,在命令行输入adb devices 查看即可 capabilities.setCapability("deviceName", ""); // 设置Android系统的版本号,例如 4.3 4.4 capabilities.setCapability("platformVersion", ""); // 设置apk文件的路径 capabilities.setCapability("app", app.getAbsolutePath()); // 设置apk的包名 capabilities.setCapability("appPackage", ""); // 设置main Activity,例如 .mainNmae.activity 记得带上点 capabilities.setCapability("appActivity",""); //waitActivity ,如果启动成功,没有影响,可以不填写 capabilities.setCapability("appWaitActivity", ""); // 设置UNicode键盘支持中文输入,会默认的代替内置的键盘 capabilities.setCapability("unicodeKeyboard", "True"); capabilities.setCapability("resetKeyboard", "True"); try { // 加载驱动,ip,填写相应的ip和端口 例如 http://172.16.11.120:4720 driver = new AndroidDriver(new URL("http://ip地址:端口/wd/hub"), capabilities); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //启动成功后,会自动的安装apk,这个断言判断apk是否安装成功,修改包名为实际值 @Test public void Test() //输出判断结果 System.out.println("Result:"+driver.isAppInstalled("包名")); //判断是否安装成功 Assert.assertEquals(driver.isAppInstalled("包名"), true, "安装失败"); } //测试完成后,退出driver @AfterClass public void tearDown() throws Exception { driver.quit(); } }
- 代码实例
事在人为,功不唐捐