通过USB和wifi连接真机&编写第一个脚本

一、连接手机

1、通过usb数据线连接手机

数据线连接手机并允许调试 cmd命令行执行:

adb devices

如果没有显示device信息,请检查:

  • 手机是否开启usb调试
  • 更换数据线(华为手机)

2、无线连接手机

将电脑与手机处于同网络环境

执行下面命令给手机分配port:

adb -s 设备名称 tcpip 分配端口号

注意:分配的端口号不能被占用

执行下面命令连接手机

adb connect 手机ip:分配的端口号

拔掉数据线,重新开启usb调试,查看设备:adb devices

二、编写第一个脚本

1、获取appPackage & appActivity

在CMD命令行输入adb shell  进入adb命令行模式

 在adb命令行输入:logcat | grep ActivityManager   ;在启动应用,找到关键字Displayed,关键字后面即为appPackage + appActivity

 2、启动appium-desktop定位元素

下载地址:https://github.com/appium/appium-desktop/releases

定位元素

 

定位元素后,点击Tap模拟手动点击按钮

 在安卓7.0及以上版本,左侧图无法refresh,需要增加  desired_caps['automationName'] = 'UIAutomator2'

3、编写脚本

# coding=utf-8

from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# appium服务监听地址
server = 'http://localhost:4723/wd/hub'     # localhost为本机;4723为端口;/wd/hub可以看成是规定的默认地址
# app启动参数
desired_caps = {
  "platformName": "Android",            # platformName:使用哪个移动操作系统平台;iOS,Android或FirefoxOS
  "deviceName": "dfc147f8",      # deviceName:使用的移动设备或模拟器的种类
  "appPackage": "com.cdsg.zgph",  # appPackage:你想运行的Android应用程序的Java包(仅限Android使用)
  "appActivity": ".activity.MainActivity"     # 要从包中启动的Android活动的活动名称。(仅限Android使用)
}
# 驱动
driver = webdriver.Remote(server, desired_caps)
wait = WebDriverWait(driver, 30)
# 获取权限同意按钮
permission_btn = wait.until(EC.presence_of_element_located((By.ID, "com.android.packageinstaller:id/permission_allow_button")))
# 点击权限同意按钮
permission_btn.click()

 

posted @ 2019-09-08 11:55  码上测  阅读(456)  评论(0编辑  收藏  举报