Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automation framework? #526

Closed
bootstraponline opened this issue May 14, 2019 · 4 comments
Closed

Automation framework? #526

bootstraponline opened this issue May 14, 2019 · 4 comments

Comments

@bootstraponline
Copy link
Contributor

Is there any information you can share on what UI automation framework Facebook is using with idb now that WebDriverAgent is archived?

facebookarchive/WebDriverAgent#1118

@lawrencelomax
Copy link
Contributor

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.

@bootstraponline
Copy link
Contributor Author

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?

@lawrencelomax
Copy link
Contributor

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.

@bootstraponline
Copy link
Contributor Author

Thank you for all the info!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants