Bird
Raised Fist0
Selenium Javatesting~5 mins

File upload (sendKeys to input) in Selenium Java - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the sendKeys method do when used on a file input element in Selenium?
It simulates typing the file path into the file input field, effectively selecting the file to upload without opening the file dialog.
Click to reveal answer
beginner
Why can't Selenium interact with native OS file dialogs directly?
Because Selenium controls the browser, not the operating system, so it cannot automate native dialogs like file pickers.
Click to reveal answer
beginner
Show a simple Java Selenium code snippet to upload a file using sendKeys.
WebElement uploadInput = driver.findElement(By.id("file-upload")); uploadInput.sendKeys("C:\\Users\\User\\Documents\\file.txt");
Click to reveal answer
intermediate
What is a best practice for locating the file input element for uploading files?
Use a unique and stable locator like id or name attributes to avoid flaky tests.
Click to reveal answer
intermediate
What should you verify after uploading a file using sendKeys in a test?
Verify that the file name appears in the UI or that the upload was successful by checking for confirmation messages or file presence.
Click to reveal answer
Which Selenium method is used to upload a file by setting the file path directly?
AgetText
Bclick
CsendKeys
Dsubmit
Why is it better to use id or name attributes to locate the file input element?
AThey open the file dialog automatically
BThey make the test run faster
CThey allow interacting with OS dialogs
DThey are usually unique and stable locators
What happens if you try to use click() on a file input element to upload a file in Selenium?
AIt opens the OS file dialog, which Selenium cannot control
BIt uploads the file automatically
CIt throws an error
DIt clears the file input
What is a common assertion after uploading a file using sendKeys?
ACheck that the file input is empty
BCheck that the file name is displayed on the page
CCheck that the browser URL changed
DCheck that the page title changed
Which of the following is NOT a valid locator strategy for file input elements?
ABy.osDialog
BBy.name
CBy.xpath
DBy.id
Explain how to upload a file in Selenium using sendKeys and why this method works.
Think about how Selenium interacts with the browser elements.
You got /4 concepts.
    Describe best practices for verifying a file upload in an automated test.
    Focus on what you can see on the web page after upload.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the correct way to upload a file using Selenium WebDriver in Java?
      easy
      A. Use getText() on the file input element to upload the file.
      B. Use click() on the file input element and then type the file name.
      C. Use executeScript to set the file content directly.
      D. Use sendKeys on the file input element with the full file path.

      Solution

      1. Step 1: Understand file upload in Selenium

        File upload requires sending the full file path to the file input element using sendKeys.
      2. Step 2: Identify correct method usage

        Only sendKeys accepts the file path string to upload the file; other methods do not perform upload.
      3. Final Answer:

        Use sendKeys on the file input element with the full file path. -> Option D
      4. Quick Check:

        File upload = sendKeys with full path [OK]
      Hint: Always use sendKeys with full file path to upload files [OK]
      Common Mistakes:
      • Trying to click and type file name manually
      • Using getText() which only reads text
      • Using executeScript to set file content
      2. Which of the following is the correct syntax to upload a file located at C:\files\test.txt using Selenium WebDriver in Java?
      easy
      A. driver.findElement(By.id("fileUpload")).sendKeys("C:\\files\\test.txt");
      B. driver.findElement(By.id("fileUpload")).click().sendKeys("C:/files/test.txt");
      C. driver.findElement(By.id("fileUpload")).sendKeys("test.txt");
      D. driver.findElement(By.id("fileUpload")).setText("C:\files\test.txt");

      Solution

      1. Step 1: Use sendKeys with full absolute path

        The file input requires the full absolute path with escaped backslashes in Java strings.
      2. Step 2: Check syntax correctness

        driver.findElement(By.id("fileUpload")).sendKeys("C:\\files\\test.txt"); correctly escapes backslashes as double backslashes and uses sendKeys on the element.
      3. Final Answer:

        driver.findElement(By.id("fileUpload")).sendKeys("C:\\files\\test.txt"); -> Option A
      4. Quick Check:

        Escape backslashes and use sendKeys [OK]
      Hint: Escape backslashes in Windows paths and use sendKeys [OK]
      Common Mistakes:
      • Using relative file name without full path
      • Using click() before sendKeys
      • Using non-existent setText() method
      3. What will be the result of the following code snippet if the file path is correct and the element is found?
      WebElement upload = driver.findElement(By.name("uploadFile"));
      upload.sendKeys("/home/user/docs/sample.pdf");
      String value = upload.getAttribute("value");
      System.out.println(value);
      medium
      A. Prints the full file path: /home/user/docs/sample.pdf
      B. Prints the file name only: sample.pdf
      C. Throws NoSuchElementException
      D. Prints an empty string

      Solution

      1. Step 1: Understand getAttribute("value") on file input

        After sendKeys, the value attribute usually contains only the file name, not full path, for security reasons.
      2. Step 2: Analyze output of System.out.println(value)

        The printed output will be the file name part: sample.pdf, not the full path or empty string.
      3. Final Answer:

        Prints the file name only: sample.pdf -> Option B
      4. Quick Check:

        getAttribute("value") returns file name [OK]
      Hint: getAttribute("value") on file input returns file name only [OK]
      Common Mistakes:
      • Expecting full file path printed
      • Assuming empty string is returned
      • Confusing NoSuchElementException with normal behavior
      4. You wrote this code to upload a file:
      driver.findElement(By.id("fileInput")).sendKeys("docs/report.pdf");

      But the file is not uploading. What is the most likely reason?
      medium
      A. The file path is relative; sendKeys requires the full absolute path.
      B. sendKeys cannot be used on file input elements.
      C. The locator By.id("fileInput") is invalid syntax.
      D. You must call click() before sendKeys to upload.

      Solution

      1. Step 1: Check file path usage in sendKeys

        sendKeys requires the full absolute file path, not a relative path like "docs/report.pdf".
      2. Step 2: Verify other options

        sendKeys works on file inputs; locator syntax is correct; click() before sendKeys is not needed.
      3. Final Answer:

        The file path is relative; sendKeys requires the full absolute path. -> Option A
      4. Quick Check:

        Use absolute path in sendKeys [OK]
      Hint: Always provide absolute file path to sendKeys [OK]
      Common Mistakes:
      • Using relative file paths
      • Thinking click() is required before sendKeys
      • Misunderstanding locator syntax
      5. You want to verify that a file upload succeeded after using sendKeys. Which approach is best to confirm the upload in your Selenium test?
      hard
      A. Use getText() on the file input element to see the file name.
      B. Check the file input's value attribute for the full file path.
      C. Check for a success message or confirmation element on the page after upload.
      D. Assume upload succeeded if no exception was thrown during sendKeys.

      Solution

      1. Step 1: Understand verification after file upload

        File input's value attribute does not reliably confirm upload; success message or page change is best evidence.
      2. Step 2: Evaluate options for confirming upload

        Checking UI confirmation or success message ensures upload succeeded; relying on no exception or input value is unreliable.
      3. Final Answer:

        Check for a success message or confirmation element on the page after upload. -> Option C
      4. Quick Check:

        Verify upload by success message presence [OK]
      Hint: Confirm upload by checking success message or page change [OK]
      Common Mistakes:
      • Relying on input value attribute for confirmation
      • Assuming no exception means success
      • Using getText() on file input which returns empty
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard