一、Android SDK下载及配置

1、访问https://www.androiddevtools.cn/,下载Android SDK,提供有exe和zip两种格式下载

2、下载zip压缩包,直接解压至想要安装的路径


3、然后就双击“SDK Manager.exe”,启动SDK Manager,如图所示


介绍几个必须安装的插件:
        3.1 Tools下Android SDK Platform-tools和Android SDK Build-tools

        3.2 API的选择,最新的版本即可,Android是向下兼容的
        3.3 extras下可以全部下载

        3.4 上述选择完之后,点击Install package安装即可,点击Accept License

注意:这些插件都是在google 的服务器上下载的,会出现以下失败界面!
        解决方案:进入C:\Windows\System32\drivers\etc目录下,右击hosts文件,最后一行添加74.125.237.1 dl-ssl.google.com
hosts文件需要写权限,右击属性、添加编辑权限,将信息添加完之后,再将权限修改为以前即可


上述插件安装完以后,即可配置Android SDK的环境变量,在此,不在过多赘述环境变量的配置

二、Android模拟器的下载配置

1、访问夜神官网下载夜神模拟器:https://www.yeshen.com/
        夜神模拟器简单使用教程:https://www.bilibili.com/video/BV1Jx411H7bX?from=search&seid=14911741642336297293


注意:
        模拟器配置好之后,adb devices 是不识别android模拟器的,需要以下两个步骤:
        1、将SDK\platform-tools下的adb.exe,copy出来重命名为nox_adb.exe,替换到夜神模拟器bin目录下的 nox_adb.exe。
        2、将SDK\platform-tools下的adb.exe文件,替换到夜神模拟器bin目录下的adb.exe


模拟器安装本地apk的方式:① 右键apk文件,打开方式选择为模拟器
                                                     ② 拖动文件至模拟器上
        2、网易mumu模拟器下载,使用adb connect 127.0.0.1:7555连接

三、Appium desired_capabilities的配置

  "platformName": "Android",           # 操作系统的名称"plathformVersion": "5",             # 操作系统的版本"deviceName": "127.0.0.1:62001",     # 设备名称"appPackage": "com.hpbr.bosszhipin", # 应用程序的包名"appActivity": ".module.launcher.WelcomeActivity", # 应用程序的主入口"noReset": True,                     # 启动应用时是否重置"unicodeKeyboard": True,            # 用于支持中文输入"resetKeyboard": True,#注意:设置底层测试驱动-1.15默认使用的底层驱动就是UiAutomator2#'automationName':'UiAutomator2',#或者UiAutomator1,'skipServerInstallation':True        # 跳过UI2的安装,如果第一次运行程序,不要添加该配置

如何查看某个apk的包名及程序主入口:

