Win Pycharm + Appium + 真机 实现APP自动化

前言:

  • 测试的APP:亿通行
  • 手机型号:OPPO
  • 系统:安卓10

 

一、安装Python3.x

1.直接登录Python官网 https://www.python.org/,下载最新版本即可

2.安装Pycharm(下载.exe,直接安装即可)

 

二、安装Python3 Appium库

1.打开Python3.x的安装目录,找到Scripts文件夹执行

pip install Appium-Python-Client

 

2.使用Pycharm安装

File → Settings → Project → Python Interpreter → 搜索Appium → 选择点击install即可

 

三、安装Android SDK 

 直接进入官网下载Studio

https://developer.android.google.cn/studio/

 

注:需要注意的是安装过程,SDK要选择一个路径,这个要记住,后面会用的

 

四、安装JDK

直接进入官网下载

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

 

 注:需要注意的是安装过程,jdk要选择一个路径,这个要记住,后面会用的

 

五、安装Appium

1.直接进入官网下载

http://appium.io/

2.安装后双击打开

 

3.点击Edit Configurations

 

 4.配置路径

 

这两个路径就是在安装SDK与jdk的那两个路径,配置完成点击Save and Restart

 

5.点击Start Server

 

说明配置完成

 

6.点击Start Inspector Session

 

7.输入设备信息

 

配置信息说明

{
  "platformName": "Android",    # 测试的平台,安卓或者ios
  "platformVersion": "10",        # 系统版本,此处代表安卓10
  "deviceName": "OPPo",           # 设备名称,填手机型号就行,随便填也可
  "app": "C:\Users\xxx\Downloads\com.ddnapalon.calculator.gp_3.1.33_999349.apk",   # app的安装包的位置
  "appPackage": "enfc.metro",     # app的包名
  "appActivity": "enfc.metro.main.MainActivity"    # app的activity名
}

 

 8.配置完成点击Start Session,进入如下图

 

9.补充

 

六、编写测试脚本

1.脚本

复制代码
# coding=utf-8
from appium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
import unittest

# 配置信息,字典类型,直接复用上面的 Appium json就可以
desired_caps = {
  "platformName": "Android",
  "platformVersion": "10",
  "deviceName": "OPPo",
  #"app": "C:\\Users\\xxxx\\Downloads\\com.ddnapalon.calculator.gp_3.1.33_999349.apk",
  "appPackage": "enfc.metro",
  "appActivity": "enfc.metro.main.MainActivity"
}

class app_test(unittest.TestCase):
    
    def setUpClass(self):
        global driver
        # 传入appium server的host+path,还有配置信息
        driver = webdriver.Remote(command_executor='http://127.0.0.1:4723/wd/hub',
                                  desired_capabilities=desired_caps)
        
    def test_login(self):
        try:
            # 取消授权弹框
            driver.find_element(By.ID, 'com.android.permissioncontroller:id/permission_deny_button').click()
            sleep(1)
        except:
            print("弹框取消失败")
        else:
            # 点击立即登录
            driver.find_element(By.ID, 'enfc.metro:id/tv_QrCode_Login_Go').click()

            sleep(2)

            # 点击账号密码登录

            driver.find_element(By.ID, 'enfc.metro:id/login_bt_loginType').click()
            sleep(2)

            # 输入手机号
            driver.find_element(By.ID, 'enfc.metro:id/login_et_phone').send_keys("18845632356")
            sleep(2)

            # 输入密码
            driver.find_element(By.ID, 'enfc.metro:id/login_et_sms').send_keys("123456")

            sleep(3)
            # 退出测试
            driver.quit()
            
        
if __name__ == '__main__':
    unittest.main()
复制代码

 

2.Appium执行结果

 

3.手机运行效果

暂时无法上传(o(╥﹏╥)o)

 

七、ADB相关补充

1.点击此电脑,属性

 

2.点击高级系统设置,点击环境变量

 

 3.找到SDK里tools和platform-tools的文件路径

 

 4.环境变量界面,如图,在下方的系统变量中新建

 

5.输入变量名android 和 tools和platform-tools的文件路径,点击确定即可

 

 6.在Path中添加刚刚的环境,选择系统变量Path,点击新建输入%android%,点击确定即可

 

 

 7.cmd 输入 adb

 出现此图配置完成

 

8.获取应用包名以及Activity

1.连接设备

2.在设备上打开想要查看包名的应用

3.输入adb shell dumpsys window | findstr mCurrentFocus

红色:应用包名

蓝色:启动Activity名

 

八、真机设置

点击设置 → 其他设置 → 开发者选项(打开开发者选项、打开USB调试、打开禁止权限监控)→ adb device(即可查看手机连接信息) 

 

 

 至此,配置结束

                                                          to be continued...

posted @   莲(LIT)  阅读(1117)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示