appium从入门到放弃(一):环境安装

前言

好的开始是成功的一半。

安装前,讲一个小故事,从前在第一家公司到时候,去南京的那个组安装系统的开发环境,听其他同事说有个新入职的小伙伴安装系统的开发环境,安装了一周,也没有跑通第一个程序,so,他离职了。所以,这个安装过程也是非常重要的一部分,希望大家能和教程里面安装的一样顺利,如果有问题,请根据实际的报错去google或百度一下。
本次教程,是针对在mac ox环境下的,如果是windows的,请参考下百度搜索的结果,里面有很多(我的也是借鉴的)。

安装步骤

1.安装homebrew

打开mac的终端,或者用iterm,输入命令

ruby -e "$(curl --insecure -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

验证:终端输入(brew -v)提示版本信息说明安装成功

Homebrew 1.3.6
Homebrew/homebrew-core (git revision eb19a; last commit 2017-10-28)

2.安装java

  1. 去官网下载java.dmg安装

  2. brew install java

    验证:终端输入 java -version,有结果说明ok。

    java version "1.7.0_76"
    Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)
    

3.安装android sdk

说实话我也不记得怎么安装的了,抄的博客,可参考这一篇(感谢各位大神分享):

https://www.imooc.com/article/16145?block_id=tuijian_wz

下载地址如果被墙了,可翻一下试试或者百度。。我是找的一个新浪的地址,反正虽然是老版本,但是在线更新的时候会更新最新的部分,大家不要纠结。

下载完之后,解压,到tools里面,双击(666)android这个程序,有几个是必选的

Android SDK Tools
Android SDK Platform-tools
Android SDK Build-tools

其他看小伙伴的心情勾选。据说Extras里面 intel x86需要勾,否则会导致模拟器无法安装apk,我用的另外一种方法。

等待安装(看网速和人品,可能会失败,如果失败,请百度怎么连),安装成功后,你会发现原先目录里面东东变多了,有platform-tools了。然后动动你们的手指,打开终端,写下面的脚本:

cd ~
vim .bash_profile 增加几行
export ANDROID_HOME=/Users/zhongyang/Downloads/android-sdk-macosx
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_76.jdk/Contents/Home
PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$JAVA_HOME/bin
输入 wq 退出
source .bash_profile

输入 adb devices,有这个说明成功

List of devices attached

这个上面附带了JAVA_HOME的地址。

4.安装node

终端输入:

brew intall node

等待进度条打满,告诉你sucess了,说明成功,你可以终端再输入npm -v测试一下

zydeMacBook-Pro-2:~ zhongyang$ npm -v
5.4.2

5.安装appium

终端输入:

npm install -g appium

6.安装appium-doctor

这玩意儿就是用来检测环境是否可用的,终端输入

npm install –g appium-doctor

输入等安装完成之后,终端输入 appium-doctor ,会检查当前环境是否可用,我只测安卓,因而我的代码检测结果如下:

zydeMacBook-Pro-2:~ zhongyang$ appium-doctor
info AppiumDoctor Appium Doctor v.1.4.3
info AppiumDoctor ### Diagnostic starting ###
info AppiumDoctor  ✔ The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor  ✔ Node version is 8.8.1
info AppiumDoctor  ✔ Xcode is installed at: /Applications/Xcode.app/Contents/Developer
WARN AppiumDoctor  ✖ Xcode Command Line Tools are NOT installed!
info AppiumDoctor  ✔ DevToolsSecurity is enabled.
info AppiumDoctor  ✔ The Authorization DB is set up properly.
WARN AppiumDoctor  ✖ Carthage was NOT found!
info AppiumDoctor  ✔ HOME is set to: /Users/zhongyang
info AppiumDoctor  ✔ ANDROID_HOME is set to: /Users/zhongyang/Downloads/android-sdk-macosx
info AppiumDoctor  ✔ JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk1.7.0_76.jdk/Contents/Home
info AppiumDoctor  ✔ adb exists at: /Users/zhongyang/Downloads/android-sdk-macosx/platform-tools/adb
info AppiumDoctor  ✔ android exists at: /Users/zhongyang/Downloads/android-sdk-macosx/tools/android
info AppiumDoctor  ✔ emulator exists at: /Users/zhongyang/Downloads/android-sdk-macosx/tools/emulator
info AppiumDoctor  ✔ Bin directory of $JAVA_HOME is set
info AppiumDoctor ### Diagnostic completed, 2 fixes needed. ###
info AppiumDoctor
info AppiumDoctor ### Manual Fixes Needed ###
info AppiumDoctor The configuration cannot be automatically fixed, please do the following first:
WARN AppiumDoctor - Please install Carthage. Visit https://github.com/Carthage/Carthage#installing-carthage for more information.
info AppiumDoctor ###
info AppiumDoctor
info AppiumDoctor Bye! Run appium-doctor again when all manual fixes have been applied!
info AppiumDoctor

