Senior Design Team sdmay21-26 • Automated Configuration Testing Framework for KBase
The project for our senior design team is focused on automating interactions with an online
tool named KBase. KBase is a predictive biology tool that can allow
scientists to experiment performing various tests in a simulated environment.
The scope of this project is to automate interacting with KBase, acting as a user, to
performing operations on the website. The outcomes of this project can be used in two ways.
Firstly, non-technical users of the tool will be provided a way to run multiple jobs in
parallel that do not require manual setup in KBase. Secondly, the developers of KBase can
use the tool to automate and test various configurations of tests, to determine if there is
any configuration that breaks or otherwise degrades the system.
System Diagram
We designed our system to be a standalone Java application with the idea that it would be more portable to different machines. As demonstrated in the diagram, a user interacts to our system through a custom GUI. They are able to select the parameters they wish to have configured in a KBase test. All of this information gets compiled into a job. These jobs are the queued by our system, and based on configurations multiple jobs may be picked to run in parallel. These jobs will use Selenium, a tool used to programmatically interact with websites, to program the user's inputs into KBase. The KBase tests is then ran, output from the test is collected, compiled, and saved into a file on the user's machine.