appium1.4.X+iOS9.X+xcode7.X:
appium1.4.x+iOS9.x+xcode7.x,這一整套的配置做移動端自動化測試是測試人員常用的測試框架。關于,這一套測試框架的并發問題:基于mac端,啟動多臺appium服務器會導致appium的運行出錯。這是因為多個appium_server的臨時文件存放在同一個地址的原因。這個問題的解決思路很簡單。只要在每個appiuim_server啟動的時候指定一個appium緩存文件存放地址即可。
例如:
第一臺appium_server啟動命令:appium -a 127.0.0.1 -p 4723 -bp 4724 --tmp /usr/desktop/liujian1
第二臺appium_server啟動命令:appium -a 127.0.0.1 -p 4725 -bp 4726 --tmp /usr/desktop/liujian2
appium1.6.X+iOS10.X+xcode8.X:
appium1.6.X+iOS10+xcode8.X,對于iOS10.X的版本來說,蘋果公司在測試框架上有了很大的改變。蘋果公司放棄了原來的uiautomator那一套東西,改用xcuitest來進行自動化測試。這個重大的改變,導致了基于uiautomator體系的appium測試框架做出了調整。為了適應xcuitest測試框架,appium引進了facebook開發WebDriverAgent(簡稱wda)。wda在進行WebDriver通信的時候分別指定電腦端和手機端的端口,都是8100。導致了,在mac上同時運行多臺appium_server服務的時候會出現異常。這個問題的解決思路是在運行腳步里指定不同的wda端口:
例如:
第一個腳本參數setCapability("wdaLocalPort","端口一")
第二個腳本參數setCapability("wdaLocalPort","端口二")
注意:兩個端口不能相同。
tips:
如果Android7在做并發的時候如果出現端口異常,指定參數setCapability("systemPort","端口號")