appium多機並行測試

來源:互聯網
上載者:User

標籤:ios   手機   devices   adb   app   nod   --   bsp   and   

在實際應用中需要對多個機型並行測試,節省時間多機測試的思路啟動多個appium server與多台機器互動(android和ios均可) 注意:一定要使用node安裝appium的命令列,使用appium命令啟動多個服務啟動命令時指定server連接埠號碼,以及與用戶端互動的各項連接埠號碼 以下命令都是後台啟動的,使用的mac的後台啟動方式[ nohup 命令 &],如果是windows機使用[start /b 命令]Android多機的server啟動命令 
startservercmd = "nohup appium  --session-override -a " + address + " -p " +Appium_port +" -bp "+bootstrap_port+" --selendroid-port "+selendroid_port+" --chromedriver-port " +chromedriver_port+" -U "+deviceid+" "+" --no-reset &"
 各項說明:address:啟動server的地址,如果不指定為0.0.0.0Appium_port:啟動的server的連接埠號碼,預設4723bootstrap_port:與高版本(4.2及以上)android機互動的連接埠號碼,預設3724selendroid_port:與低版本(4.2以下)android機互動的連接埠號碼,預設8080chromedriver_port:與chrome瀏覽器互動的連接埠號碼,預設9516deviceid:裝置的id(adb devices查看) 注意:android多機啟動server一定要指定-U參數,否則在windows上運行時會拋錯 iOS多機的server啟動命令
startservercmd = "start /b appium --session-override -a " + address + " -p " + Appium_port+" --webdriveragent-port “+webdriveragent_port
 各項說明:address:啟動server的地址,如果不指定為0.0.0.0Appium_port:啟動的server的連接埠號碼webdriveragent_port:與iOS用戶端互動的webdriveragent的連接埠號碼,預設8010多進程啟動server命令,用戶端進行串連通過多進程進行多機測試定義一個遞增增量,每個進程都在基礎連接埠號碼上增加這個遞增增量,保證每個server的連接埠號碼不會衝突 下面為多進程的代碼,devices為串連的手機的deviceid列表,testsuit()為要執行的case入口 
if __name__ == "__main__":    if devices == []:        log().log("先插入手機再進行測試謝謝!當前需要的手機系統:"+optionsystem)        sys.exit()     if len(devices) == 1:        testsuit()    else:        from multiprocessing import Process        port_d=1#各個連接埠號碼的差值         for deviceid in devices:            t=Process(target=testsuit, args=(port_d,))            t.start()            port_d =port_d+1
 說明:port_d就是上面上的定增增量,通過這個變數我們可以加到基礎連接埠號碼上(基礎連接埠號碼自己寫到一個公開變數裡就好,比如appium server用4723) 啟動了伺服器,就可以通過不同的appium server連接埠號碼串連到伺服器了
webdriver.Remote(‘http://127.0.0.1:‘+appiumport+‘/wd/hub‘, desired_caps)
 注意:在windows中啟動多進程一定要把多進程的串連寫到【if __name__ == “__main__”:】下面,否則進行webdriver啟動串連時會被拒絕

appium多機並行測試

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.