当使用Appium与Android模拟器时,可能会遇到代理的问题,因为默认情况下Appium不支持将自己代理到模拟器上。为了解决这个问题,请按照以下步骤:
安装Genymotion虚拟机。
启动Genymotion虚拟机,并选择要使用的虚拟器。
在Appium启动前,在设置中启用Android模拟器代理,以便在启动Appium服务时将其代理到模拟器上。使用以下代码:
import desired_capabilities as capabilities
# set up the desired capabilities
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['avd'] = 'Pixel_2_API_28'
desired_caps['deviceName'] = 'android'
desired_caps['automationName'] = 'appium'
desired_caps['app'] = 'app.apk'
desired_caps['udid'] = '192.168.56.100:5555'
# enable proxy for Android emulator
desired_caps['appium:chromeOptions'] = {'androidDeviceSocket': 'com.test.android',
'androidDevicePath': '/system/privileged/oemcryptojar/AndroidSocket.jar'}
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
启动Appium服务,并确保设备正常连接。
运行测试用例,以验证代理是否正常工作。
尝试上述步骤可解决Appium与Android模拟器代理问题。