idb icon indicating copy to clipboard operation
idb copied to clipboard

ui commands are not working

Open sumanc opened this issue 5 years ago • 6 comments

Description

Tried to send ui commands through idb but getting the following error

Reproduction

idb ui swipe --udid xxxxxxxxxxxxxxxxxxxxxx 0 0 200 200 Target doesn't conform to FBSimulatorLifecycleCommands protocol 8b79c3fcc3b950dd257c164aa6318e8e0b757a84 | Suman's iPhone X | Booted | iPhone X | iOS 12.4.1 | arm64 | 0 | 0

Solution

Additional Information

  • idb revision: Installed idb using brew install.

sumanc avatar Sep 19 '19 15:09 sumanc

UI commands are not available on devices due to iOS restrictions

@zeyadsalloum should we mark somewhere which commands are expected to work with devices?

c-ryan747 avatar Sep 19 '19 18:09 c-ryan747

Thanks Callum. It'd be better if the readme can clearly state what works and what doesn't on real devices.

The first line on the github page says;

"idb is a flexible command line interface for automating iOS simulators and devices"

It is misleading because no where else in the docs, it talks about the limitations on the real devices.

sumanc avatar Sep 19 '19 18:09 sumanc

Also, since WDA is archived and idb is supposed to be its replacement, are you planning to add device support (like WDA) in idb also?

sumanc avatar Sep 19 '19 22:09 sumanc

idb and fbsimctl (WDA wrapper) are built on top of the same frameworks and so have the same level of device support.

For E2E testing on devices specifically WDA might be more powerful as it has a component running inside the app to do some automation, whereas idb only runs external to the device.

A good rule of thumb with devices is "can xcode do X?", if it can then idb can probably do it, if it can't then it's likely theres just no iOS support for it.

c-ryan747 avatar Sep 23 '19 08:09 c-ryan747

idb and fbsimctl (WDA wrapper) are built on top of the same frameworks and so have the same level of device support.

For E2E testing on devices specifically WDA might be more powerful as it has a component running inside the app to do some automation, whereas idb only runs external to the device.

A good rule of thumb with devices is "can xcode do X?", if it can then idb can probably do it, if it can't then it's likely theres just no iOS support for it.

hi @c-ryan747 : How to make the real machine support idb ui command? Is it possible to install fbsimctl? Or idb is never able to support the idb ui command of the real machine

Jacky-LinPeng avatar Aug 09 '21 08:08 Jacky-LinPeng

same problem :(

bartekpacia avatar Sep 23 '22 09:09 bartekpacia