通过WiFi连接真机进行自动化测试
本章示例为Android版本进行讲解(Windows与Mac环境下操作基本一致,此次示例为在Windows环境)。
1、开启设备端口
1、将真机用USB线连接到电脑,cmd打开命令行,输入adb devices,查询连接设备的名称。
如图:真机udid为316d9073
2、开启端口(端口不能被占用),输入adb -s 316d9073 tcpip 5556
2、无线连接设备
1、开启端口后用无线连接(保证设备和PC机在同一个局域网,可以用ping验证是否相通)。打开真机,查看IP地址。如图:IP为10.106.17.26
2、通过查询到的真机IP与设置的端口号,输入adb connect 10.106.17.26:5556
3、连接上后就可以拔掉USB线了,查看连接状态,输入adb devices
说明已经连接上了。然后可以继续用上面方法无线连接其他的设备。
3、执行测试脚本
1、在脚本设置参数里,连接物理设备udid的取值填写真机IP与端口号。
desired_caps['udid'] = '10.106.17.26:5556'
2、本章以操作Chrome为示例,真机设备里如没有Chrome应用程序,可以在执行自动化测试前先安装到设备里,安装Chrome输入安装命令 adb install -r 进行安装,或者使用手机助手进行安装。
3、脚本代码:
代码语言:javascript复制#!/usr/bin/env python
# -*- coding: utf-8 -*-
from appium import webdriver
import time
"""
通过WiFi连接真机进行自动化测试
"""
desired_caps = {}
desired_caps['automationName'] = 'Appium'
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '6.0'
desired_caps['deviceName'] = 'Galaxy C7'
desired_caps['udid'] = '10.106.17.26:5556'
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True
desired_caps['newCommandTimeout'] = 60
desired_caps['browserName'] = 'Chrome'
desired_caps['nativeWebScreenshot'] = True
desired_caps['recreateChromeDriverSessions'] = True
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
print("启动Chrome")
driver.get("https://www.baidu.com")
driver.find_element_by_id("index-kw").send_keys("Appium")
driver.find_element_by_id("index-bn").click()
time.sleep(2)
driver.quit()
4、cmd打开命令行,输入appium,开启appium服务。
5、执行测试脚本,此时appium服务日志可以看到以无线的方式在执行脚本。