From 55d4831383045ad25c2a395ec1364ae65a4010a1 Mon Sep 17 00:00:00 2001 From: sameermanzur Date: Thu, 25 Sep 2025 12:00:05 +1000 Subject: [PATCH 1/3] Add files via upload --- index.html | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 index.html diff --git a/index.html b/index.html new file mode 100644 index 0000000..2e020cd --- /dev/null +++ b/index.html @@ -0,0 +1,95 @@ + + + + + + LinkedIn Automation Testing Project + + + +
+

LinkedIn Automation Testing Project

+ +
+
+
+

Project Overview

+

This project automates outreach activities on LinkedIn using a combination of Playwright and TestNG. The goal is to simplify the process of connecting with recruiters by automating login, searching for recruiters, composing personalised messages and verifying successful delivery. This page summarises the test plans, cycles and strategies used in the project as documented in my Notion workspace.

+
+
+

Test Plan

+

The test plan acts as the anchor for all testing activities. It defines the objectives, scope, schedule and deliverables for each test type:

+
    +
  • Functional & System Test Plan: Verify the end-to-end flow from reading an Excel file to sending a message. Cycles include smoke tests on every commit, core end‑to‑end tests before Monday runs and weekly edge‑case tests. Entry criteria: environment set up, Excel data prepared, framework ready. Exit criteria: 100 % smoke pass, ≥95 % end‑to‑end pass, high‑severity issues resolved.
  • +
  • Regression Test Plan: Ensure new changes don’t break core flows. Nightly light regression and full regression before release. Exit criteria: ≥95 % pass rate with no high‑severity defects.
  • +
  • User Acceptance Test Plan: Validate business fit with a real recruiter list. A dry run on Friday and a live run on Monday. Exit criteria: 100 % targeted messages sent, no LinkedIn warnings.
  • +
  • Performance & Reliability Test Plan: Validate timing, throughput and stability under different load levels (e.g., 10/50/100 recruiters). KPIs include total runtime, per‑message latency and retry rates.
  • +
+
+
+

Test Cycles

+

Test cycles are structured to map back to project scope and ensure thorough coverage:

+
    +
  • Cycle A – Smoke & Happy Path: Quick validation of core flow – login → search → message.
  • +
  • Cycle B – Component Regression – Login: Positive and negative authentication cases (valid login, invalid login, blank fields, expired token).
  • +
  • Cycle B – Component Regression – Search: Validate recruiter search and filtering (valid search, filters, invalid names, empty queries, pagination).
  • +
  • Cycle B – Component Regression – Messaging: Validate messaging with attachments and duplicates (valid message, empty message, duplicate message, attachments).
  • +
  • Cycle C – End‑to‑End UAT Flow: Business‑driven journey: Excel import → search → compose & send message → confirm delivery.
  • +
+
+
+

Test Strategies

+

Multiple strategies were designed to cover different outreach scenarios on LinkedIn:

+
    +
  • Strategy 1 – Search‑Based Outreach: Read recruiter name and message from Excel, log in, search for the recruiter, open the profile, send a message and log out.
  • +
  • Strategy 2 – Direct URL Navigation: Use a recruiter profile URL from Excel, log in, navigate directly to the profile, send a message and log out.
  • +
  • Strategy 3 – API‑Based Profile Fetch: (Future scope) Use LinkedIn or third‑party APIs to fetch profiles and then send messages.
  • +
  • Strategy 4 – Hybrid Method: Combine search‑based and direct navigation to handle cases where one method fails.
  • +
  • Strategy 5 – Connection Filter: Target contacts within the existing network by filtering LinkedIn connections.
  • +
+

Separate test suites correspond to each strategy (Suite A: search & send, Suite B: direct profile messaging, Suite C: hybrid, Suite D: API‑based). This modular structure makes it easier to assign tasks, track coverage and map defects to specific areas.

+
+
+

Framework & Tools

+

The automation framework leverages Playwright for browser automation and TestNG for test orchestration. Key features include:

+
    +
  • Structured tests using @Before, @Test and @After hooks.
  • +
  • Parallel execution to reduce runtime.
  • +
  • Data‑driven tests with Excel integration.
  • +
  • Automatic report generation with pass/fail status and logs.
  • +
  • Retry logic and annotations for flaky tests.
  • +
+
+
+

Insights & Best Practices

+
    +
  • Not every test case should be automated. Focus on repetitive regression tests, stable requirements and high‑value functionality. Leave exploratory or low‑priority negative paths for manual testing.
  • +
  • Balance coverage with maintainability and ROI; aim to automate 60–70 % of core functionalities.
  • +
  • Use smoke and sanity cycles to quickly validate critical flows before moving to deeper regression and UAT cycles.
  • +
  • Group test files by feature (e.g., login.spec.ts, search.spec.ts) and use tags (smoke, regression, exploratory) to filter tests.
  • +
