最近尝试做ios appium多设备支持,通过查阅资料和尝试实现了
方案:
1.通过命令定义不同端口启动多个appium server
2.脚本里传入不同端口,实现多设备执行
具体如下:
启动多个appium server方式:
appium --session-override -a 127.0.0.1 -p 4725 -bp 2251 --udid 123456 --command-timeout 600 --webdriveragent-port 8010
appium --session-override -a 127.0.0.1 -p 4727 -bp 2252 --udid 12345678 --command-timeout 600 --webdriveragent-port 8011
————————简介———————
-a ADDRESS
-p PORT
-bp BOOTSTRAPPORT
--udid UDID
--command-timeout DEFAULTCOMMANDTIMEOUT
--webdriveragent-port WDALOCALPORT
代码里传入启动server时的不同的-p端口,即可实现多设备执行
#!/usr/bin/env python
#encoding: utf-8
import time
import unittest
from appium import webdriver
class MyTestCase(unittest.TestCase):
def setUp(self):
self.driver=webdriver.Remote('http://127.0.0.1:4725/wd/hub',
desired_capabilities={
'bundleId':'xxxxxx',
'platformName': 'ios',
'platformVersion': '11.2.1',
'deviceName': 'xxxxxx',
'udid': '123456',
'updatedWDABundleId':'xxx',
"xcodeOrgId": 'xxxxxx',
"xcodeSigningId": 'xxxxxx',
"automationName": 'xxxx'
})
def tearDown(self):
self.driver.quit()
def testTap(self):
self.driver.tap([(117,257)])
time.sleep(1)
if __name__=='__main__':
suite=unittest.TestLoader().loadTestsFromTestCase(MyTestCase)
unittest.TextTestRunner(verbosity=2).run(suite)
学习和实践所得,欢迎指教~~~~