Skip to main content

How to Handle File Upload using Playwright Java

 Purpose 

  • When performing website testing, validating file upload functionality is crucial as users need to upload documents and images, such as in job portals, eCommerce websites, cloud storage systems, and others.
  • Automating this process ensures reliability and efficiency in testing these functionalities, and automated testing tools like Playwright provide effective solutions for this task. In this blog, we delve into how to handle file upload in Playwright, exploring techniques to handle file upload and automate file upload functionality.


Playwright – File Upload

  • You can select input files for upload using the Locator.setInputFiles() method. 
  • It expects first argument to point to an input element with the type "file". 
  • Multiple files can be passed in the array.
  •  If some of the file paths are relative, they are resolved relative to the current working


Playwright Method to  File Upload

// Select one file
page.locator("(//input[@type='file'])[1]").setInputFiles(Paths.get("myfile.pdf"));

// Select multiple files
page.locator("(//input[@type='file'])[1]").setInputFiles(new Path[] {Paths.get("file1.txt"), Paths.get("file2.txt")});

Example ::


package com.example;

import com.microsoft.playwright.*;

import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;

public class FileUpload {

public static void main(String[] args) {
Playwright playwright = Playwright.create() ;
Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions()
.setHeadless(false));
Page page = browser.newPage();
//example1 "
// String url = "https://ps.uci.edu/~franklin/doc/file_upload.html";
// page.navigate(url);
// page.setInputFiles("input[name='userfile']", Paths.get("C:\\Users\\Nageswar\\Desktop\\TestPlan\\TestFileUpload.txt"));
// Example 2
String url1 = "https://www.west-wind.com/wconnect/wcscripts/fileupload.wwd";
page.navigate(url1);
// page.setInputFiles("(//input[@type='file'])[1]", Paths.get("C:\\Users\\Nageswar\\Desktop\\TestPlan\\TestFileUpload.txt"));
page.locator("(//input[@type='file'])[1]")
.setInputFiles(new Path[] { Paths.get("C:\\Users\\Nageswar\\Desktop\\TestPlan\\TestFileUpload.txt"),
Paths.get("C:\\Users\\Nageswar\\Desktop\\PFT\\Consolidate Result_01.xlsx")});

}
}

Comments

Popular posts from this blog

Step-by-Step: Launch Browser, Context, and Page in Playwright and Run Test and Configuration (JavaScript)

🎥 Setup Browser, Context, Page & Run Config Test Scripts with package.json & playwright.config.js Step-by-Step: Launch Browser, Context, and Page in Playwright and Run Test and Configuration (JavaScript) 1. Install Playwright You can install Playwright using the following command: npm init playwright@latest 2. Create a Basic Test Script Understand the core Playwright architecture: Element Description browser Controls the browser instance (like Chrome, Firefox, etc.) context Acts like a separate browser profile (cookies, localStorage are isolated) page A single browser tab where interaction happens 3. Run the Test npx playwright test example.spec.js Ways to Run TypeScript Tests Way Command Notes 🟢 Via npx npx playwright test Uses built-in TypeScript support 🟢 With s...

Understand browser, context, and page in Playwright

🎥 Playwright: Browser, Context & Page - Real-time Demo and Multi-User Testing  . 🎯 Goal: Understand browser , context , and page in Playwright 🧠 1. What is a browser ? ✅ Definition: A browser in Playwright is a launched instance of a real browser (Chromium, Firefox, WebKit) that can be used for automated testing. ✅ Purpose: It starts and controls the browser process. It is the root of your test execution. Required to create contexts and pages . ✅ Code Example: ts Copy Edit import { chromium } from 'playwright' ; const browser = await chromium. launch ({ headless : false }); 🧠 2. What is a context (browser context)? ✅ Definition: A context is like a separate browser profile (or incognito tab) inside the browser. Each context is isolated — no cookies, local storage, or sessions are shared. ✅ Purpose: Simulates multiple users or sessions. Enables parallel and isolated testing. Allows setting user-specific prefer...

How to Maximize a Browser window using Playwright Java

  Playwright itself does not have a direct maximize () method like some other browser automation tools, but you can achieve the effect by setting the viewport to the screen size of your display. Below are ways to handle Maximize a browser in Playwright Java  Ø   Setting the viewport to the screen size  o    setViewportSize(1920, 1080): This sets the browser window to a full HD resolution, effectively maximizing it. o    setHeadless(false): Ensures the browser runs in a visible mode so you can see the window being maximized.  Code Snapshot  Playwright playwright = Playwright. create ()   ;   Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false));     // Create a new browser context   BrowserContext context = browser.newContext(new Browser.NewContextOptions()          .setViewportSize(1920, 1080));     ...