libyui is a library which allows writing applications in ruby and then run them in ncurses or qt for no additional costs. Before, there was no specialized framework for the integration tests. libyui-rest-api and client ruby library allows writing tests using rspec and significantly reduce maintenance of the tests in comparison to screen based testing tools. The solution allows to query the UI properties over HTTP using a REST API. This allows to automate the UI interaction steps and avoid screen-based tools. The API allows reading properties of the UI, so the displayed values can be validated. It also allows interacting with the UI: clicking buttons, toggling check boxes, entering text. In combination with client tests we can write scalable tests and validate UI in details.
During this talk we will learn how the framework works and how it can be used to test YaST applications. We also will briefly cover testing on different stages of the development cycle in context of YaST modules, rspec and libyui. |