采得百花成蜜后,为谁辛苦为谁甜。这篇文章主要讲述Appium环境搭建(Windows版)相关的知识,希望能为你提供帮助。
注:appium安装到C盘,node.js安装到C盘
一、安装node.js1、到官网下载node.js:https://nodejs.org/en/download/
文章图片
2、获取到安装文件后,直接双击安装文件,根据程序的提示,完成nodejs的安装。
3、安装完成后,运行cmd,输入node –v,如果安装成功,会输出如下版本信息:
文章图片
二、配置Android sdk环境
1、sdk环境配置:http://www.cnblogs.com/puresoul/p/4597211.html
2、确保安装了 Level 17 或以上的版本 api
3、设置 android_HOME 系统变量为你的 Android SDK 路径
F:\\Program Files (x86)\\Android\\android-sdk
文章图片
4、把 tools 和 platform-tools 两个目录加入到系统的 Path 路径里
; F:\\Program Files (x86)\\Android\\android-sdk\\platform-tools; F:\\Program Files (x86)\\Android\\android-sdk\\tools
文章图片
三、安装手机驱动并测试连接真机
完成上述步骤以后,为了能够让手机连接到PC端进行真机测试。还需要安装测试手机对应的驱动程序。根据手机型号提前下载相应的离线驱动并安装,之后将手机与PC通过usb线相连。在cmd中输入以下命令,如果能够看到设备,则表示安装成功。
文章图片
四、安装Appium
1.下载安装文件:https://bitbucket.org/appium/appium.app/downloads/
2.直接双击appium-installer.exe文件安装就好,桌面会生成一个appium的图标
文章图片
3.把node_modules的bin目录放到系统的Path路径里
C:\\Program Files (x86)\\Appium\\node_modules\\.bin
文章图片
4.检查appium所需的环境是否OK:
进入cmd命令行,输入appium-doctor ,出现以下提示,All Checks were successful ,说明环境成功。
文章图片
二、Appium入门实例(Java)
一、使用Eclipse直接创建案例工程
1、打开Eclipse,【File】--> 【New】--> 【Project】
2、选择【java Project】--> 【Next】
3、输入工程名称Appium_demo,点击【Finish】
4、右键点击工程 New-Folder,新建两个文件夹:apps和libs,目录结构如下:
文章图片
二、导入测试的类库
1、导入Selenum类库:http://docs.seleniumhq.org/download/
1) selenium-server-standalone-2.44.0.jar
2) selenium-java-2.44.0.zip
2、导入Appium类库:
1) java-client-1.2.1.jar
文章图片
3、右键点击工程空白处,选择【Build Path】--> 【Configure Build Path】
三、下载测试APK
1、下载测试的文件ContactManager.apk:https://github.com/appium/sample-code/tree/master/sample-code/apps/ContactManager
2、将下载的apk放到项目的apps目录下
四、建立package包和案例文件
1、在src文件夹上右键单击,【New】--> 【package】,输入包名:com.dan.demo,点击【Finish】
2、在package下新建类:ContactsTest.java,如下:
下载地址:https://github.com/appium/sample-code/tree/master/sample-code/examples/java/junit/src/test/java/com/saucelabs/appium
package com.dan.demo;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
import java.io.File;
import java.net.URL;
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
public class ContactsTest {
private AppiumDriver driver;
@Before
public void setUp() throws Exception {
// set up appium
File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot, "/apps");
File app = new File(appDir, "ContactManager.apk");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName","4d1219502472216f");
capabilities.setCapability("platformVersion", "4.4");
capabilities.setCapability("app", app.getAbsolutePath());
capabilities.setCapability("appPackage", "com.example.android.contactmanager");
capabilities.setCapability("appActivity", ".ContactManager");
driver = new AndroidDriver< > (new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
System.out.println("App is launched!");
}
@Test
public void addContact(){
WebElement el = driver.findElement(By.name("Add Contact"));
el.click();
List< AndroidElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");
textFieldsList.get(0).sendKeys("Some Name");
textFieldsList.get(2).sendKeys("Some@example.com");
driver.swipe(100, 500, 100, 100, 2);
driver.findElementByName("Save").click();
System.out.println("App is done!");
}
【Appium环境搭建(Windows版)】 @After
public void tearDown() throws Exception {
driver.quit();
}
}
文章图片
文章图片
五、 启动Android模拟器(也可以连接真机)
1、cmd输入:android avd,选择模拟器,点击【Start】即可。具体可参考:http://www.cnblogs.com/puresoul/p/4597211.html
2、启动好后,cmd输入:adb devices,确定设备是否连接上,如下图连接成功:
文章图片
六、 启动Appium
方法一:cmd输入:appium
文章图片
方法二:
1、直接双击appium gui图标(如下图):
文章图片
2、点击右上角的启动按钮,启动日志如下:
文章图片
七、 运行测试案例:
1、在eclipse中,项目右键> 【Run As】> 【JUnit Test】,运行过程截图如下:
文章图片
八、eclipse运行结果:
文章图片
九、Appium运行结果:
文章图片
分类: Appium学习
推荐阅读
- Android Studio打包(“APP_NAME" IS NOT TRANSLATED IN ZH, ZH_CN……..解决办法)
- Android源码解析View.post()到底干了啥
- 认清Android框架 MVC,MVP和MVVM
- $scope.$apply()
- 安卓布局整理
- Android ListView与RecycleView的对比使用
- Android ScrollView嵌套WebView出现底部空白问题
- applicaitonContext属性未注入, 请在applicationContext.xml中定义SpringContextHolder.
- android WebView音频关闭的问题