Bird
Raised Fist0
Selenium Javatesting~20 mins

Element dimensions and location in Selenium Java - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Element Dimensions & Location Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of getSize() method?
Consider the following Selenium Java code snippet:

WebElement element = driver.findElement(By.id("sample"));
Dimension size = element.getSize();
System.out.println(size.getWidth() + "," + size.getHeight());

Assuming the element's width is 150 pixels and height is 75 pixels, what will be printed?
Selenium Java
WebElement element = driver.findElement(By.id("sample"));
Dimension size = element.getSize();
System.out.println(size.getWidth() + "," + size.getHeight());
A150,75
B75,150
CSize(width=150, height=75)
DWidth:150 Height:75
Attempts:
2 left
💡 Hint
getWidth() returns the width in pixels, getHeight() returns the height in pixels.
❓ assertion
intermediate
2:00remaining
Which assertion correctly verifies element location?
You want to verify that a web element is located at x=200 and y=100 on the page. Which assertion correctly checks this using Selenium Java?
Selenium Java
WebElement element = driver.findElement(By.id("locationElement"));
Point location = element.getLocation();
AassertTrue(location.getX() == 100 && location.getY() == 200);
BassertEquals(200, location.getX()); assertEquals(100, location.getY());
CassertEquals(new Point(100, 200), location);
DassertNotNull(location);
Attempts:
2 left
💡 Hint
Check the x and y coordinates separately with expected values.
❓ locator
advanced
2:00remaining
Which locator best ensures stable element location for dimension checks?
You need to locate a button whose position and size you want to test. The button has dynamic classes but a stable aria-label attribute 'Submit Form'. Which locator is best for stable element dimension and location testing?
ABy.className("btn-primary")
BBy.xpath("//button[contains(@class, 'btn')]")
CBy.cssSelector("button[aria-label='Submit Form']")
DBy.id("submitBtn")
Attempts:
2 left
💡 Hint
Choose locator that is stable and unique for the element.
🔧 Debug
advanced
2:00remaining
Why does getLocation() return (0,0) unexpectedly?
You run this code:

WebElement element = driver.findElement(By.id("hiddenElement"));
Point location = element.getLocation();
System.out.println(location.getX() + "," + location.getY());

The output is '0,0' but you expect different coordinates. What is the most likely reason?
AThe driver has a bug and always returns (0,0) for getLocation().
BThe element's id is incorrect, so getLocation() returns (0,0).
CThe element is not visible or is hidden, so location defaults to (0,0).
DThe element is inside an iframe and getLocation() returns (0,0) without switching frames.
Attempts:
2 left
💡 Hint
Check if the element is inside an iframe or frame.
❓ framework
expert
3:00remaining
How to design a reusable test method for verifying element size and location?
You want to create a reusable Java method in your Selenium test framework that verifies an element's width, height, x, and y coordinates against expected values. Which method signature and assertion approach is best?
A
public void verifyElementDimensions(WebElement element, int expectedWidth, int expectedHeight, int expectedX, int expectedY) {
  Dimension size = element.getSize();
  Point location = element.getLocation();
  assertEquals(expectedWidth, size.getWidth());
  assertEquals(expectedHeight, size.getHeight());
  assertEquals(expectedX, location.getX());
  assertEquals(expectedY, location.getY());
}
B
public boolean verifyElementDimensions(WebElement element, int width, int height, int x, int y) {
  return element.getSize().getWidth() == width && element.getSize().getHeight() == height && element.getLocation().getX() == x && element.getLocation().getY() == y;
}
C
public void verifyElementDimensions(WebElement element, Dimension expectedSize, Point expectedLocation) {
  assertTrue(element.getSize().equals(expectedSize) && element.getLocation().equals(expectedLocation));
}
D
public void verifyElementDimensions(WebElement element, int width, int height) {
  Dimension size = element.getSize();
  assertEquals(width, size.getWidth());
  assertEquals(height, size.getHeight());
}
Attempts:
2 left
💡 Hint
Include all four parameters and assert each separately for clear failure messages.

Practice

(1/5)
1. Which Selenium WebDriver method is used to get the position of a web element on the page?
easy
A. getAttribute()
B. getSize()
C. getText()
D. getLocation()

Solution

  1. Step 1: Understand the purpose of getLocation()

    This method returns the coordinates (x, y) of the element on the page.
  2. Step 2: Compare with other methods

    getSize() returns width and height, getText() returns visible text, and getAttribute() returns attribute values.
  3. Final Answer:

    getLocation() -> Option D
  4. Quick Check:

    Position = getLocation() [OK]
