1) first start 2 appium servers with different port parameters. example of mine:
start appium as: [appium, --log-level, error, --port, 4725, --bootstrap-port, 5725, --command-timeout, 90, --session-override, --log-timestamp]
start appium_2 as: [appium, --log-level, error, --port, 4726, --bootstrap-port, 5726, --command-timeout, 90, --session-override]
2) open 2 drivers when each one pointing to correct device. example of mine driver capabilites:
Capabilities [{app=/Users/jenkinss/Downloads/test_clients/xxxx.apk, noReset=false, clearSystemFiles=true, appWaitActivity=ee.xxxx.*, disableAndroidWatchers=true, version=, deviceName=LGH8155e9892e6, fullReset=true, platform=ANDROID, automationName=Appium, browserName=, autoGrantPermissions=true, udid=LGH8155e9892e6, platformName=Android}]
AndroidDriver: http://0.0.0.0:4725/wd/hub
// second phone
Capabilities [{app=/Users/jenkinss/Downloads/test_clients/xxxx.apk, noReset=false, clearSystemFiles=true, appWaitActivity=ee.xxxx.*, disableAndroidWatchers=true, version=, deviceName=YT911B1KQX, fullReset=true, platform=ANDROID, automationName=Appium, browserName=, udid=YT911B1KQX, platformName=Android}]
AndroidDriver: http://0.0.0.0:4726/wd/hub
// or in your case you can open directly sms messages on phone
Capabilities [{appPackage=com.google.android.apps.messaging, noReset=true, clearSystemFiles=true, disableAndroidWatchers=true, version=, deviceName=005102d335df3d91, fullReset=false, platform=ANDROID, appActivity=.ui.ConversationListActivity, automationName=Appium, browserName=, udid=005102d335df3d91, platformName=Android}]
open driver for ANDROID
AndroidDriver: http://0.0.0.0:4726/wd/hub
now dow whatever you like.