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