zebrunner / mcloud-device

Android, Appium and STF provider in Docker.
10 stars 8 forks source link

minimize number of go ios calls #162

Closed vdelendik closed 7 months ago

vdelendik commented 10 months ago

we already do a lot of verification onto the device state, it's pairing etc: https://github.com/zebrunner/appium/blob/e989b942f2e25cc83fce76ecf0e3320f4eb0ba18/files/ios.sh#L54

as mcloud-device depends on appium it doesn't have any sense to repeat the same verifications on this level. let's review and optimize go ios calls. Ideally, remove all of them.

The only problem, howto detect phone, tablet or tv device class

vdelendik commented 10 months ago

we fixed usbreset usage for iOS and found that mcloud-device exited with 0 because temporary device is not accessible: https://github.com/zebrunner/mcloud-agent/issues/281

let's simplify direct go ios verifications and rely on the appium container state

vdelendik commented 8 months ago

@azarouski, I'd recommend to remove lines 22-35 https://github.com/zebrunner/mcloud-device/blob/b2a8074bcb7ec962a0bcc75b03c9e016067c21d2/files/start_all.sh#L22

and inject appium device family specific status call verification like this one: https://github.com/zebrunner/appium/blob/ce71aff1ad593bc40d4944ba5f1162778c4621e2/files/healthcheck#L9 But make sure to use wd/hub/status-wda for iOS and /wd/hub/status-adb for Android...

As appium host I believe linked container name might be used but don't know about appium port! if curl -Is "http://appium:${APPIUM_PORT}/wd/hub/status" | head -1 | grep -q '200 OK' the question is howto determine appium port inside the container

dhreben commented 7 months ago

Basic acceptance with iOS-Preferences-Test ,Mobile-iOS-Safari-Test , Android-Demo-Test successfully completed. Video, screenshots and logs are available.