ChiPy Spring 18 Mentorship Program — #3

Before I ramble on about my adventures in programming that took place from my last entry a month ago until now, I want to take a small moment to review with you the mock that I whipped up for what I was hoping to build and give a quick refresher on why the heck we’re doing the things we’re doing.

UX design game so strong out here :flex: :flex:

This is my rough sketch of what I was hoping to build and develop using Python — a Windows application that functions as a central hub for software QAs and test engineers like me to use every day at work. I wanted to build something that had an intuitive, simple interface that would present the tester with options to house, create, edit, import, and execute automated test cases and test suites.

The benefit to this is having everything in a central location and able to be managed from a single piece of software. Any tester will tell you that when you get into making changes to software, introducing new functionalities, meeting business requirements, and sticking to project deadlines, keeping things organized and functional is a challenge in itself. Not only would Chrono Test Manager facilitate this greatly for a tester — it would prove invaluable to a QA team in housing and accessing the tests from a location and being able to execute, edit, and add new cases to a central location.

Kanye West said, “Reach for the stars, so if you fall you land on a cloud.” Kanye also did not design Windows apps or write automated test cases in Selenium with Python. So I mean. Grain of salt.

So for now, we’re gonna go back to small scale. For now, this will be a tool for yours truly to use at the day job.

Shameless script kiddie selfie for my many, many Medium fans. (Actual caption: All aboard the struggle bus.)

Now that we’ve taken a quick look at that (and my face), with a little help and a lot of patience from my mentor, Ed, here’s a look at what progress has been made from then ’til now.

Look, ma! No hands! …Er, once I get these automated tests going…

This was a lot of work, a lot of confusion, a lot of reading, and a lot of troubleshooting — but the end result is gorgeous. Learning to create this in wxPython was really interesting and a ton of fun! Building the widgets and placing them on the panels and frame was a wild endeavor all it’s own, but once I started getting the hang of it, it became pretty slick. We’ve even got a sizer on the frame of the user interface itself, wired up in such a way that we can drag the window to a larger size than it is at launch and everything still fits within the frame, looks nice, and stays functional. The file directory in the main window works and is pretty snappy, and one of the menu events has been wired up. When Open Test Case is selected, our File Explorer launches and is already looking for your .py files to run your tests!

That dynamic frame sizer is just so cool and will be useful for the l o n g b o i s.
Quick demo of the file dir for the main test suite, opening an individual test case from our central test folder, the about button, and closing the software. I can’t believe I built this!

The spring mentorship program is nearing its end, and I’m trying to check off the last lists of things I want to do to make this robust and viable. The major checkpoints are launching an external text editor from Chrono Test Manager in order to edit and save test cases, executing test cases, and importing/moving .py test files from one location to a centrally located (default) folder. Wish me luck!