使用appium(python)做APP的自动化测试

  • 查看apk包名、主activity、版本等信息
    使用aapt(Android_SDK\build-tools下的工具)
    window对话框先进入到你的AndroidSDK路径下,C:\Users\XXX\Downloads\AndroidSDK\Android_SDK_windows\build-tools\19.1.0;
    然后执行aapt dump badging 文件(zip/jar/apk都可以)

包名: package: name=‘com.rfchina.app.supercommunity.Dev’
版本: versionCode=‘613’ versionName=‘4.6.0.613’
主activity:launchable-activity: name=‘com.rfchina.app.supercommunity.client.StartActivity’

  • Appium Desired Capabilities

官方文档: https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md

  1. deviceName:设备名称。模拟器的话就是iPhone Simulator/Android Emulator;真机则打开手机设置–》关于手机,其中的名称就是设备名称
  2. automationName:自动化引擎,appium
  3. platformName:平台名称,IOS/Android
  4. platformVersion:平台版本,安卓版本,ios版本
  5. appPackage:包名(你测试的包名,前面介绍了如何查询)
  6. appActivity:活动名(前面有介绍如何查询)
  7. noReset:是否重置应用状态,True则跳过安装指引
    (具体可见官方文档)
  • 打开appium服务器(appium_desktop),配置的默认地址是:localhost:4723
  • 连接手机或者是打开模拟器(我这里连接的是真机)
  • 上代码
from appium import webdriver

package = 'com.rfchina.app.supercommunity.Dev'
desired_caps = {
    'deviceName': 'HUAWEI P30',
    'automationName': 'appium',
    'platformName': 'Android',
    'platformVersion': '10',
    'appPackage': package,
    'appActivity': 'com.rfchina.app.supercommunity.SplashActivity',
    'noReset': 'True'
}
#连到已经打开的appium_desktop服务器
driver = webdriver.Remote(command_executor='http://localhost:4723/wd/hub',
                          desired_capabilities=desired_caps)

#判断当前的手机是否已安装测试包
if driver.is_app_installed(package):
    # driver.close_app(package)
    # driver.launch_app(package)
    driver.find_element_by_id('com.rfchina.app.supercommunity.Dev:id/ivIcon').click()
else:
    print('没有这个应用')

#退出webdriver
driver.quit()

  • 执行代码期间可以看到appium服务器页面上展示正在执行的命令,连接的手机在自动点击(执行的时候手机会需要安装一些软件,根据指引操作就ok)

请提前安装appium desktop、appium-python-client(我是使用python,如果是其他语言下载其他的)、AndroidSDK

appium desktop瞎咋地址:https://github.com/appium/appium-desktop/releases/tag/v1.15.1
下载appium-python-client:pip install appium-python-client

你可能感兴趣的:(使用appium(python)做APP的自动化测试)