Skip to content

dannyhdyt/Portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Portfolio


Quick access index

Hi I'm Danny

Previously, I worked in merchandise operations within the Social Commerce and E-Commerce sectors, in which my task was refining pricing strategies, stock forecasting, and delivering comprehensive sales performance insights.

However, I've always been curious and have a strong desire to learn about technology and IT. I’ve recently embarked on a Quality Assurance Engineer mini boot camp where I learned to create detailed test cases, delved into basic programming in Java, and learned tools like Postman for API testing and Katalon for automation.

Transitioning into the realm of Quality Assurance excites me greatly. I'm eager to apply these newfound skills to gain hands-on experience and kickstart a fulfilling career in this field πŸš€.

πŸ‘¨β€πŸ’» Course

Quality Assurance Engineer
online course by Digital Skola
Learn essential skills to become a QA Engineer, covering software testing, the software test lifecycle, API manual testing, and hands-on reporting.
Certificate link

Technologies used:

Git Java Postman Karatelabs Junit5 Selenium TestNG Katalon JMeter



πŸ“„ CV

For more detailed information about my work experience, please download my CV.

πŸ§‘β€πŸ­ Projects

Test Case and Bug Report

  • Test Case for The Check Data feature
  • Creating Bug report when the user clicks the continue button directs to a 404 page

Example work, please check the Google Sheet here

API Test

Basic API Test With POSTMAN

In this project, our task was to develop API test cases using the POST / GET / DELETE methods. Additionally, for demonstration purposes, we utilized the Swagger Petstore within the user section.

  • POST : in this example, I'm sending a JSON body that contains the details of the new user and expect a response body and a 200 OK response status code

    Screenshot_1

  • GET : This method is to retrieve information or a resource from a server, with the JSON data that we created

    Screenshot_2

  • DELETE : With this method, we can delete the user data that we previously created. Included the username parameter in the URL.

    Screenshot_3

I've created an example of an API test results template using a spreadsheet.

API Test with Karate-JUnit5 Framework

Our task was to develop an API automation script utilizing the POST / GET / DELETE methods. For writing tests, we employed Java programming language and the Karate-JUnit5 Framework. Karate, an open-source test automation tool, facilitates tests authored in the Behaviour Driven Development (BDD) style. In our demonstration, we interact with the Swagger Petstore within the user section. Here is an example script:

Feature: User List

  Background: Setup
    Given url baseURL
    And print "--Create User Data--"

  Scenario: Create User With List
    * def body =
    """
    {
        "id": 100,
        "username": "blackout123",
        "firstName": "blackout",
        "lastName": "decepticon",
        "email": "[email protected]",
        "password": "password123",
        "phone": "080989999",
        "userStatus": 1
    }
    """
    * def header = {Accept: 'application/json'}

    When path "/user/createWithList"
    And request body
    And headers header
    And method post
    Then status 200
    And print response
    And match response == {code:200, type:'unknown', message:'ok'}

Behaviour-Driven Development (BDD) is a software development and testing approach that bridges the gap between technical and non-technical teams.

By integrating Karate with JUnit 5, we can write and execute Karate tests within the JUnit 5 framework, an example of using the JUnit Runner and .html reports that Karate outputs.

l3LOnEAlvF

Feel free to explore my repository for more details on utilizing the Karate framework and configuring dependencies.

Web Automation Testing

Basic Test Case Assertion

selenium

In this project, our objective is to create a scenario focusing on testing the login functionality of a web application. We're utilizing Selenium WebDriver and the TestNG framework for this task. To showcase the demonstration, we're interacting with herokuapp.com.

The test navigates to a login page, performs login actions, and verifies the login was successful by getting the element with xpath then expect if the element contains a "Secure Area" text. Here's an example:"

@Test
public void loginTest(){
    // Open Browser
    WebDriverManager.firefoxdriver();
    driver = new FirefoxDriver();
    // open the browser fullscreen
    driver.manage().window().maximize();
    driver.get("https://the-internet.herokuapp.com/login");
    WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));

    // Login
    wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("username")));
    // find element by id, name, xpath
    driver.findElement(By.id("username")).sendKeys("tomsmith");
    driver.findElement(By.name("password")).sendKeys("SuperSecretPassword!");
    driver.findElement(By.xpath("//button[@class='radius']")).click();
    // verifies the login was successful if the element contain "Secure Area" text
    String txtActualBerhasilLogin =  driver.findElement(By.xpath("//h2[contains(.,'Secure Area')]")).getText();
    String txtExpectedBerhasilLogin =  "Secure Area";
    Assert.assertEquals(txtActualBerhasilLogin, txtExpectedBerhasilLogin);

IyC6N1y0Iw

This is an example of the Negative Test Case for a failed login page, expected text that contains
"Your password is invalid!"

failedLogin

visit my repository for more web automation project

  • Yopmail-Extract-Text, This project focuses on extracting content from webpages utilizing the <iframe> switch.

  • Web-Automation-Assignment, This repository is a web automation project that applies Object-Oriented Programming (OOP) principles.

Katalon Web Automation

The project involves creating web automation using Katalon, focusing on demoblaze for the demo web. The tasks include writing scenarios for signing up, signing in, and purchasing items up to the payment stage. This is an example of running a Parallel Test:

katalon (1)

For more detailed information, please visit my repository for Katalon Web Automation

Repository

Explore more of my work examples on my GitHub profile

Releases

No releases published

Packages

No packages published