About Me
I’m a QA Automation Engineer with a background in both manual and automated testing, skilled in prgramming languages - Java, JavaScript and Python also in automation frameworks - Selenium, and Playwright. I’ve started learning programming and web technologies since 2021. Since then, I’ve built a strong technical foundation through structured courses, personal projects, and continuous self-learning.
I specialize in developing and maintaining end-to-end automated test suites using the Page Object Model (POM). My experience also covers test case design, bug reporting, API testing, and test planning. I’ve worked independently and in teams on various projects, including almost fully automating tests.
I bring a detail-oriented and goal-driven approach to every project, with a focus on quality, scalability, and collaboration. I’m currently seeking opportunities where I can contribute to building reliable, high-quality software while continuing to grow as a QA professional.
Skills
Programming Languages
Java
✓ Core & OOP
✓ Collections & Generics
✓ Exception handling & I/O
✓ Strings, Arrays, Lists, Maps
✓ Unit tests with TestNG
✓ Maven build tools
✓ Test architecture (POM)
✓ Debugging & IDE skills
Python
✓ Core & OOP
✓ Data structures
✓ Exception handling & file I/O
✓ Pytest & unittest
✓ Test architecture (POM)
✓ Debugging & IDE skills
JavaScript
✓ Core
✓ DOM manipulation & selectors
✓ Asynchronous JS
✓ Test architecture (POM)
✓ Debugging & browser devtools
Testing Tools & Frameworks
Playwright
✓ Core & async handling
✓ Locator strategies & selectors
✓ Test runner & fixtures
✓ Cross-browser testing
✓ Parallel & headless execution
✓ Page Object Model (POM) design
✓ Debugging & tracing tools
✓ TypeScript support & typings
✓ Test retries & timeout handling
Selenium
✓ WebDriver
✓ Locator strategies
✓ Waits & synchronization
✓ Handling alerts, frames, windows
✓ Page Object Model & Page Factory
✓ TestNG integration
✓ Script optimization
Postman
✓ API request building
✓ Environment & variable management
✓ Writing tests with JavaScript
✓ Pre-request scripts
✓ Automated test collections
✓ Response validation & assertions
✓ Collections & Workspaces
Version Control
GitHub
✓ Version control basics
✓ Branching & merging strategies
✓ Pull requests & code reviews
✓ Resolving merge conflicts
✓ GitHub Actions for CI/CD
✓ Managing repositories
✓ Collaborating with teams
QA & Testing
Design Techniques
✓ Boundary Value Analysis
✓ Equivalence Partitioning
✓ Decision Table Testing
✓ Use Case Testing
Types
✓ Functional Testing
✓ Regression Testing
✓ Smoke & Sanity Testing
✓ Integration Testing
✓ Exploratory Testing
Management & Process
✓ Test Planning & Estimation
✓ Test Case Management
✓ Defect Tracking & Reporting
✓ Continuous Integration (CI)
✓ Agile & Scrum Practices
Automation Concepts
✓ Page Object Model (POM)
✓ Test Framework Design
✓ CI/CD Integration
✓ API testing
✓ UI testing
Design Techniques
✓ Boundary Value Analysis
✓ Equivalence Partitioning
✓ Decision Table Testing
✓ Use Case Testing
Types
✓ Functional Testing
✓ Regression Testing
✓ Smoke & Sanity Testing
✓ Integration Testing
✓ Exploratory Testing
Management & Process
✓ Test Planning & Estimation
✓ Test Case Management
✓ Defect Tracking & Reporting
✓ Continuous Integration (CI)
✓ Agile & Scrum Practices
Automation Concepts
✓ Page Object Model (POM)
✓ Test Framework Design
✓ CI/CD Integration
✓ API testing
✓ UI testing
Portfolio
Swag Labs
2023 Dec, 2025 JunAutomation Testing - UI
About the Project
Automated testing of the Swag Labs demo e-commerce website using Java and Selenium also TypeScript and Playwright. Implemented login, product selection, cart, and checkout test flows using Page Object Model (POM). The test cases were structured, reusable, and integrated with Maven.
Your Store
2025 MayAutomation Testing - UI
Source Code:
About the Project
Automated testing of the Your Store demo e-commerce website using TypeScript and Playwright. Implemented registration, product selection, cart, and checkout, menu, search and slides test flows using Page Object Model (POM). The test cases were structured and reusable.
Reqres
2025 AprAutomation Testing - API
Source Code:
About the Project
This project is designed to perform automated testing of the Reqres API using JavaScript and Playwright. It includes test cases for validating API endpoints, ensuring data integrity, and verifying response structures. The project is built with Node.js and leverages Playwright's powerful testing framework.
Json Place Holder
2025 AprAutomation Testing - API
Source Code:
About the Project
This project is designed to perform automated testing of the API using JavaScript and Playwright. It includes test cases for validating API endpoints, ensuring data integrity, and verifying response structures. The project is built with Node.js and leverages Playwright's powerful testing framework.
Pet Friend
2025 FebAutomation Testing - API
Source Code:
About the Project
This project is designed to perform automated testing of the API using Python and Pytest. It includes test cases for validating API endpoints, ensuring data integrity, and verifying response structures.
Rostelecom
2025 MarAutomation Testing - UI
Source Code:
About the Project
This project provides a structured with POM starting point for writing automated tests for the Rostelecom authorization process. It includes all key components required for a well-documented open-source or private project. This project is designed to perform automated testing of the UI using Python and Selenium. It includes test cases for validating registration functionality.
Personal CV Website
2025 JunWeb Development
About the Project
Designed and developed a responsive personal CV website using HTML, CSS, and JavaScript. Includes sections for skills, experience, portfolio, and interactive certificate previews. This website demonstrates frontend skills and a structured UI layout.
Swag Labs - Test Case Example
| ID | Title | Preconditions | Steps | Expected Result |
|---|---|---|---|---|
| TC001 | Login with valid credentials | User is on the login page | 1.Open site 2.Enter credentials 3.Click login |
User is logged in and redirected to dashboard |
Swag Labs - Automation Script Example
@Test
public void loginWithValidCredentials() {
loginPage.enterUsername("standard_user");
loginPage.enterPassword("secret_sauce");
loginPage.clickLogin();
Assert.assertTrue(homePage.isHeaderVisible());
}
Swag Labs - Automation Script Example
test('Checkout without authorization', async ({ page }) => {
await cart.open();
let errorMsg = await loginPage.getErrorMessage();
expect (errorMsg).toContain(`Epic sadface: You can only access
'${cart.endpoint}' when you are logged in`);
await checkout.open();
errorMsg = await loginPage.getErrorMessage();
expect (errorMsg).toContain(`Epic sadface: You can only access
'${checkout.endpoint}' when you are logged in`);
});
Your Store - Automation Script Example
test.describe('User Registration ', () => {
test.beforeEach(async ({ page }, testInfo) => {
if (testInfo.title !== 'Register with valid data')
await page.goto('?route=account/register');
});
test.describe('Invalid email format', () => {
const invalidEmails = [
'', // Empty string
'plainaddress',
'@missingusername.com',
'username@.com',
'username@domain..com',
'username@domain,com',
'username@domain.c',
]
for (let email of invalidEmails){
test(`should show error using email: ${email}`, async ({ page }) => {
const url = await page.url();
await fillForm(page, 'Lena', 'Joy', email, generatePhone(), password);
await page.getByRole('checkbox').check();
await page.getByRole('button', { name: 'Continue' }).click();
await expect(page.url()).toBe(url);
await expect(page.getByRole('heading', { name: 'Your Account Has Been Created!' })).not.toBeVisible();
});
}
});
});
Reqres - API Automation Script Example
test.describe('Create a user (POST)', () => {
test('Create a new user', async ({request}) => {
const response = await request.post('/api/users', {
data:{
name: "Morpheus",
job: "leader"
}
});
const data = await response.json();
expect(response.ok()).toBeTruthy();
expect(response.status()).toBe(201);
expect(data.name).toBe("Morpheus");
expect(data.job).toBe("leader");
expect(data).toHaveProperty('createdAt');
expect(data).toHaveProperty('id');
// Clean up the fixture.
const id = data.id;
const deleteResponse = await request.delete(`/api/users/${id}`, {});
if(deleteResponse.ok())
console.log(`User with ID ${data.id} deleted successfully`);
else
console.log(`Failed to delete User with ID ${data.id}`);
});
});
Reqres - API Automation Script Example
test('Successful post creation with valid data', async ({ request }) => {
const newPost = {
title: 'Valid Title',
body: 'This is a valid post body.',
type: 1
};
const response = await request.post('/posts', { data: newPost });
expect(response.status()).toBe(201);
const data = await response.json();
expect(data).toHaveProperty('id');
expect(data).toMatchObject(newPost);
});
Reqres - API Automation Script Example
def test_get_api_key_for_invalid_email(pf):
"""Test case to verify that an invalid email results in a 403 status code
and the API key is not returned by the server.
Args:
email (str): Invalid email address.
password (str): Valid password.
Asserts:
- The response status code is 403.
- The response does not contain an API key."""
status, result = pf.get_api_key(invalid_email, valid_password)
assert status == 403
assert not 'key' in result
Reqres - API Automation Script Example
def test_auth_page_is_available(self, web_browser):
"""Test if the authentication page is available
and the title is correct."""
auth_page = AuthPage(web_browser)
text = auth_page.title.get_text()
assert text == "Авторизация", "Wrong page title"
Education
2025 Feb 11 - 2025 Jun 4
Mastering QA Automation with Playwright
Armenian-Indian IT Center
✓ JavaScript & TypeScript
✓ Testing API
✓ Testing UI
✓ Playwright Framework
2024 Jun 13 - 2025 Mar 13
Python Automator Tester
Skill Factory
✓ Manual Testing
✓ Test Documentation
✓ SQL basics
✓ Algorithms
✓ Python & OOP
✓ Selenium Framework
✓ Testing API
✓ Testing UI
2022 Mar 1 - 2022 Aug 31
QA Automation with Java and Selenium
Gyumri IT Center
✓ Java & OOP
✓ Test Automation Fundamentals
✓ Selenium Framework
✓ Testing UI
✓ Testing API
2021 Oct 10 - 2021 Dec 10
JavaScript | HTML | CSS
Microsoft IT Center
✓ JavaScript
✓ HTML
✓ CSS
Experience
QA Automation Projects
Independent & Course-Based Projects — 2022 – Present
- Developed and executed automated test suites using Selenium (Java) and Playwright (TypeScript).
- Created and maintained Page Object Model structures for scalable testing.
- Wrote positive and negative UI & API test cases using Postman, TestNG, and Pytest.
- Used GitHub for version control and collaborative work.
Manual Testing Practice
Bug Reporting & Test Documentation
- Created clear and structured bug reports using reproducible steps.
- Developed test cases, checklists, and test plans based on product requirements.
- Tested web apps for functional, UI, and cross-browser issues.
Personal Web Development Projects
Frontend Development
- Built this personal CV website using HTML, CSS, JavaScript to showcase skills.
- Created responsive layouts and interactive elements for better user experience.