Appium环境搭建(Windows版)

Appium环境搭建(Windows版)

学习网址: https://www.cnblogs.com/ydnice/p/5787800.html

版本匹配配置: https://www.cnblogs.com/joekk01/p/9923902.html

nodejs5.7.0 + ADT Bundle (23.0.0 64位 Eclipse/SDK ) + Appium (1.4.16)

AppiumForWindows_1_4_16_1 + dotNetFx45_Full_setup.exe

appium安装到C盘,node.js安装到C盘
一、安装node.js
1、到官网下载node.js:
https://nodejs.org/en/download/
https://nodejs.org/download/release/

安装后验证:
// 表示nodejs 的版本说明安装成功
node -v

// npm 版本安装成功
npm -v

node.js 安装教程及环境变量配置
C:\Program Files\nodejs5.7.0
C:\Program Files\nodejs5.7.0\node_modules\npm\bin

包含设置cmd 全局执行命令设置
https://www.cnblogs.com/zhouyu2017/p/6485265.html

node.js学习网址;
http://www.runoob.com/nodejs/nodejs-install-setup.html

二、Android SDK环境搭建
1、下载ADT Bundle,ADT Bundle包含了Eclipse、ADT插件和SDK Tools,是已经集成好的IDE,只需安装好Jdk即可开始开发,不用再折腾开发环境。
下载ADT Bundle 地址; https://www.androiddevtools.cn/
ADT Bundle
ADT Bundle包含了Eclipse、ADT插件和SDK Tools,是已经集成好的IDE,只需安装好Jdk即可开始开发,推荐初学者下载ADT Bundle,不用再折腾开发环境。
版本号 Windows
23.0.0 64位

2、解压下载下来的文件,尽量不要解压到带有中文路径的文件目录下,目录也不要过深,我的目录为:D:\android-sdk
文件解压到E:\Program Files\android-sdk\sdk

配置环境变量:
ANDROID_HOME E:\Program Files\android-sdk\sdk

Path 增加:
%ANDROID_HOME%\build-tools\android-4.4W
%ANDROID_HOME%\tools
%ANDROID_HOME%\platform-tools

C:\Program Files (x86)\Appium\node_modules.bin

问题一、
eclipse安装ADT后在windows菜单下找不到android SDK and AVD Manager选项的解决办法
解决方案:
在eclipse中点击window→Customize Perspective→Command Groups availability→Available command groups下勾选Android SDK and AVD Manager选项,然后在Tool Bar Visibility 下勾选Android SDK and AVD Manager选项

问题二、
Android创建AVD时ok按钮灰色无法点击:
解决方案、
https://blog.csdn.net/zhoubin1992/article/details/45937069

选择device为Nexus4,选择target为Android4.0.3后,
OK按钮是灰色的,无法点击创建AVD。
原因是对应的系统镜像没有安装,system image not installed.

解决:
点击Android sdk manager,找到API-15里的ARM EABI v7a system image,选择安装,装好之后,问题解决。
我是改了host的,但是还是很慢很慢,2百多M。
推荐大家用这里的
http://www.androiddevtools.cn/
提供所有Android开发所需的东东。
方法:
找到SDK System images对应需要的文件下载:
这是在创建模拟器时需要的system image,也就是在创建模拟器时 CPU/ABI项需要选择的,下载并解压后,将解压出的整个文件夹复制或者移动到your sdk 路径/system-images文件夹下即可, 如果没有 system-images目录就先创建此文件夹,然后打开SDK Manager,打开 Tools(工具)菜单选择Options(选项)菜单项打开Android SDK Manager Setting对话框,点击 Clear Cache(清除缓存)按钮,然后重启Eclipse(或Android Studio)和SDK Manager。

作者:牧之丶
来源:CSDN
原文:https://blog.csdn.net/zhoubin1992/article/details/45937069
版权声明:本文为博主原创文章,转载请附上博文链接!

3、 怎样使用Eclipse新建Android模拟器
https://jingyan.baidu.com/article/219f4bf7f47be3de442d38ac.html

4、 Android测试环境搭建(win7) 完美推荐
对应配置文件路径:http://www.cnblogs.com/puresoul/p/4597211.html
验证 Android SDK 相关环境变量

(嵌套3功能点 使用)

