zoukankan      html  css  js  c++  java
  • Appium环境搭建

    一、下载安装JDK

    这里最好安装JAVASE1.8版本,因为最新的appium2.0需要1.8版本的JDK支持

    参考:http://www.cnblogs.com/daxiong2014/p/4334530.html

    二、下载安装SDK

    参考:http://www.cnblogs.com/daxiong2014/p/4335034.html

    三、下载安装Eclipse

    官网:http://www.eclipse.org/downloads/,下载安装即可

    四、下载安装ADT(如果使用真机运行脚本,不需要这一步)

    参考:http://www.cnblogs.com/daxiong2014/p/4399603.html

    五、下载安装Node.js(如果不是用npm命令安装appium的话此处可以省略;用Appium.exe可执行文件安装后,安装的文件夹里会含有node的依赖文件,无需再单独安装和配置Node.js)

    参考:http://www.cnblogs.com/daxiong2014/p/4398497.html

    六、下载安装Appium

    这里安装的是Appium的服务端,后面第八步的是客户端jar包

    http://www.cnblogs.com/fnng/p/4540731.html

    这里注意,安装Appium后,在环境变量path添加";C:Program Files (x86)Appium ode_modules.bin;",再使用appium-doctor进行检测

    检测结果如下图,即Appium环境已经OK

    七、安装Android模拟器(如果使用真机运行脚本,不需要这一步)

    http://www.cnblogs.com/fnng/p/4560298.html

    八、下载相关jar包

    (1)Selenium类库(包含:客户端和服务端)

    http://selenium-release.storage.googleapis.com/2.44/selenium-java-2.44.0.zip

    http://selenium-release.storage.googleapis.com/2.44/selenium-server-standalone-2.44.0.jar

    (确认2014.11.14有效,如无效请访问http://docs.seleniumhq.org/download/ 进行下载 )

     注:需要导入两个,服务端库不导入会导致运行时报错。

    (2)Appium类库

    这里是Appium的客户端jar包,前面第六步的是服务端

    https://search.maven.org/remotecontent?filepath=io/appium/java-client/1.2.1/java-client-1.2.1.jar 

    (确认2014.11.14有效,如无效请访问http://appium.io/downloads.html  进行下载 )

    注:此处如果选择下载最新的2.0以上的版本,会导致编译newAppiumDriver时报错。解决办法见:

    http://blog.csdn.net/zhubaitian/article/details/39717889 

    (3)Junit类库或者TestNG类库

    Junit和TestNG只是辅助工具,为了更好的自动化,与appium环境搭建没有关系,可以不需要这一步

    新版的Eclipse自带Junit类库,至于要用Junit还是TestNG就看个人所需了

    九、创建测试工程

    创建测试工程,并导入第八步下载好的jar包

    工程名右键->Build Path->configure Build Path->Java Build Path->Libraries->Add External JARs添加下载好的jar包即可

    十、启动Appium

    由于我测试是连接真机的,所以这里需要先通过adb devices -l 命令获得 真机的udid号,详细步骤如下:
    1)真机(安卓版本4.2.2)通过USB连接 电脑,驱动装好,打开USB调试模式
    2)运行cmd 输入 adb devices -l 查看UDID 如图:

     


    3)再在cmd中输入 appium -a 127.0.0.1 -p4723 -U4d007e9a1b0050d1 (-a表示ip,-p表示端口,-U表示设备的udid 可以通过appium -h查看更多命令)
    4)如果如下图所示 就表示 appium服务启动成功了,注意这个窗口不要关闭 因为这是appium的服务 关了就关了服务,后面过程无法执行,而且这个窗口也是 日志输出的窗口用于排错。

    十一、安装APK&编写测试代码&运行

    (1)在CMD上用adb install APK所在路径 命令把要测试的APK安装到手机上

    这里注意,此处因为底层调用框架不同,请在4.2及以上的操作系统安装,具体原因可以百度下

    (2)在第九步创建的工程下,新建包->在新的包下新建Class文件

    在新建的Class文件上键入以下代码:

    package firstAppium;//这个包名根据自己的包修改即可
    
    import io.appium.java_client.AppiumDriver;
    import io.appium.java_client.android.AndroidDriver;
    
    import java.net.URL;
    
    import org.openqa.selenium.remote.CapabilityType;
    import org.openqa.selenium.remote.DesiredCapabilities;
    
    public class test001 {//这个类名根据自己的Class文件名修改即可
        public static void main(String args[]) throws Exception {
            AppiumDriver driver;//新建一个AppiumDriver的变量,方便后面存储该对象的引用
            DesiredCapabilities cap = new DesiredCapabilities();//实例化一个客户端配置对象
            cap.setCapability(CapabilityType.BROWSER_NAME, "");//移动终端浏览器配置信息,如只对应用做自动化,该值为空即可
            cap.setCapability("platformName", "Android");//平台信息,告诉appium测试的载体是android还是IOS还是FirefoxOS
            cap.setCapability("deviceName", "a42b02eb");//设备ID号
            cap.setCapability("platformVersion", "4.4");//操作系统版本号
            //这是我的apk,游戏中心
            cap.setCapability("appPackage", "cn.lt.game");//包名
            cap.setCapability("appActivity", ".ui.app.LoadingActivity");//主Activity
            //支持输入中文
            cap.setCapability("unicodeKeyboard", "True");
            //重置输入法为系统默认
            cap.setCapability("resetKeyboard", "True");
            //不对APK进行重签名
            //cap.setCapability("noSign", "Ture");
            driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);//实例化androidDriver
            Thread.sleep(5000);
            //driver.findElement(By.id("com.android.calculator2:id/digit9")).click();
            Thread.sleep(5000);
            driver.quit();
        }
    }

     包名和主Activity的获取可以通过aapt dump badging apk包的路径

    如下:

    package: name=’com.estrongs.android.pop’
    launchable-activity: name=’com.estrongs.android.pop.view.FileExplorerActivity’

    (3) 运行

    运行后,会看到手机上应用会自动启动,暂停10s后再退出

    至此,Appium环境已经搭建成功!

    因为本人脑子比较笨,看到很多网上的环境搭建帖子,其中把很多不需要的东西都加入到搭建步骤里,尤其还要下载别人的APK、代码,搞得云里雾里,所以开此一贴以求能最方便、最清晰、最通俗易懂把Appium搭建起来

    此贴有部分参照网上大神的帖子

    如有问题请批评指正

  • 相关阅读:
    leetcode 86. Partition List
    leetcode 303. Range Sum Query
    leetcode 1310. XOR Queries of a Subarray
    leetcode 1309. Decrypt String from Alphabet to Integer Mapping
    leetcode 215. Kth Largest Element in an Array
    将numpy.ndarray写入excel
    leetcode 1021 Remove Outermost Parentheses
    leetcode 1306. Jump Game III
    leetcode 1305. All Elements in Two Binary Search Trees
    ICCV2019 oral:Wavelet Domain Style Transfer for an Effective Perception-distortion Tradeoff in Single Image Super-Resolution
  • 原文地址:https://www.cnblogs.com/daxiong2014/p/4573428.html
Copyright © 2011-2022 走看看