到此为止,appium的测试环境基本上就完成了一个段落。

模拟器安装步骤

测试的时候,还没熟悉就拿自己手机试,可能会存在XXX等等一系列情况,so,安装一个安卓模拟器还是有用的,选用了Genymotion这个,还是挺好看的一款模拟器,不过使用之前要去官网注册一下,选个人用途就好,另外需要安装下virtualBox,否则安装完成之后,无法安装模拟的手机。

这些都是简单粗暴的下载,双击安装即可。

设置adb地址

模拟器安装完打开Genymotion之后,在Setting里面,选ADB,use custom Android SDK tools, 选自己安装的路径。

appium从入门到放弃(一):环境安装_第1张图片
image.png

打开一个模拟器之后:

appium从入门到放弃(一):环境安装_第2张图片
image.png

继续打开终端,输入命令 adb devices,出来

List of devices attached
192.168.56.101:5555 device

代表一切ok。

java的appium hello world

mac的idea、maven安装好(不懂请自行百度一下),然后创建第一个maven项目,我取名appiumTest,修改pom,增加

    
      junit
      junit
      4.12
      test
    
    
      io.appium
      java-client
      3.4.1
    

    
      org.seleniumhq.selenium
      selenium-server
      2.53.1
    

等jar包安装完,写个简单的初始化程序:

package appiumTest;

import io.appium.java_client.AppiumDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

import java.net.MalformedURLException;
import java.net.URL;

/**
 * Hello world!
 *
 */
public class AppiumTest
{
    public static void main( String[] args )
    {
        System.out.println("==============init AppiumDriver start====================");
        try {
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability(CapabilityType.BROWSER_NAME, "");//这句不是必须的
            capabilities.setCapability("deviceName","Android Emulator");
            capabilities.setCapability("platformVersion", "7.0");
            capabilities.setCapability("platformName","Android");
            capabilities.setCapability("appPackage", "com.sankuai.meituan");
            capabilities.setCapability("appActivity", "com.meituan.android.pt.homepage.activity.MainActivity");

            AppiumDriver driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities) {
                public WebElement scrollTo(String s) {
                    return null;
                }

                public WebElement scrollToExact(String s) {
                    return null;
                }
            };

            System.out.println("==============init AppiumDriver end======================");
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }
}

终端输入 appium,启动完成之后,run这个程序,能打开美团。

备注:

  1. 我的pom文件,选的appium和selenium不是最新的,因为历史原因,我只能用jdk7,如果本机装了jdk8的小伙伴,可以使用最新的jar版本。

  2. 后台安装模拟器的apk,首先下载apk,然后cd到这个路径,用 adb install xxxxxx.apk即可,模拟器是x86架构,如果失败,请下载Genymotion-ARM-Translation_v1.1.zip,然后拖到模拟器内部,安装成功,重启模拟器里面的手机,再执行adb install xxxxxx.apk即可。

  3. 关于appPackage、appActivity,终端输入 adb shell

    logcat | grep cmp=,然后你之前打开的记录里面,cmp=aaa/bbbb,前面就是 appPackage,后面是appActivity

    05-29 11:49:18.029   554  1101 I ActivityManager: START u0 {cmp=com.sankuai.meituan/com.meituan.android.pt.homepage.activity.MainActivity} from uid 10064 on display 0
    05-29 11:57:27.313   554   565 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.sankuai.meituan/com.meituan.android.pt.homepage.activity.Welcome (has extras)} from uid 10014 on display 0
    05-29 12:01:24.984   554  1101 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.calculator2/.Calculator (has extras)} from uid 10014 on display 0
    

    具体可参考:https://testerhome.com/topics/1030

    结语

    不要问我为什么写这个,我希望我还能写二、三 and so on!(笑脸;可爱)

你可能感兴趣的:(appium从入门到放弃(一):环境安装)