Balin is an automation library for Kotlin. It's basically a Selenium-WebDriver wrapper inspired by Geb.

Overview

Balin

license

Balin is a browser automation library for Kotlin. It's basically a Selenium-WebDriver wrapper inspired by Geb.

Rationale

Geb is a wonderful library that allows its users exploit the power of the Selenium-WebDriver API with incredible ease. As a software developer who spends a lot of time working with browser automation, I've been lucky enough to work with Geb and am now learning Kotlin. I'm taking this chance to learn this new JVM-based language and to contribute to its ecosystem a tool that's very useful to me.

Usage

If you're curious about how to use this library, you can check out the following examples

Templates

The Balin-Cucumber-TestNg-Allure template can be of help in order to avoid the boilerplate required for Balin's integration with the most common frameworks used in software testing.

Documentation

JavaDoc and KDoc versions of Balin's API documentation can be found in the following locations:

Build system & framework integrations

Maven

<dependencies>
  <dependency>
    <groupId>com.github.epadronu</groupId>
    <artifactId>balin</artifactId>
    <version>0.4.2</version>
    <type>pom</type>
  </dependency>
</dependencies>

Gradle

dependencies {
  compile 'com.github.epadronu:balin:0.4.2'
}

repositories {
  jcenter()
}

Note

This project has been conceived for research purposes but I don't dismiss the possibility of making it a production-ready library if it gets to that point.

License

Like Kotlin, Balin is released under version 2.0 of the Apache License.

You might also like...
Turbine is a small testing library for kotlinx.coroutines Flow.

A small testing library for kotlinx.coroutines Flow

A library that makes it easier to write high quality automated acceptance tests

Getting started with Serenity and Cucumber Serenity BDD is a library that makes it easier to write high quality automated acceptance tests, with power

An experimental library for dealing with legacy code

All Super experimental! no guarantees to the public API surface. At the moment, this project is the outcome of the limitations of my search skills. Bu

Library to simplify and speed up the creation and work with adapters with payload.

Novalles Library to simplify and speed up the creation and work with adapters with payload. How to use Annotate your UI model with UIModel Annotation.

Portable validations for Kotlin

Portable validations for Kotlin ✅ Type-safe DSL 🔗 Multi-platform support (JVM, JS) 🐥 Zero dependencies Installation For multiplatform projects: kotl

Powerful, elegant and flexible test framework for Kotlin with additional assertions, property testing and data driven testing
Powerful, elegant and flexible test framework for Kotlin with additional assertions, property testing and data driven testing

Kotest is a flexible and comprehensive testing tool for Kotlin with multiplatform support. To learn more about Kotest, visit kotest.io or see our quic

Fixtures for Kotlin providing generated values for unit testing

A tool to generate well-defined, but essentially random, input following the idea of constrained non-determinism.

Lightweight service for creating standalone mock, written in pure Kotlin with Netty container.

MockService The lightweight service for creating a standalone mock, written in pure Kotlin with Netty container. The service allows getting config fil

Proyecto de Kotlin y JPA sobre Hibernate, con algunos test usando JUnit 5 y Mockito.
Proyecto de Kotlin y JPA sobre Hibernate, con algunos test usando JUnit 5 y Mockito.

Contactos Kotlin JPA Ejemplos de una aplicación de manejo de contactos con Kotlin y JPA. Usando para testear la aplicación JUnit 5 y Mockito. Almacena

Comments
  • Initial support for selectors via delegates

    Initial support for selectors via delegates

    By using delegate properties, I would like to remove a lot of the noise when creating page objects.

    This isn't complete, but it gives you an idea of how I would like to improve the syntax for creating page objects.

    Compare the HelloWorld runButton and tryItButton syntax as an example.

    The consoleOutput is the most complex example, since it changes what the waitFor from the default CLICKABLE to the IS_PRESENT condition and also does additional stuff with the element.

    I don't love duplication in the so I'm considering alternative strategies. I look forward to your feedback.

    opened by checketts 2
  • Pipeline status link in README is broken

    Pipeline status link in README is broken

    It seems that this badge does not work anymore

    [![pipeline status](https://gitlab.com/EPadronU/balin/badges/master/pipeline.svg)](https://gitlab.com/EPadronU/balin/commits/master)
    
    opened by jreznot 1
Owner
Edinson E. Padrón Urdaneta
Senior QA Engineer | QA Automation enthusiast | Software Developer | JVM inhabitant | Kotlin enthusiast | Linux resident | Terminal junkie
Edinson E. Padrón Urdaneta
null 866 Dec 27, 2022
Test Automation of Energy Australia - Web application

Test Automation of Energy Australia - Web application Technology used - Kotlin, Java, Espresso, Android Run the test on local environment git clone ht

null 0 Feb 9, 2022
Kotlin wrapper for React Test Renderer, which can be used to unit test React components in a Kotlin/JS project.

Kotlin API for React Test Renderer Kotlin wrapper for React Test Renderer, which can be used to unit test React components in a Kotlin/JS project. How

Xavier Cho 7 Jun 8, 2022
A multiplatform assertion library for Kotlin

Atrium is an open-source multiplatform assertion library for Kotlin with support for JVM, JS and Android. It is designed to support multiple APIs, dif

Robert Stoll 439 Dec 29, 2022
mocking library for Kotlin

Kotlin Academy articles Check the series of articles "Mocking is not rocket science" at Kt. Academy describing MockK from the very basics of mocking u

MockK 4.8k Jan 3, 2023
Strikt is an assertion library for Kotlin intended for use with a test runner such as JUnit, Minutest, Spek, or KotlinTest.

Strikt is an assertion library for Kotlin intended for use with a test runner such as JUnit, Minutest, Spek, or KotlinTest.

Rob Fletcher 447 Dec 26, 2022
A Kotlin Android library for heuristics evasion that prevents your code from being tested.

EvadeMe An Android library for heuristics evasion that prevents your code from being tested. User Instructions Add the maven repository to your projec

Chris Basinger 29 Dec 26, 2022
Android library that allows you to run your acceptance tests written in Gherkin in your Android instrumentation tests.

Green Coffee Green Coffee is a library that allows you to run your acceptance tests written in Gherkin in your Android instrumentation tests using the

Mauricio Togneri 227 Nov 21, 2022
Linkester is an Android library that aims to help Android developers test their deep links implementation.

Linkester Linkester is an Android library that aims to help Android developers test their deep links implementation. The idea is to have a new launche

Ahmad Melegy 79 Dec 9, 2022
Jitpack Library Tester

jitpack-library-test Repository for testing build from jitpack.io Red : Failed Green : Success / Pass Colaborator Very open to anyone, I'll write your

Faisal Amir 7 Dec 10, 2022