Guest Post: Automating Mobile Testing at Gilt - A Follow Up

Sauce AI for Test Authoring: Move from intent to execution in minutes.|xBack to ResourcesBlogPosted

January 07, 2026 · 5 min read · Mobile Testing

Sauce AI for Test Authoring: Move from intent to execution in minutes.

|

x

Back to Resources

Blog

Posted June 19, 2014

Guest Post: Automating Mobile Testing at Gilt - A Follow Up

quote

This post comes from our ally atGilt, who are usingAppiumto automate their mobile testing.

It & # x27; s been a while since we ’ ve posted in detail about our automation and quiz process hither on the Mobile Team at Gilt. Much has vary in the past few months, and the past couple of week in particular have been pretty exciting on the testing battlefront. First off, we had the opportunity to give a talk about how we approach native peregrine testing, to a packed firm at the Brooklyn iOS Meetup. Second, Appium 1.0 - now already 1.1 - was officially released! Cue the champagne and fireworks! In seriousness though, the Appium milestone release is a middling big pot for us.

Some History

We ’ ve written briefly about Appium before, and how it fits in with our overall process. About a yr ago, Appium popped up on our radiolocation hither at Gilt after one of our engineers saw a talk about it at SeConf. We be intrigued and did a bit of experimenting, and after notice that we ’ d be able to leverage some of our live Selenium infrastructure, as well as our in firm Selenium talent, we adjudicate to adopt Appium as our quiz model of pick.

Appium had been in evolution for some time by this point, but it was still former days for the project, and it had some rough edges. Tag names were discrepant, and the XPath locator strategy was pretty sad. We ’ ll get into that later ...

Appium & # x27; s pace of development was really fast, and thing changed regularly. Often the alteration would be drastic and would break our tests. Stability also seemed to fluctuate. On some variant, things be grand, and our tests would run smoothly. Other times, tests would fail or crash for no ostensible reason. The failure weren ’ t always Appium ’ s fault, but they were nevertheless pretty frustrative. Once or twice we wondered why we were even irritate and see switching rearwards to KIF. We persisted though, and we ’ re actually glad we did, because Appium has grown up!

So, What ’ s All The Fuss About?

Pro tip: Tools like SUSA can handle this autonomously — upload your app and get results without writing a single test script.

Appium now implements the defined part of the Mobile JSON Wire Protocol. This is basically an extension to the selenium wire protocol, that provides support for mobile specific actions. Desired capacity key seem to get be finalized by this specification, which is outstanding, since these have changed a couple times over the preceding yr, causing a couple of headaches. It ’ s also full to see some bigger companies getting involved here.

For us though, the toughened subject has been stability. Countless hairs receive been turned grey due to tests fail or crash for no apparent reason. While we & # x27; ve jumped through a miscellany of other hoops in our seeking to clear the overall flakiness issue (page objects, wise waiting), Appium has create huge strides in this region. This is no small achievement, given that Appium is genuinely proxying commands to UIAutomation, which itself is passably fragile and prone to random crashing.

We & # x27; re also super happy to see that force-quit-instruments no long shuts exam sessions down during long waits or element searches. Most surprisingly, page root is now XML based. XML? It ’ s like it ’ s 1999 all over again! Actually this modification has some reasonably amazing welfare. The biggest of which is that we can now perform & quot; existent & quot; XPath enquiry on our page source, and Appium is now using a compliant XPath parser. Hooray! We complained before about Appium & # x27; s XPath engine be pretty lousy. In olden times, the XPath engine was regex based and would search for the coveted constituent (s) in a JSON representation of the page source. Dreadful stuff ... Needless to say, this was inefficient and only worked correctly with & quot; just right ” XPath queries. This fundamentally left Appium users with but two logical locater strategies. We ’ re superintendent happy to see that this has been resolved.

Too Full To Be True?

We ’ re generally really glad with the way Appium works, but there are a fistful of issues that still cause some painfulness for us. Error reportage is not Appium ’ s potent case. While overall reliability is orders of magnitude better in the modish release, it ’ s still incredibly hard to name the exact job when failures occur. Integrating Appium with your Xcode workflow is left up to you, and while this isn ’ t terribly hard, it would be nice to see tighter Xcode integration. I still stand by our previous advice of steering clear of any non-standard UI tricks and hacks. Minimize the use of overlayer, and do whatever you can to avoid passthrough views. If anything, Appium will push you to strive for UI simmpleness and to get serious about availability. The purport touch motion API might provide some flexibility hither, but we ’ ll have to wait and see.

Coming Soon

We ’ re still meddling getting to clutches with the changes work by this milestone liberation. The increased involvement in the the Mobile JSON Wire Protocol by some big companies has force our confidence in Appium up a couple notches. While the specification is not yet complete, it does propose some truly exciting features down the line. Notably, we ’ re really excited by the prospect of server-side postponement. The way we manage waiting for elements has had a huge impact on the reliability and speed of our tests, and so it ’ s really exciting to see this portion of the process getting some passion.

The Bottom Line

Almost all dependableness matter that plagued us in earliest adaptation appear to have been decide. We ’ re now able to expend more time act on exam, and much less clip wrestling with Appium and Instruments. Prior to this release, our tests were entirely untrusty. The alteration made leading up to the 1.0 release, combined with better test practices on our part, get dramatically boosted our confidence in our automated tests. Test outcome are now taken seriously and are becoming an invaluable aid when performing QA work on our apps. We ’ re truly excited to see how the Mobile JSON Wire Protocol evolves, and what comes adjacent for Appium.

By Matt Isaccs of Gilt Groupe for Sauce Labs

Published:
Jun 19, 2014
Share this post
Copy Share Link
LinkedIn
© 2026 Sauce Labs Inc., all rights allow. SAUCE and SAUCE LABS are register trademarks owned by Sauce Labs Inc. in the United States, EU, and may be register in former jurisdictions.
robot
quote

Automate This With SUSA

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts needed.

Try SUSA Free

Test Your App Autonomously

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts.

Try SUSA Free