April 10, 2017

SeConf2017: Rethinking Appium’s Code Base, Notes

Even though I have been a QA Engineer for quite some time, I am rather new to automation development. Lately, I've been trying to figure out how to use the open-source tool, Appium, to automate the mobile test suites that I have been writing for my current position.

Luckily for me, the Selenium Conference 2017 has just posted videos of its lectures online, with many of them providing good background information about Appium.

Rethinking Appium’s Code Base
Moiz Virani – Software Engineer, Sauce Labs


Moiz Virani ( @moizjv ), a Software Engineer at Saucelabs and contributor on the Appium project talked a bit about how the Appium project was re-written and restructured. They took a monolithic project and converted it into smaller microservices.

More that iOS and Android, they now have drivers for Windows and UIDriver, helping you automate your TV apps. It still uses the JSON Wire protocol, still iis open source and always will be open source.

Originally it was written in Node.js with very hard to read logs, difficult to read developer documentation. They have rewritten the JavaScript, updating it to E6 and E7, the current version of JavaScript, limiting the scope of variables with let and const.

Prior to 1.5, they had a Client which then talked to a Main Appium Controller then branched off into either the IOS driver or Android driver. Then it went into iOS UIAutomation or Android UIAutomator. There would always be redundant code.

When it came to test organization, there were not many unit tests The test suites were hard to run, hard to set up, and didn’t have good told to talk about test coverage. If you wanted to run all the tests they had, it took a whole day.

They wanted in the re-write strong encapsulation, well defined interfaces, explicit dependencies. One selenium package, two appium packages, a IOS package, Android packages. Every repo to have a good README.

How to contribute to the project?

Appium has a contribution page. There is sprint planning session with a zoom channel. You can report bugs. Fix bugs. Be a contributor!

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"


for ict 99 said...

IEEE Final Year projects Project Centers in Chennai are consistently sought after. Final Year Students Projects take a shot at them to improve their aptitudes, while specialists like the enjoyment in interfering with innovation. For experts, it's an alternate ball game through and through. Smaller than expected IEEE Final Year project centers ground for all fragments of CSE & IT engineers hoping to assemble. Final Year Projects for CSE It gives you tips and rules that is progressively critical to consider while choosing any final year project point.

Spring Framework has already made serious inroads as an integrated technology stack for building user-facing applications. Spring Framework Corporate TRaining the authors explore the idea of using Java in Big Data platforms.
Specifically, Spring Framework provides various tasks are geared around preparing data for further analysis and visualization. Spring Training in Chennai

The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training

vé máy bay từ canada về việt nam said...

Mua vé máy bay tại Aivivu, tham khảo

vé máy bay đi Mỹ Vietnam Airline

chuyen bay tu my ve vietnam

giá vé máy bay từ Vancouver về việt nam

có chuyến bay từ nhật về việt nam chưa

Lịch bay từ Seoul đến Hà Nội

Vé máy bay từ Đài Loan về Việt Nam

vé máy bay tết 2022 pacific airlines