DEV Community

Daniel Ahn for Dogu Technologies

Posted on • Originally published at blog.dogutech.io on

Dogu v1.10.0: Git integration with Bitbucket, CI integration with Jenkins plugin and GitHub Action, and more

Dogu v1.10.0: Git integration with Bitbucket, CI integration with Jenkins plugin and GitHub Action, and more

Dogu has been updated to v1.10.0! 🚀 We're continuously sprinting ahead for efficient test automation.

GitHub logo dogu-team / dogu

The Unified Test Automation Platform

Dogu - Seamless Unified Test Automation Platform

GitHub Actions status GitHub tag (latest SemVer pre-release) Docker Pulls

What's Dogu?

Dogu is a seamless unified test automation platform for web, mobile and game application. You can integrate various tools such as Appium, Selenium and Playwright that you have previously used with Dogu, allowing you to perform parallel processing and check test results more easy. Experience more efficient test automation with Dogu.

Architecture

Dogu is a test automation platform that provides a seamless unified experience for web, mobile and game application. Dogu is composed of the following components.

Dogu Features

Device Farm

Build a systematic device farm with Windows, MacOS, Android, and iOS devices.

Device Studio

Control devices remotely with Device Studio.

Inspecting UI

Inspect UI with Device Studio.

Test CI

Run test parallelly and periodically with routine.

Test Report

Visualize test unit by integrating test unit framework with report.

Start Dogu

With Self-Hosted

Use Dogu on a self-hosted. See guide setting

In this latest update, numerous features have been added and improved, including Git repository integration, Jenkins and GitHub integration, and much more. Let's dive into the details!

✨ Integration with Bitbucket

In Dogu, the Routine feature is one of the powerful capabilities for automating complex tests or performing tests in integration with CI. Routine takes the user's Git repository and allows for the execution of specific test scripts.

Until now, Dogu has supported integration with GitHub and GitLab repositories. Upon receiving user feedback and requests, we have decided to extend our support to integrate with Bitbucket as well. (Thank you for your all feedbacks! 😄)

Dogu v1.10.0: Git integration with Bitbucket, CI integration with Jenkins plugin and GitHub Action, and more
Bitbucket repository integrated!

Following the integration with Bitbucket, when creating or modifying routines in GUI editing mode, you'll now be able to fetch test scripts from the linked repository during the step where you execute tests!

Dogu v1.10.0: Git integration with Bitbucket, CI integration with Jenkins plugin and GitHub Action, and more
Options for test scripts

To integrate with Bitbucket, you'll need either a Repository access token or a Project access token provided by Bitbucket. For detailed information, please refer to our documentation at Bitbucket Integration.

✨ Jenkins plugin and GitHub Action

As mentioned earlier, Dogu Routine is designed to seamlessly integrate routines with CI for execution. Dogu provides functionality to run routines through Jenkins plugin and GitHub Actions!

Dogu Integration Plugin

Description

Dogu is an cross E2E test automation platform for web, mobile and game application. You can integrate various tools such as Appium, Selenium and Playwright that you have previously used with Dogu, allowing you to perform parallel processing and check test results more easy. Experience more efficient test automation with Dogu.

This plugin helps to integrate jenkins with Dogu.

Features

Dogu Credential

You can add Dogu access token to Jenkins credential store. Dogu Organization Token and Dogu Project Token are supported.

Dogu Run Routine Build Step

You can run a routine in Jenkins. You can specify the Dogu project and routine by ID.

How it works

When you add a Dogu Credential, it will be added to the Jenkins credential store. The Dogu Run Routine Build Step will use the Dogu Credential to connect to Dogu and run the routine.

Development

Getting Started

  1. mvn hpi:run

Dogu Github Action

Integrate github action with Dogu

Common Inputs

template

  • run_routine
  • upload_application

api-url (optional)

Default: https://api.dogutech.io

timeout (optional)

Default: 60 * 60 * 1000 (ms)

Templates

run_routine

Inputs

  • project-id
  • routine-id

upload_application

Inputs

  • project-id
  • file-path

Env

DOGU_TOKEN

Organization Token, Project Token, User Token can be used.

Example usage

- name: Upload Application
  uses: dogu-team/dogu-github-action@v1.0
  with:
    template: upload_application
    project-id: 'a5792d9b-a8e8-4ab8-b790-3a503c5a8789'
    file-path: '/usr/project/build/app.apk'
  env:
    DOGU_TOKEN: ${{ secrets.DOGU_TOKEN }}
Enter fullscreen mode Exit fullscreen mode
- name: Run Routine
  uses: dogu-team/dogu-github-action@v1.0
  with:
    template: run_routine
    project-id: 'a5792d9b-a8e8-4ab8-b790-3a503c5a8789'
    routine-id: 'c3218f5f-02bf-43a1-9eb3-acd2753e7567'
  env:
    DOGU_TOKEN: ${{ secrets.DOGU_TOKEN }}
Enter fullscreen mode Exit fullscreen mode



To test mobile apps or game products, you need to upload the app you want to test to your Dogu project. This is because routines use the app on devices to execute tests. To do this as part of your CI process, you can perform the following actions using the Jenkins plugin and GitHub Action:

  1. Upload the app to your Dogu project.
  2. Trigger the execution of the defined routine.

For details, please visit Jenkins plugin and GitHub Action documentations!

✨ Project template for your products

Dogu provides test automation capabilities for web(including mobile web), mobile apps, and games. As a result, there arose a need to offer different features or GUI editors based on the user's product type within a project. For instance, a user looking to test a web service might not require a menu to upload a mobile app.

After our team members contributed various valuable insights, we decided to introduce the option to choose project templates when creating a project. From now on, you can focus only on the features you need when testing your own product.

Dogu v1.10.0: Git integration with Bitbucket, CI integration with Jenkins plugin and GitHub Action, and more
Options for project template

Dogu v1.10.0: Git integration with Bitbucket, CI integration with Jenkins plugin and GitHub Action, and more
Web template sidebar menu vs App template sidebar menu

Currently, we only offer a difference in the presence of the project app uploading feature. However, there are exciting changes on the horizon, including upcoming enhancements to the GUI editing functionality within routines, tailored test result reporting, and some alterations to features and the UI. We look forward to your anticipation of these upcoming developments :)

Wrapped up

Alongside the Bitbucket integration feature, Dogu is actively developing functionalities and improvements based on user feedbacks gathered from the Dogu Slack Community. Once again, we extend our gratitude for everyone's valuable feedback! With the addition of the project template feature, Dogu has gained greater scalability, and in the future, you can expect differences in UI and functionality between templates. These newly added and updated features appear to be a significant step toward Dogu's goal of becoming an "efficient and user-friendly test automation platform."

If you have any questions or need assistance, feel free to reach out via email at contact@dogutech.io, or consider joining our Dogu Slack Community where you'll find a warm welcome and support. We're always here to help!

Happy Testing!

Top comments (0)