πŸ’‘ If you like this website, please share it with your friends and network! πŸš€

TS Fundamentals

Core TypeScript Principles

Playwright is uniquely tailored for TypeScript. To write robust automation scripts, you need to master these core concepts.

πŸ’‘ Pro Tip
πŸ’» Practice Editor: We have built a browser-based Sandbox where you can run and modify these examples!

1. Simple Types (Primitives)

Primitives like string, number, and boolean. You can define them explicitly or let TS infer them.

typescript

// Explicit Type Declaration

let username: string = "AdminUser";

let maxRetries: number = 3;

let isLoggedIn: boolean = true;

// Type Inference (Recommended)

let defaultTimeout = 5000; // TS knows this is a number!

2. Conditionals (if/else)

Conditionals are used to make decisions in your automation scripts, such as checking if a specific element exists before clicking it.

typescript

const userRole = "admin";

if (userRole === "admin") {

console.log("Navigating to Admin Dashboard");

} else if (userRole === "editor") {

console.log("Navigating to Editor Panel");

} else {

console.log("Navigating to User Profile");

}

3. Loops (for & while)

Loops are essential for Data-Driven Testing (e.g., iterating over multiple users or extracting text from a list of elements).

typescript

console.log("--- Standard For Loop ---");

for (let i = 1; i <= 3; i++) {

console.log(Running Test Iteration: ${i});

}

console.log("--- For...of Loop (Arrays) ---");

const testUsers = ["alice@test.com", "bob@test.com"];

for (const user of testUsers) {

console.log(Logging in with: ${user});

}

4. Arrays and Objects

Arrays hold lists of data, and Objects store key-value pairs.

typescript

// Array of strings

const usernames: string[] = ["admin", "guest", "testUser"];

// Object definition

const testConfig = {

headless: true,

browser: "chromium",

timeout: 30000

};

console.log(Selected browser is ${testConfig.browser} with timeout ${testConfig.timeout}ms);

5. Tuples & Enums

Tuples** are fixed-length arrays. **Enums are named constants, perfect for defining environments or roles.

typescript

// Tuple: [x, y] coordinates

const mousePosition: [number, number] = [100, 250];

// Enum: Strict options

enum Env { QA, PROD }

let currentEnv: Env = Env.QA;

if (currentEnv === Env.QA) {

console.log("Testing on QA environment");

}

    CareerRaah: The Ultimate Interview Preparation Platform