stf issue #387
Replies: 3 comments 1 reply
-
|
Hi! To connect devices, you need to start the corresponding providers. For Android, it's simply called The docker-compose-macos.yaml already starts a container named stf ios-provider \
--connect-sub tcp://devicehub-triproxy-dev:7250 \
--connect-push tcp://devicehub-triproxy-app:7170 \
--connect-app-dealer tcp://devicehub-triproxy-app:7160 \
--connect-dev-dealer tcp://devicehub-triproxy-dev:7260 \
--screen-ws-url-pattern 'ws://localhost:<%= publicPort %>' \
--public-ip localhost \
--provider localworker \
--storage-url https://${STF_DOMAIN}:${STF_PORT}/If you run stf ios-provider \
--connect-sub tcp://127.0.0.1:7114 \
--connect-push tcp://127.0.0.1:7116 \
--connect-app-dealer tcp://127.0.0.1:7112 \
--connect-dev-dealer tcp://127.0.0.1:7115 \
--screen-ws-url-pattern 'ws://localhost:<%= publicPort %>' \
--public-ip localhost \
--provider localworker \
--storage-url http://localhost:7100You can use Make sure that the provider containers have network access to your adb server to which the devices are connected. Also, make sure you've set a trusted provisioning profile for the |
Beta Was this translation helpful? Give feedback.
-
|
Thanks @e-khalilov I figure it out the issue in my end of provider (includes provider and ios-provider) looks like the path is not working well in my environment: node 19. After change it, the Android phone shows as expected. |
Beta Was this translation helpful? Give feedback.
-
Hi @e-khalilov I tried your command line in my environment. It's processing, but never stop. Keep build the WDA and test in my devices. This is part of log: the build WDA is good, but the test sometime failed. Is test necessary and failure will block the ios-provider? thanks, |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi VK team,
Thank you for share this wonderful open source project. It really works for my purpose.
I just try to setup in my Macmini for hosting Android and iPhone together. The Devicehub is up, however there is no device shows in the list.
the docker compose I used:
docker compose -f docker-compose-macos.yaml --env-file scripts/variables.env up -d
the output of adb:
adb devices
List of devices attached
2C031JEGR00238 device
562d945a device
R5CT44LW5LX device
RFCN80T4GDJ device
the output of idevice_id:
idevice_id -l
00008030-0018145A1A63402E
f67d7ce40691d9ab546d7362a4cc7a6182870de2
00008110-00061C390C40401E
00008101-00040DEE34B9001E
05bf6eed0a0744d8d2acf2cc7164b3dac9288aba
After researching, found that we need to start the provider. While I tried the provider command line, like ios-provider, it shows:
input:
stf ios-provider
--provider localworker
--host "$PROXY_HOST"
--secret "$AUTH_SECRET"
--connect-sub tcp://$PROXY_HOST:7114
--connect-push tcp://$PROXY_HOST:7116
--connect-app-dealer tcp://$PROXY_HOST:7112
--connect-dev-dealer tcp://$PROXY_HOST:7115
--public-ip "$PROXY_HOST"
--screen-ws-url-pattern "ws://$PROXY_HOST:<%= publicPort %>"
--storage-url http://$PROXY_HOST:7100/
--port-range-min 8100 --port-range-max 8200
--screen-ws-range-min 9200 --screen-ws-range-max 9250
--wda-range-min 18200 --wda-range-max 18300
--wda-path "/Users/fortinet/.appium/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent"
output:
Initialized sentry for environment: unset
Warning: Sentry sample_rate is 0
2025-10-30T23:09:47.368Z unknown INF/console 33895 [] 10.160.13.112
2025-10-30T23:09:48.696Z ios-provider ERR/console 33895 [] TypeError: The "paths[0]" argument must be of type string. Received undefined
at __node_internal_captureLargerStackTrace (node:internal/errors:496:5)
at new NodeError (node:internal/errors:405:5)
at validateString (node:internal/validators:162:11)
at Object.resolve (node:path:1115:7)
at Object.handler (file:///Users/fortinet/devicehub/lib/cli/ios-provider/index.js:170:22)
at file:///Users/fortinet/devicehub/node_modules/yargs/build/lib/command.js:206:54
at maybeAsyncResult (file:///Users/fortinet/devicehub/node_modules/yargs/build/lib/utils/maybe-async-result.js:9:15)
at CommandInstance.handleValidationAndGetResult (file:///Users/fortinet/devicehub/node_modules/yargs/build/lib/command.js:205:25)
at CommandInstance.applyMiddlewareAndGetResult (file:///Users/fortinet/devicehub/node_modules/yargs/build/lib/command.js:245:20)
at CommandInstance.runCommand (file:///Users/fortinet/devicehub/node_modules/yargs/build/lib/command.js:128:20)
at YargsInstance.[runYargsParserAndExecuteCommands] (file:///Users/fortinet/devicehub/node_modules/yargs/build/lib/yargs-factory.js:1386:105)
at YargsInstance.parse (file:///Users/fortinet/devicehub/node_modules/yargs/build/lib/yargs-factory.js:707:63)
at file:///Users/fortinet/devicehub/lib/cli/index.js:83:6
where should I make change to make the Devicehub works for Android and iPhone together?
Thank you for your help.
Kevin
Beta Was this translation helpful? Give feedback.
All reactions