# 打开应用刚启动的界面,然后在dos或者Linux终端命令行中分别输入以下指令
adb shell dumpsys activity top|findstr ACTIVITY  # windows平台
# 或者以下命令
adb shell dumpsys activity recents|findstr intent={   # windows平台
adb shell dumpsys window w |findstr \/ |findstr name=

四、元素查看工具weditor介绍

用途:android原生控件定位工具

# 安装:先在计算机安装weditor组件
pip install --upgrade weditor
# 启动:
# 1、通过快捷方式启动:创建快捷方式,双击快捷方式
python -m weditor --shortcut# 2、命令行启动
python –m weditor# 3、手机安装ATX
# 安装uiautomator
pip install  --pre --upgrade uiautomator2#连上手机运行该命令
python -m uiautomator2 init
# 手机USB连接到电脑,确保adb命令可以连接,
# 在弹出的浏览器页面点击上面的Connect按钮。元素定位工具会自动连接手机
# 刷新页面可以点击Dump Hierarchy按钮

五、自动化手机网页

1、电脑上自动化手机页面,不需要appium

from selenium import webdriveroptions = webdriver.ChromeOptions()
options.add_experimental_option("mobileEmulation", {"deviceName": "iPhone X"})
driver = webdriver.Chrome(desired_capabilities=options.to_capabilities())
driver.get("https://www.baidu.com")input_kw = driver.find_element_by_id("index-kw")
input_kw.send_keys("自动化测试\n")
a_text = driver.find_element_by_xpath("//div[@class='ec_wise_ad']/div/div[1]/div/a/h3").text
print(a_text)

2、用手机浏览器自动化,电脑上浏览器驱动需要匹配手机浏览器的版本

from appium import webdriverdesired_caps = {"platformName": "Android","plathformVersion": "5","deviceName": "6HJGK20516000047","browserName": "Chrome","noReset": True,"unicodeKeyboard": True,"resetKeyboard": True
}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",desired_caps)

3、混合应用webview:自动化嵌套在手机app内部的网页
准备工作:需要被测应用开启webview Debug模式
自动化webview界面内容需要匹配webview的版本

六、多终端测试

1、appium服务:appium启动,端口号不要相同
    每一个设备,指定一个appium服务端口号,从4723开始,每多一个设备,默认递增2

2、配置项:指定本地与设备tcp通信的端口号
    每一个设备,指定一个本地与设备tcp通信的端口号。从8200开始,每多一个设备,默认递增2,在启动参数当中,通过systemPort指定;因为appium服务会指定一个本地端口号,将数据转发到安卓设备上,默认都是使用8200端口,当有多个appium服务时就会出现端口冲突,会导致运行过程中出现socket hang up的报错。

# config.py
esired_caps = {"platformName": "Android","appPackage": "com.hpbr.bosszhipin","appActivity": ".module.launcher.WelcomeActivity","noReset": True,"unicodeKeyboard": True,"resetKeyboard": True
}android8 = desired_caps.copy()
android9 = desired_caps.copy()android8["plathformVersion"] = 5
android8["deviceName"] = "127.0.0.1:62001"
android8["systemPort"]="8250"android9["plathformVersion"] = 5
android9["deviceName"] = "6HJGK20516000047"
android9["systemPort"]="8255"# 封装了一个或多个(端口号,desired_caps)组成的列表
android_params = [(4723,android8),(4725,android9)]

3、pytest并行多终端测试
    3.1 pytest参数化

# test_appium.py
# 初始化加上启动参数
@pytest.fixture(scope="function", params=android_params) # android_params 封装了一个或多个(端口号,desired_caps)组成的列表
def setup_env(request):print("初始化操作")port = request.param[0]desired_caps = request.param[1]global driverdriver = webdriver.Remote(f"http://127.0.0.1:{port}/wd/hub", desired_caps)driver.implicitly_wait(10)  # 稳定元素def teardown():print("*"*30+"销毁teardown操作"+"*"*30)driver.quit()request.addfinalizer(teardown)

3.2 pytest并行多终端
        3.2.1 安装pytest-xdist插件:pip install pytest-xdist

3.2.2 命令行执行命令,并行运行多个进程

pytest -sv test_appium.py -n 2

Appium环境搭建之Android SDK及模拟器的下载配置相关推荐

  1. windows下Appium测试环境搭建, 并配合python操作模拟器

    环境搭建 安装JDK 1. Java Downloads | Oracle 下载JDK安装包,按照默认方式无脑按照即可 2. 设置系统环境变量,系统环境变量添加JAVA_HOME, 路劲是jdk安装路 ...

  2. Mac OS下Appium环境搭建及Genymotion模拟器安装

    说明:本机Mac本上已经安装的有:Python3.JDK.Node.js. Selenium Appium环境搭建 Step1:安装Appium Python Client库 1,命令:pip ins ...

  3. day17 appium环境搭建

    注意事项: 步骤一 手机链接电脑时候,手机或者电脑安装有第三方手机助手,都会链接不上 获取包名: 在cmd当中输入命令 aapt dunp badging + 包名路径 找到类似于package: n ...

  4. appium环境搭建(10)

    appium环境搭建比较麻烦,搭建之前先看下http://blog.csdn.net/sunfengye/article/details/77494098,能正常启动模拟器,jdk环境变量配置成功,s ...

  5. Windows下Appium环境搭建(java版)

    因为毕业后学过java,工作后服务端开发用的也基本都是java,所以对java比较熟悉,本篇文章暂时先介绍java版本的appium环境搭建,以后会陆续介绍python版的appium,包括环境搭建. ...

  6. python手机端编程环境_Python + Appium 环境搭建

    ---恢复内容开始--- Appium自动化公司内部测试培训1-环境搭建 课程目的 一.Python + Appium 环境搭建 课程内容 1    安装前准备工作 搭建环境所需要的安装文件已经下载好 ...

  7. Appium环境搭建(Java版本)

    关于Appium环境搭建(Java版本),网上有个博客写的非常清楚,我就记录一下自己遇到的问题. Appium环境搭建(Java版本):http://blog.sina.com.cn/s/blog_a ...

  8. Python + Appium 环境搭建

    ---恢复内容开始--- Appium自动化公司内部测试培训1-环境搭建 课程目的 一.Python + Appium 环境搭建 课程内容 1    安装前准备工作 搭建环境所需要的安装文件已经下载好 ...

  9. Flutter 环境搭建 与 Android 应用的调试

    Flutter 环境搭建 与 Android 应用的调试 作者: jcLee95 邮箱 :291148484@163.com CSDN 主页:https://blog.csdn.net/qq_2855 ...

最新文章

  1. 2022-2028年中国美瞳行业应用市场需求及开拓机会研究报告
  2. poj_3067 树状数组
  3. php mysql xa_分布式事务之——MySQL对XA事务的支持
  4. .net mvc mssql easyui treegrid
  5. IOS 实现滚动文字
  6. hdu 2795 公告板 (单点最值)
  7. Linux下运行Jmeter脚本
  8. Lucene实战(第2版)》
  9. Kotlin实战指南五:继承、接口
  10. SVN打分支及主干合并到分支
  11. 通过Dapr实现一个简单的基于.net的微服务电商系统(十)——一步一步教你如何撸Dapr之绑定...
  12. MongoDb连接表的查询
  13. 消息中间件系列(七):如何从0到1设计一个消息队列中间件
  14. Python编程从入门到实践~文件读取
  15. mysql添加表注释、字段注释、查看与修改注释
  16. WPS:添加公式后,行间距变宽的解决方法
  17. 七种应刻意训练的顶级思维方法
  18. 直播软件搭建直播服务架构
  19. java综合知识点总结基础篇
  20. tomcat 做为大型应用的配置

热门文章

  1. 人机情绪互通:新的机器学习模型可以预测人类情绪
  2. 将 Amazon EC2 到 Amazon S3 的数据传输推向100Gbps线速
  3. 农业无人机的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  4. 博士申请 | 西交利物浦大学黄开竹教授组招收机器学习全奖博士生
  5. 59 Three.js 渲染两个场景和使用不同的相机,渲染在一个场景里面
  6. 机器学习之---CRF与MRF
  7. SpringAop篇 (2) Spring中的切面编程技术 AspectJ
  8. 互联网汽车信息娱乐系统基础框架
  9. api arx autocad_AutoCAD开发选择----ObjectARX还是.net API(转载)
  10. android rom包的组成结构,AndroidROM的制作与结构构成..doc