+
+
+ + + From dbe992117ce41e697d21dfa857bbfc71a83766f2 Mon Sep 17 00:00:00 2001 From: sameermanzur Date: Thu, 25 Sep 2025 17:39:50 +1000 Subject: [PATCH 2/3] Add files via upload --- _config.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 _config.yml diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..0162f6e --- /dev/null +++ b/_config.yml @@ -0,0 +1,15 @@ +title: LinkedIn Automation Testing +email: your-email@example.com +description: >- # this means to ignore newlines until "social" + A portfolio site for the LinkedIn Automation Testing project. +baseurl: "" # the subpath of your site, e.g. /blog +url: "" # the base hostname & protocol for your site + +# Build settings +markdown: kramdown +theme: jekyll-theme-cayman +# Remove the line above and choose any supported GitHub Pages theme, such as +# jekyll-theme-minimal, jekyll-theme-midnight, etc. + +# Defaults +# Add any custom collections or defaults here From 742dbd7c5d1ad036d3bbcdf12702d3ee9a1d49da Mon Sep 17 00:00:00 2001 From: sameermanzur Date: Thu, 25 Sep 2025 17:45:14 +1000 Subject: [PATCH 3/3] Add files via upload --- portfolio_template.html | 119 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 portfolio_template.html diff --git a/portfolio_template.html b/portfolio_template.html new file mode 100644 index 0000000..09c6a8d --- /dev/null +++ b/portfolio_template.html @@ -0,0 +1,119 @@ + + + + + + LinkedIn Automation Testing Portfolio + + + + +
+

LinkedIn Automation Testing

+

Automating recruiter outreach on LinkedIn with Playwright & TestNG. Explore test plans, cycles, strategies and learnings from this project.

+
+
+

Project Overview

+

This project aims to streamline recruiter outreach on LinkedIn. It automates login, search, message composition and verification using Playwright and TestNG. By combining data-driven execution with robust reporting, the framework accelerates testing and increases coverage.

+
+
+

Test Plans

+
+
+

Functional & System

+

End-to-end flows from Excel import to message delivery. Entry criteria include environment set-up and data readiness. Exit criteria require 100 % smoke pass and ≥95 % end-to-end pass【583227582491469†L117-L130】.

+
+
+

Regression

+

Validate that new changes don’t break existing functionality. Incorporates nightly smoke runs and pre-release full regression with a ≥95 % pass rate【583227582491469†L170-L174】.

+
+
+

User Acceptance

+

Business-focused runs with real recruiter lists. Dry run on Friday and live pilot on Monday. Success measured by targeted messages sent and the absence of warnings【583227582491469†L170-L174】.

+
+
+

Performance & Reliability

+

Benchmark throughput and stability at various batch sizes (e.g., 10/50/100 recruiters). Exit when KPIs for runtime, per-message latency and retry rates are achieved.

+
+
+
+
+

Test Cycles

+
    +
  • Cycle A – Smoke & Happy Path: Validate login → search → message【583227582491469†L117-L130】.
  • +
  • Cycle B – Component Regression (Login): Positive & negative auth tests.
  • +
  • Cycle B – Component Regression (Search): Validate search logic, filters and pagination.
  • +
  • Cycle B – Component Regression (Messaging): Test messaging scenarios including attachments and duplicates.
  • +
  • Cycle C – End-to-End UAT: Business-driven journey from Excel import to sending confirmation【583227582491469†L117-L130】.
  • +
+
+
+

Strategies & Suites

+

Different tactics for reaching recruiters:

+
    +
  • Search-Based Outreach: Search by name, navigate to profile, send message【111509204381349†L29-L43】.
  • +
  • Direct URL Navigation: Use recruiter profile URL to bypass search【111509204381349†L35-L43】.
  • +
  • API-Based Profile Fetch: Future scope: fetch profiles via API.
  • +
  • Hybrid Method: Combine search & URL navigation to improve reliability.
  • +
  • Connection Filter: Target contacts within existing network.
  • +
+

Suites correspond to each strategy (A: search & send, B: direct profile messaging, C: hybrid, D: API-based), ensuring targeted coverage【111509204381349†L45-L49】.

+
+
+

Framework & Tools

+
    +
  • Playwright for browser automation and TestNG for orchestration.
  • +
  • Hooks (@Before, @Test, @After) and parallel execution.
  • +
  • Data-driven via Excel, with automatic report generation.
  • +
  • Retry logic and annotations to handle flaky tests.
  • +
+
+
+

Insights & Best Practices

+
    +
  • Automate repetitive, high-value and regression-prone tests; keep exploratory or low-priority negative cases manual【583227582491469†L178-L183】.
  • +
  • Balance automation coverage with maintainability and ROI; target 60–70 % automation【583227582491469†L178-L183】.
  • +
  • Use smoke & sanity cycles to validate critical flows before deeper regression and UAT.
  • +
  • Organise test files by feature (login.spec.ts, search.spec.ts) and tag them (smoke, regression, exploratory).
  • +
+
+ + +