当前位置: 首页 > news >正文

自动化测试 Appium之Python运行环境搭建 Part2

环境部署

1、安装Android SDK

安装好后,配置ANDROID_HOME环境变量,设置为Android SDK安装路径(例中:D:\Program Files (x86)\Android\android-sdk)

2、安装其它SDK相关软件包

安装好Android SDK后,选择打开Android SDK Manager(在Android SDK目录下,例中D:\Program Files (x86)\Android\android-sdk)

 

选好后点击 接受协议Accept License,Install

3、安装appium-uiautomator2-driver

cmd打开控制台,输入以下命令安装

> npm install -g appium-uiautomator2-driver

参考链接:

UIAutomator2 (Android) - Appium

GitHub - appium/appium-uiautomator2-driver: Appium driver for Android UIAutomator2

4、开启appium、appium-desktop(如果没有开启的话)

其它准备工作

开启手机(模拟器)USB调试模式

打开目标程序主页,比如图示计算机

获取APK包名及资源定位器

双击打开android_sdk_install_home\tools\uiautomatorviewer.bat

(例中:D:\Program Files (x86)\Android\android-sdk\tools\uiautomatorviewer.bat
点选图示圈选按钮中任何一个

如上图,鼠标移动到目标控件,比如数字按钮7,可看到程序所在包名:package 为com.android.calculator2,数字按钮7对应资源IDpackage 为com.android.calculator2:id/digit_7

活动名称获取

通过adb logcat > log.txt 获取的

 

代码测试

#!/usr/bin/env python
# -*- encoding:utf-8 -*-

__author__ = 'laifuyu'

import time
from appium import  webdriver

if __name__ == '__main__':
    desired_caps = {
        "platformName":"Android"
        "platformVersion":"5.0",
        "deviceName":"Android Emulator",
        "automationName":"UiAutomator2",
        # "app":"D:\\apks\\ai-sorting_v3.5.5_sit_debug_20180423114313.apk",
        "appPackage":"com.android.calculator2",
        "appActivity":".Calculator"
    }

    driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
    digit7 = driver.find_element_by_id('com.android.calculator2:id/digit_7')
    digit7.click()

    result = driver.find_element_by_id('com.android.calculator2:id/result')
    result.send_keys('+')

    time.sleep(30)

    driver.quit()

运行结果:

说明:

platformName  设置手机操作系统平台(iOS, Android, FirefoxOS)

platformVersion  设置手机操作系统版本

deviceName    设置手机设备、模拟器类型。比如iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, 等,IOS操作系统上,该设备名必须是通过instruments -s devices命令返回的合法设备。对于Android操作系统来说,该属性虽然是必填,但是缺是被忽视的。

automationName  设置使用哪个自动化引擎。对于Android:Appium(默认)、Selendroid 、UiAutomator2 、对于IOS:XCUITest

app:设置apk软件包的绝对路径,或者.ipa ios包的http url,或者是一个包含一个.ipa、.apk软件包的.zip文件绝对路径。注意,似乎是这样的,如果手机设备、手机模拟器上没安装该软件包,则可设置该属性,运行时,会自动把该安装包安装到手机设备、模拟器上。 Appium会先尝试把这个app二进制文件安装到手机设备或者模拟器中。 注意,如果指定了appPackage和appActivity属性,则该可以不设置该属性。

eg:

/abs/path/to/my.apk

http://myapp.com/app.ipa

        

appPackage:设置Android app JAVA软件包

appActivity:想启动的Android activity名称。通常需要加前缀. 比如.MainActivity而不是MainActivity。

eg:

MainActivity

.Settings

最后:下方这份完整的自动化测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

http://www.lryc.cn/news/26074.html

相关文章:

  • LeetCode 2 - 两数相加
  • 用Python实现九九乘法表的几种方式,最简单只需一行代码
  • 入职外包三个月,我提桶跑路了
  • 企业邮箱对企业有哪些好处以及便捷性
  • ConvNeXt V2实战:使用ConvNeXt V2实现图像分类任务(一)
  • 3.2 报错整理
  • 从0开始学python -46
  • JavaScript事件委托机制详解
  • 【项目实战】MySQL中union和union all的相同点与不同点
  • ChatGPT最牛应用,让它帮你更新网站新闻吧!
  • 乌班图安装kvm并配置网络
  • 蓝库云|ERP系统在企业数字化转型中最常用的八大功能
  • Pytorch学习笔记#1:拟合函数/梯度下降
  • 挑战图像处理100问(24)——伽玛校正
  • 高级信息系统项目管理师(高项)软考论文评分标准(附历年高项论文题目汇总)
  • MySQL实战记录篇2
  • C++实现AVL树
  • 高并发语言erlang编程初步
  • springboot 问题记录
  • 【PAT甲级题解记录】1034 Head of a Gang (30 分)
  • Python搭建一个steam钓鱼网站,只要免费领游戏,一钓一个准
  • maven 私服nexus安装与使用
  • 详解数据结构中的顺序表的手动实现,顺序表功能接口【数据结构】
  • 【二】kubernetes操作
  • 如何在 C++ 中调用 python 解析器来执行 python 代码(五)?
  • 八 SpringMVC【拦截器】登录验证
  • PhotoShop基础使用
  • 借助阿里云 AHPA,苏打智能轻松实现降本增效
  • 美团2面:如何保障 MySQL 和 Redis 数据一致性?这样答,让面试官爱到 死去活来
  • react hooks学习记录