Ios+appium自動化多裝置執行實現

weixin_34321977發表於2018-07-04
3536798-dafbe7dec86d7a5b.jpg
圖片發自簡書App

最近嘗試做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)

學習和實踐所得,歡迎指教~~~~

相關文章