Appium+Python自动化测试连接真机

mac2024-05-12  33

Appium+Python自动化测试连接真机

准备一台手机(本次测试使用Android:OPPOR9s)

在连接之前确认adb的安装情况

adb version

1、真机连接

1.1、USB连接

(1)、打开手机,直接使用USB连接电脑,在cmd命令端口输入命令,连接不成功

adb devices

(2)、鉴于此,需要打开手机USB调试模式 (3)、输入cmd命令后,重新输入,如下表示连接成功

adb devices

1.2、端口连接

(1)、打开手机USB调试,查询手机ip地址 (2)、输入命令,提示连接成功

adb connect ip:5555

2、apk的安装和卸载

2.1、apk安装

(1)、手机连接成功后,在命令端输入,如下图提示安装成功

adb install apk文件的绝对路径

2.2、apk文件卸载

(1)、卸载命令

adb uninstall apk文件包名

首先需要查询出需要卸载文件的包名

adb shell pm list packages(查询所有)

对于查询第三方安装的包名

adb shell pm list packages -3

查询系统包名

adb shell pm list packages -s

(2)、在命令端口输入

adb uninstall com.baidu.tieba

success表示该软件卸载成功

3、使用Appium进行自动化测试,App启动注册登录

(1)、启动Appium,启动服务器 (2)、启动Pycharm编辑代码

import os import time from appium import webdriver apk_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) # 获取当前项目的 根路径 print(apk_path) desired_caps = {} desired_caps['platformName'] = 'Android' # 设备系统 desired_caps['platformVersion'] = '6.0.1' # 设备系统版本 #夜神模拟器5.1.1 desired_caps['deviceName'] = '12' # 设备名称 #夜神模拟器127.0.0.1:62001 # desired_caps['unicodeKeyboard'] = True # desired_caps['resetKeyboard'] = True # desired_caps['noReset'] = True # 测试apk包的路径 desired_caps['app'] = apk_path + '\\apk\\first.apk' # desired_caps['appPackage'] = 'com.little.xiaoyv.drilling' # desired_caps['appActivity'] = 'com.little.xiaoyv.drilling.ui.SplashActivity' # 如果设置的是app包的路径,则不需要配appPackage和appActivity driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 启动app print("Successfully!") time.sleep(3) driver.find_element_by_id('com.little.xiaoyv.drilling:id/rigisterTextView').click() time.sleep(2) driver.find_element_by_id('com.little.xiaoyv.drilling:id/id').send_keys('123456789') driver.find_element_by_id('com.little.xiaoyv.drilling:id/account').send_keys('123456789') driver.find_element_by_id('com.little.xiaoyv.drilling:id/password').send_keys('123456789') driver.find_element_by_id('com.little.xiaoyv.drilling:id/do_password').send_keys('123456789') driver.find_element_by_id('com.little.xiaoyv.drilling:id/email_sign_in_button').click() time.sleep(2) driver.find_element_by_id('com.little.xiaoyv.drilling:id/id').send_keys('123456789') driver.find_element_by_id('com.little.xiaoyv.drilling:id/password').send_keys('123456789') driver.find_element_by_id('com.little.xiaoyv.drilling:id/email_sign_in_button').click() print("Successfully!") time.sleep(2) driver.quit()

(3)、运行代码,实现手机App自动安装、注册、登录

最新回复(0)