一、安装Appium需要的软件:
1、node.js:下载完安装包后,解压成文件夹,配置环境变量
在cmd中输入npm,安装成功如图:
2、.netframework 版本最好是4.5以上
3、android sdk,我的网盘中有集成好的sdk,可以使用,附上链接(链接:https://pan.baidu.com/s/11IYJMcIgBuBpMb9zPyxCSA 密码:8ez9)。
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;@BeforeClasspublic 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); }@Testpublic 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();}@AfterClasspublic void testend() throws Exception {driver.quit();}
}
eclipse运行查看结果,如图:
android模拟器计算器app,也会自动出现1+2 = 3的自动化输入测试,如图:
Appium查看结果,如图: