Are you interested in contributing to Bobcat? Great!
If you encounter a bug when using Bobcat, first, please check the existing issues - perhaps someone already had the same problem. If there is one, don't hesitate to add a comment with additional information!
If not, report the issue according to the template and set the label to bug
.
Perhaps you have a cool idea on how to improve Bobcat? Raise an issue and describe your proposal, including why you think it would make a great addition to the framework. Set the label to feature
.
Maybe not only you have a cool idea but felt like moving it right away into the code? Or you saw an issue labeled help wanted
and felt that you'd give a try? Even more awesome!
Fork the repository, create a branch, hack away your improvement and submit a pull request!
There are few things you need to keep in mind though.
Describe your changes in the pull request. Also, make your commit messages speak for themselves (you can read more about that here.
Use Google Style with following modifications:
- line width: 100
- preserve newlines (short lines may be more readable)
@formatter:off
and@formatter:on
disables and enables formatter- use eclipse imports order (instructions for IntelliJ)
We provide XML file for JAVA format that may be imported into Eclipse and IntelliJ IDEA.
It would be really great if your changes would include tests checking them. They can be either unit tests or integration tests - where to put them?
- unit tests: in the
test
folder in the module they are testing - integration tests: in the
bb-integration-tests
module, in the module-specific package, e.g.com.cognifide.qa.bb.core
for Core module tests,com.cognifide.qa.bb.proxy
for Traffic module tests, etc.
To build and test your code against existing suites, simply run mvn clean test
from the project root.
⚠️ Note about running tests in IDE: make sure that tests are run with-Djunit.jupiter.extensions.autodetection.enabled=true
option
Unfortunately, due to the license, we cannot expose our AEM test suites, so if you would like to introduce a change related to that part of the framework, reach out to us and we will discuss a proper approach.
Every feature should be covered in Bobcat's documentation. If you have modified an existing code, please adjust the documentation accordingly.
In addition to the above, please make sure all classes and public methods have Javadocs.