Hint: Position = getLocation(), size = getSize() [OK]
Common Mistakes:
  • Confusing getLocation() with getSize()
  • Using getText() to find position
  • Expecting getAttribute() to return coordinates
2. Which of the following is the correct Java syntax to get the width of a WebElement named element?
easy
A. int width = element.getLocation().getX();
B. int width = element.getSize().getHeight();
C. int width = element.getSize().getWidth();
D. int width = element.getLocation().getY();

Solution

  1. Step 1: Identify method to get size

    getSize() returns a Dimension object with width and height.
  2. Step 2: Get width from Dimension

    Use getWidth() on the Dimension object to get the width.
  3. Final Answer:

    int width = element.getSize().getWidth(); -> Option C
  4. Quick Check:

    Width = getSize().getWidth() [OK]
Hint: Width is from getSize().getWidth(), not getLocation() [OK]
Common Mistakes:
  • Using getLocation() to get width
  • Mixing width and height methods
  • Calling getHeight() when width is needed
3. Given the following code snippet, what will be printed if the element's location is (50, 100) and size is width=200, height=150?
Point location = element.getLocation();
Dimension size = element.getSize();
System.out.println("X: " + location.getX() + ", Y: " + location.getY());
System.out.println("Width: " + size.getWidth() + ", Height: " + size.getHeight());
medium
A. X: 50, Y: 100 Width: 200, Height: 150
B. X: 100, Y: 50 Width: 150, Height: 200
C. X: 0, Y: 0 Width: 200, Height: 150
D. X: 50, Y: 100 Width: 150, Height: 200

Solution

  1. Step 1: Understand getLocation() output

    It returns a Point with x=50 and y=100 as given.
  2. Step 2: Understand getSize() output

    It returns Dimension with width=200 and height=150 as given.
  3. Final Answer:

    X: 50, Y: 100 Width: 200, Height: 150 -> Option A
  4. Quick Check:

    Location and size match output [OK]
Hint: Print location x,y then size width,height directly [OK]
Common Mistakes:
  • Swapping x and y values
  • Swapping width and height values
  • Assuming default (0,0) location
4. Identify the error in the following code snippet that tries to get the height of a WebElement named element:
int height = element.getLocation().getHeight();
medium
A. getLocation() does not have getHeight() method
B. getHeight() should be getWidth()
C. element should be cast to Dimension first
D. No error, code is correct

Solution

  1. Step 1: Check getLocation() return type

    It returns a Point object which has getX() and getY(), but no getHeight().
  2. Step 2: Correct method to get height

    Height is obtained from element.getSize().getHeight(), not from getLocation().
  3. Final Answer:

    getLocation() does not have getHeight() method -> Option A
  4. Quick Check:

    Height = getSize().getHeight() [OK]
Hint: Height comes from getSize(), not getLocation() [OK]
Common Mistakes:
  • Calling getHeight() on Point object
  • Confusing getWidth() and getHeight()
  • Assuming getLocation() returns size info
5. You want to verify that a button is fully visible on the page by checking its location and size. The viewport width is 1024 and height is 768. Which condition correctly checks that the button is fully inside the viewport using Selenium Java methods on button element?
hard
A. button.getLocation().getX() < 0 || button.getLocation().getY() < 0
B. button.getLocation().getX() >= 0 && button.getLocation().getY() >= 0 && button.getLocation().getX() + button.getSize().getWidth() <= 1024 && button.getLocation().getY() + button.getSize().getHeight() <= 768
C. button.getSize().getWidth() > 1024 && button.getSize().getHeight() > 768
D. button.getSize().getWidth() == 0 || button.getSize().getHeight() == 0

Solution

  1. Step 1: Check button's top-left corner inside viewport

    Ensure X and Y coordinates are >= 0.
  2. Step 2: Check button's bottom-right corner inside viewport

    Sum of X + width must be <= viewport width (1024), and Y + height <= viewport height (768).
  3. Final Answer:

    button.getLocation().getX() >= 0 && button.getLocation().getY() >= 0 && button.getLocation().getX() + button.getSize().getWidth() <= 1024 && button.getLocation().getY() + button.getSize().getHeight() <= 768 -> Option B
  4. Quick Check:

    Check corners inside viewport using location + size [OK]
Hint: Check top-left ≥0 and bottom-right ≤ viewport size [OK]
Common Mistakes:
  • Checking only size without location
  • Using OR instead of AND in conditions
  • Ignoring viewport boundaries
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