Closed bootstraponline closed 5 years ago
We're using idb
directly for Simulators. The idb ui
family of commands provides primitives for tapping and getting UI hierarchies which is enough to write a UI testing framework on top. XCUI
basically operates in a similar way, but it has more direct access to hierarchies. This is all about optimizing performance and throughput but also mirrors how we do things for Android.
For devices we do things a little differently and have launch plain XCUITests
with idb xctest run ui
. This is just running a regular UI test, except this also works for devices.
For devices we do things a little differently and have launch plain XCUITests with idb xctest run ui. This is just running a regular UI test, except this also works for devices.
To clarify, FB engineers are writing iOS UI device tests using the XCUITest APIs directly? There's no secret sauce reverse engineered magic like WDA? Or even a wrapper framework that abstracts away XCUITest?
To clarify, FB engineers are writing iOS UI device tests using the XCUITest APIs directly? There's no secret sauce reverse engineered magic like WDA? Or even a wrapper framework that abstracts away XCUITest?
There's no secret sauce magic.
For many cases there are higher level abstractions on top of an underlying framework. For more information on those you might find this talk interesting. One of the advantages of this higher level framework is that it means that tests do not have to be re-written to change the underlying driver from XCUI/WDA to something like idb
.
Thank you for all the info!
Is there any information you can share on what UI automation framework Facebook is using with idb now that WebDriverAgent is archived?
https://github.com/facebookarchive/WebDriverAgent/issues/1118