Automated behave based UI testing

Speaker(s): 
pranavk's picture
Pranav
Kant

I am a proud contributor to many open-source communities, such as, GNOME, Fedora, LibreOffice, and Mozilla. Larger part of my contributions are in GNOME; consequently, I am a GNOME Foundation member. I have been contributing to various GNOME modules both upstream and downstream in fedora. Currently, I am also a fedora packager; maintaining, reviewing, and testing packages regularly including GNOME packages.. Besides that, I have also been involved in LibreOffice and Mozilla community, and working on few interesting projects there.

FAS ID: 
pranvk
Bio: 

I am a proud contributor to many open-source communities, such as, GNOME, Fedora, LibreOffice, and Mozilla. Larger part of my contributions are in GNOME; consequently, I am a GNOME Foundation member. I have been contributing to various GNOME modules both upstream and downstream in fedora. Currently, I am also a fedora packager; maintaining, reviewing, and testing packages regularly including GNOME packages.. Besides that, I have also been involved in LibreOffice and Mozilla community, and working on few interesting projects there.

Ensuring that the GUI of the application work properly before releasing the product is imperative. After all, its only the GUI that would be directly perceived by the user. All your performance optimizations, your algorithmic enhancements in the backend would be useless if user is not able to interact with your application properly, or according to his given specifications. Hence, UI testing in any development process is very important. In this talk, I would be talking about making this process automated and organized using Behaviour-driven development based python tool, `behave'. This could save a lot of developer's time which can be invested in other important tasks enhancing the overall user experience.

I would take the example of similar work that I have been doing in gnome-photos[1] to demonstrate this, and talk about how you can (and should) use this UI testing paradigm/methodology for automating UI tests in your applications.

[1] https://bugzilla.gnome.org/742732

Session Track: 
Talk
Experience level: 
Intermediate