Python+Appium实现自动化测试(macOS 10.15.7)

一、环境准备

1.脚本语言:`Python3.x`    IDE:安装`Visual Studio Code`

2.安装`Java JDK` 、`Android SDK`

3.adb环境,path添加`%Android_SDK%\platform-tools`

4.安装`Appium for mac`,官网地址 http://appium.io/

 点击下载按钮会到GitHub的下载页面,选择对应平台下载

 安装完成后,启动Appium,host和port默认的即可,然后设置Android SDk和Java JDK   

 

 然后点下边那个保存并重启的按钮,然后点第一个Start Server按钮,将会看到

 二、真机测试

1.连接手机

打开开发者模式,USB线连接手机和电脑,并且在开发者选项当中,开启USB调试

 测试是否连接成功,可执行命令adb devices

 

  出现上图就证明手机和电脑连接成功。。。

 2.点击`Start Inspector Session`,

 

 按如下配置`Desired Capabilities`

 

 `platformName` :声明是`IOS`还是`Android`系统

 `platformVersion` : `Android`内核版本号,可通过命令`adb shell getprop ro.build.version.release`查看

 

  `deviceName` :连接的设备名称,通过命令`adb devices -l`中model查看

  `appPackage` :`apk`的包名

  `appActivity`:`apk`的`launcherActivity`,通过命令`adb shell dumpsys activity | findstr mResume`查看(需先打开手机应用)

注意:`Android 8.1`之前应使用`adb shell dumpsys activity | grep mFocus`

 3.运行`Start Session`,选择元素

 右侧 `Selected Element` 区域有三个按钮

  • `Tap`:执行选中元素的点击事件
  • `Send Keys`:为文本框等对象传值
  • 如果是文本输入元素,就清除文本

4.录制脚本

 录制生成的python代码如下:

# -*- coding:utf-8 -*-
# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python

from appium import webdriver

# 多点触摸滑动
from appium.webdriver.common.touch_action import TouchAction
from appium.webdriver.common.multi_action import MultiAction


caps = {}
caps["platformName"] = "Android"
caps["platformVersion"] = "10"
caps["deviceName"] = "BMH_AN10"
caps["appPackage"] = "com.antfortune.wealth"
caps["appActivity"] = "com.alipay.mobile.quinox.LauncherActivity"
#caps["resetKeyboard"] = True
#caps["unicodeKeyboard"] = True

driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)

el1 = driver.find_element_by_id("com.antfortune.wealth.login:id/login_main_button")
el1.click()
el2 = driver.find_element_by_id("com.alipay.mobile.accountauthbiz:id/auth_login_btn")
el2.click()

driver.quit()

5.在`Visual Studio Code`中建立项目将代码粘入,在运行之前,还需通过pip命令安装`pip install Appium-Python-Client`依赖包

 最后,记一个我在这些过程中遇到的问题(现已解决)

 在Appium-desktop中运行Start Session时,出现

 解决方法:在开发者模式下,打开usb调试功能和use模拟点击,两个都要打开,此时再重新运行,即可解决

参考链接


发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注