首先打开cmd命令行
1、验证 platform-tools 环境变量:
  1) 在cmd命令行输入 adb shell,可以进入到当前的虚拟机系统则安装成功
  2) 进行虚拟机系统后,输入ls命令,可以查看文件目录
  3) 输入exit退出虚拟机环境
2、验证 tools 目录下的环境变量:
  1)在命令行输入 android,该命令会启动Android SDK Manager
3、验证 build-tools 目录下的环境变量
  1) 在命令行输入 aapt,会看到这条命令的使用帮助信息
至此,Android的测试环境基本搭建完毕。

三、 安装Appium

安装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,目录结构如下:
5)、导入selenium类库jar
    1) selenium-server-standalone-2.44.0.jar
    2) selenium-java-2.44.0.zip
6)、导入Appium类库:
    1) java-client-1.2.1.jar
2) selenium-server-standalone-2.47.1.jar

7、下载测试APK 编写代码

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!");

}

@After

public void tearDown() throws Exception {

    driver.quit();

}

}

代码注释解析及描述:

Desired Capabilities本质上是key value的对象,他告诉appium server这样一些事情:
1.本次测试时启动浏览器还是移动设备;
2.是启动的Android还是IOS;
3.启动Android时,app的package是什么;
4. 启动Android时,app的activity是什么;
Appium的Desired Capabilities是扩展了webdriver的Desired Capabilities的,下面的一些通用配置是需要指定的:
automationName:使用哪种自动化引擎。appium(默认)还是Selendroid?
platformName:使用哪种移动平台。iOS, Android, orFirefoxOS?
deviceName:启动哪种设备,是真机还是模拟器?iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, etc…
app:应用的绝对路径,注意一定是绝对路径。如果指定了appPackage和appActivity的话,这个属性是可以不设置的。另外这个属性和browserName属性是冲突的。
browserName:移动浏览器的名称。比如Safari’ for iOS and ‘Chrome’, ‘Chromium’, or ‘Browser’ for Android;与app属性互斥。
udid:物理机的id。比如1ae203187fc012g。
Android平台特有的属性有:
appActivity:待测试的app的Activity名字。比如MainActivity, .Settings。注意,原生app的话要在activity前加个"."。
appPackage:待测试的app的java package。比如com.example.android.myApp, com.android.settings。
unicodeKeyboard:是否使用unicode键盘输入,如果设置为true,那么可以输入中文和特殊字符,这个很常用,一般设置为true;
caps.setCapability(“unicodeKeyboard”,“true”);
resetKeyboard:是否重置键盘为原始状态,比如你将键盘设置为了unicode键盘,当用例执行完成之后,将resetKeyboard设置为true,则键盘重置为原始状态;
caps.setCapability(“resetKeyboard”,“true”);

八、 启动Android模拟器(也可以连接真机)

1、cmd输入:android avd,选择模拟器,点击【Start】即可。具体可参考:http://www.cnblogs.com/puresoul/p/4597211.html

2、启动好后,cmd输入:adb devices,确定设备是否连接上,如下图连接成功:

Capabilities [{app=E:\Project\SpringBoot_Appium_sp\Appium_demo\apps\ContactManager.apk, appPackage=com.dan.demo, appActivity=.ContactManager, platformVersion=4.4, deviceName=4d1219502472216f}]

九、 android 编译APK文件生成过程

网址借鉴: https://blog.csdn.net/katrinawj/article/details/80016315
https://blog.csdn.net/u014763302/article/details/51591159

工具存放地址;C:\Users\mgx\Downloads\dex2jar-2.0

第一步: ContactManager.apk 修改以.zip文件名 —》 ContactManager.zip
第二步: classes.dex 表示源文件(java 文件中的 class)
第三步: windows 环境 复制classes.dex文件 到 工具存放地址(C:\Users\mgx\Downloads\dex2jar-2.0)
第四步: cd C:\Users\mgx\Downloads\dex2jar-2.0
第五步: 执行命令 d2j-dex2jar.bat classes.dex (反编译 生产JAR包)
第六步: 生成classes-dex2jar.jar 拖入到 jd-gui.exe 查看ContactManager.apk 对应源码

十、 appium-desktop 网址下载

https://github.com/appium/appium-desktop/releases

十一、Windows下Python环境搭建图解

python 安装图解: 推荐
https://blog.csdn.net/m0_37280790/article/details/77567815

配置python 下载类库、xml及命令:

pip install virtualenv

pip install requests

pip install beautifulsoup4

pip install lxml

pip install html5lib

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值