import time
import pytest
from appium import webdriver
from appium.options.common import AppiumOptions
class TestMultipleSession:
@pytest.mark.parametrize("udid,version", [("emulator-5554", "9"), ("127.0.0.1:7555", "6")])
def test_multiple_session(self, udid, version):
"""
测试多个session
:return:
"""
print(udid)
caps = {}
# 设置 app 安装平台
caps["appium:platformName"] = "Android"
# 设置 app 安装平台的版本
caps["appium:platformVersion"] = version
# 设备的名字
caps["appium:deviceName"] = "MyDevice"
# 设置driver
caps["appium:automationName"] = "UiAutomator2"
# 设置 app 的包名
caps["appium:appPackage"] = "com.android.settings"
# 设置 app 启动页
caps["appium:appActivity"] = ".Settings"
# 设置 udid
caps["appium:udid"] = udid
# 不清空缓存
caps["appium:noReset"] = True
# 设置以下两个参数来控制启动app和关闭掉app
caps["appium:forceAppLaunch"] = True
caps["appium:shouldTerminateApp"] = True
options = AppiumOptions().load_capabilities(caps)
driver = webdriver.Remote("http://localhost:4723/wd/hub", options=options)
time.sleep(5)
driver.quit()
-
安装 Hub:
java -jar selenium-server-<version>.jar hub
。安装成功之后,可以访问http://127.0.0.1:4444/
,即可进入 Grid 页面。 -
添加 Node,如果需要添加端口则使用
--port
:java -jar selenium-server-<version>.jar node --port 5555
- 添加成功之后,即可在 hub 页面看到对应的设备。