What is ZTL?
It is a Zul Testing Language, which is used to test ZK based on Selenium automatically.
Why is it coming?
Because we want to solve the issue that the UUID of each component inside ZK changes every time. It is hard for application developer to test with ZK, even if ourselves. So we provide a way to naming bind the ZK component's ID to the code of Selenium(i.e. Junit), and the testing developer don't worry about what the UUID is. Thus, they just use the same ID as a widget class inside the Selenium server to do the test.
In addition to the UUID issue, we also enhance the jQuery's selector to work with ZK widget's ID and tagName. Like this feature we did in upcoming ZK 5.0.2 version. So what is the benefit of this feature? As you may know that most of the softwares may change its code or its architecture in the future, but they don't want to maintain the testing code each time the software changed. That is why we enhance the selector to work with ZK, because the selector can be more relative than UUID in the testing code. Besides, jQuery's selector do the good job to support CSS3 which is more powerful to select a set of elements, and now the jQuery's selector in ZK 5.0.2 can select a set of ZK client widgets with one line code, such as jq("@window").fadeIn();