appium+java+selenium环境搭建和使用方法

写博客是用来总结学习知识和成果的,本文为博主原创文章,未经博主允许不得转载,谢谢

一、安装Appium需要的软件:
1、node.js:下载完安装包后,解压成文件夹,配置环境变量
在cmd中输入npm,安装成功如图:
这里写图片描述
2、.netframework 版本最好是4.5以上
3、android sdk,我的网盘中有集成好的sdk,可以使用。
4、安装appium,通过“appium-doctor”命令检查appium环境,安装成功如图:
这里写图片描述
5、android模拟器在eclipse的windows中。
6、如果代码需要用testng,也要将testng的jar包放进eclipse中。将features中的文件夹放进eclipse中的features文件夹中。将org.testng.eclipse_6.8.6.20130607_0745文件夹放进eclipse的plugins文件夹中。
环境变量配置如下:
这里写图片描述
这里写图片描述
二、demo

1、打开eclipse,打开android模拟器,创建模拟器信息,配置参数,如图:
这里写图片描述
2、点击start后点击Launch,即可启动。如图:
这里写图片描述
3、耐心等待android模拟器启动,大概20s左右,如图:
这里写图片描述
4、打开Appium,点击右上角的启动按钮,如图:
这里写图片描述
5、用uiautomatorviewer对测试app的元素(button、text Field)进行抓取,比如通过id、class和text等来确定具体的元素。 uiautomatorviewer在sdk中的tools中。双击后即可启动,点击第二个按钮,即可链接到android模拟器上,如图:
这里写图片描述
2、创建Java Project,代码如下:

package demo;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;

/**
 * @author YBB
 * 测试计算器1+2=3
 *selenium2.46.0的jar包和java-client2.2.0的jar包要版本对应,否则结果不正确
 */
public class test {
    private AppiumDriver driver;
	@BeforeClass
    public void setup() throws MalformedURLException {
          //设置自动化相关参数
          DesiredCapabilities capabilities = new DesiredCapabilities();
          capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
          capabilities.setCapability("platformName", "Android");
          capabilities.setCapability("automationName","Appium");
          capabilities.setCapability("deviceName", "emulator-5554");//指定测试机的ID,通过adb devices获取
          //设置安卓系统版本
          capabilities.setCapability("platformVersion", "4.4.2");
          //设置apk路径
//        capabilities.setCapability("app", "D:/appium"); 
          capabilities.setCapability("appWaitActivity","com.android.calculator2.Calculator");
          capabilities.setCapability("sessionOverride", true);//每次启动时覆盖session,否则第二次后运行会报错不能新建session
          //设置app的主包名和主类名
          capabilities.setCapability("appPackage", "com.android.calculator2");
          capabilities.setCapability("appActivity", "com.android.calculator2.Calculator");
          //初始化 
          driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);       
    }
	@Test
	public void myTest() throws InterruptedException {
		driver.findElement(By.id("com.android.calculator2:id/digit1")).click();
        Thread.sleep(1000);
        driver.findElement(By.id("com.android.calculator2:id/plus")).click();
        Thread.sleep(1000);
        driver.findElement(By.id("com.android.calculator2:id/digit2")).click();
        driver.findElement(By.id("com.android.calculator2:id/equal")).click();
	}
	@AfterClass
	  public void testend() throws Exception {
	      driver.quit();
	  }
}

eclipse运行查看结果,如图:
这里写图片描述
android模拟器计算器app,也会自动出现1+2 = 3的自动化输入测试,如图:
这里写图片描述
Appium查看结果,如图:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_36800800/article/details/81456931