zoukankan      html  css  js  c++  java
  • 全网最全最细的appium自动化测试环境搭建教程以及appium工作原理

    一、前言

    对于appium自动化测试环境的搭建我相信90%的自学者都是在痛苦中挣扎,在挣扎中放弃,在放弃后又重新开始,只有10%的人,人品比较好,能够很快并顺利的搭建成功。appium 自动化测试是很早之前做的,一直想留下点什么,可是一直抽不出一块完整的时间来做这件事儿。现在终于有了。

    反观各种互联网的招聘,移动测试已经成了主流,如果再不去学习移动自动化测试技术将已经追不上时代的赶脚!好了,废话不多说,进入正题!

    二、Appium简介

    appium是移动端最主流的开源自动化测试框架。开源,免费

    跨平台:完全满足IOS和Android两个不同的系统以及H5的自动化测试。

    Appium是基于Selenium来实现的

    Appium是基于JDK+SDK环境来运行的。

    Appium有Server版和Desktop版两种,2020年前者已经淘汰了。

    三、搭建Appium+Python自动化测试环境

    1、安装JDK并配置JDK的环境变量。

    (1) JDK的下载

    下载地址:https://www.oracle.com/java/technologies/javase-downloads.html

    下载版本选择主流的jdk1.8的版本:jdk-8u241-windows-x64.exe

    (2) 配置JDK的环境变量:

    我的电脑右键属性-->高级系统设置-->高级-->环境变量-->系统变量:

    1、新建系统变量:

          变量名:JAVA_HOME

          变量值:C:Program FilesJavajdk1.8.0_211 (这里是jdk的实际安装路径)

    2、新建系统变量:

          变量名:CLASSPATH

          变量值:.;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar;%JAVA_HOME%libdt.jar; (前面有一点和冒号不能少)

    3、编辑PATH变量,在PATH的最后面添加:

          %JAVA_HOME%in;%JAVA_HOME%jrein;(PATH中原来的路径不要去掉哦)

    4、验证是否安装并配置成功:

          在dos中输入javac和java -version验证。(分别出现一堆英文和jdk的版本信息则说明安装配置成功!)

          如果基础太弱请点击:https://blog.csdn.net/pengjiangchun/article/details/105419683   里面有很详细的步骤和截图!

    2、安装SDK并配置SDK的环境变量。

    (1) SDK的下载

    下载地址:http://tools.android-studio.org/index.php/sdk/

    下载版本选择:android-sdk_r24.4.1-windows.zip

    (2) SDK的安装

    进入D:android-sdk-windows目录,双击SDK Manager.exe下载对应的包:

    a.以下三个Android工具包必须安装:只需要下载最新的版本就行了。

    b.Extras(附加设备)

    c.安卓版本:安装和模拟器安卓版本一致的SDK。现在android 5开发的场景多一些

    夜神模拟器查看Android版本:设置左边的三横->关于我们->Android版本

    (3) 配置SDK的环境变量

    我的电脑右键属性-->高级系统设置-->高级-->环境变量-->系统变量:

    1、新建:

          变量名:ANDROID_HOME

          变量值:D:android-sdk-windows (SDK的实际安装路径)

    2、编辑PATH,在最后面添加:

          %ANDROID_HOME%platform-tools;%ANDROID_HOME% ools;%ANDROID_HOME%uild-tools29.0.3;

          (如果原来PATH路径最后不是;则加一个;再添加上面的内容)

    3、验证是否安装并配置成功:

          在dos中输入adb验证。在最上面出现Android Debug Bridge version版本信息,如下图表示成功!

    3、安装夜神模拟器并在模拟器上安装被测app

    (1) 夜神模拟器的下载

    下载地址:https://www.yeshen.com/

    版本选择:最新版

    (2) 夜神模拟器的安装

    下一步下一步傻瓜式安装。

    (3) 被测app的安装

    把apk包直接拖拽到夜神模拟中安装

    (4) 设置模拟器/真机的环境

    1.启用设备的开发者选项,启动调试功能。

    夜神模拟器:设置->多次点击版本号直到出现提示【开发者选项】->返回上一步能看到【开发者选项】->USB调试。

    2.输入命令前:因为SDK下的adb[在SDK安装目录的platform-tools目录下]和模拟器的nox_adb[在夜神安装目录的bin目录下]版本不一致,所以需要把SDK路径下的abd.exe复制到模拟器的bin路径下,重命名为nox_adb.exe,原来的nox_adb.exe先备份。

    4.安装和配置Appium

    (1) 下载和安装appium-desktop。

    下载地址:(强烈建议使用迅雷下载)

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

    (2) 打开appium输入:127.0.0.1和4723登录,如下图:

    如果此端口被占用:可以使用此命令检查端口是否被占用:netstat -ano | findstr 4723

    (3) 配置Appium检查器:

    A.Appium右上角有三个选项分别为:

          start inspector session 开始检查回话(点击它)

          Get Raw Logs 获得原生日志

          Stop Server 停止服务

    B.点击Automatic Server(自动化服务)

          在Desired Capabilities选项中输入如下内容,如图:

          deviceName:设备名称

                获取方式:通过adb devices获取。输入adb devices后出现

                值为:127.0.0.1:62001

          platformName:操作系统名称

                可填写:Android和IOS

                值为:Android

           platformVersion:操作系统版本

                查看天天模拟器的anroid版本获取得到。

                夜神模拟器查看Android版本:设置左边的三横->关于我们->Android版本

          appPackage:包名

                通过aapt.exe获取:aapt dump badging apk包的路径。

                值为:找到package后面的值,一般在第一行。如:tv.danmaku.bili

          appActivity:activity程序主入口

                通过aapt.exe获取:aapt dump badging apk包的路径,

                找到launchable-activity后面的值,如:tv.danmaku.bili.ui.splash.SplashActivity

                第一种可以取全部的值,第二种也可以只取包名以后的内容:

                第一种值为:tv.danmaku.bili.ui.splash.SplashActivity

                第二种值为:.ui.splash.SplashActivity (注意:前面有个点不能省略)

    保存后点击"Start Session"如出现:unkown... 错误,是因为模拟器中没有安装apk包。

    如果正常在模拟器里启动app则表示appium自动化测试环境搭建成功!

    四、Appium运行原理

    (1)自动化脚本向AppiumServer发送注册参数(URL,platformName, platformVersion,deviceName,appPackage,appActivity)

    (2)AppiumServer将bootstrap.jar包放入手机端中

    (3)手机端用bootstrap启动手机端口(4724),并将端口返回给AppiumServer(相当于建立好了通信连接)

    (4)自动化脚本发送请求(操作或命令或动作)给AppiumServer

    (5)AppiumServer将 请求解析并发送给bootstrap

    (6)bootstrap将请求解析发给UIAutomator

    (7)UIAutomator执行相应的操作并将结果返回给bootstrap

    (8)bootstrap将响应结果返回给AppiumServer

    (9)AppiumServer将响应结果返回到脚本

    综上所述,个人认为AppiumServer像是一个请求者;bootstrap充当桥梁的角色,负责PC与电脑之间的通信;UIAutomator则是真正的执行者。

    五、总结

    如果你对此文有任何疑问,如果你觉得此文对你有帮助,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:

    软件测试技术群:695458161群里免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

    笔者:来自公众号:软测之家
    出处:https://www.cnblogs.com/csmashang/p/12793002.html
    原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。

  • 相关阅读:
    kde下sudo出现cannot connect to xserver解决方法
    windows版本的Emacs 无法显示图片的解决方法
    Ubuntu12.04安装VMwareWorkstation8.0.2591240.x86_64
    在Emacs调试JAVA程序,使用GUD模式
    配置SQL Server Session方法(1)
    C#泛型列表List<T>基本用法总结
    VC++的MFC中 获取选中静态文本的内容
    用P3P header解决IE下iframe跨域访问时候session丢失的问题
    ROW_NUMBER()用法(转)
    VC 中与字符串相关的宏 _T、TEXT,_TEXT、L 的作用
  • 原文地址:https://www.cnblogs.com/csmashang/p/12793002.html
Copyright © 2011-2022 走看看