如何检查Web元素是否在左上角

时间:2019-06-09 16:01:07

标签: java selenium junit assert

我必须检查徽标是否显示在左上角。我下载了元素的位置,但不知道如何在JUnit中编写断言。

Point loc = driver.findElement(By.className("hdr_logo")).getLocation();

位置为(0,128)

检查x和y是否小于200是个好主意吗?

1 个答案:

答案 0 :(得分:0)

您需要获取浏览器窗口的尺寸:

int winHeight = driver.manage().window().getSize().getHeight();
int winWidth = driver.manage().window().getSize().getWidth();

然后,您需要获取Web元素的位置和大小:

WebElement logo = driver.findElement(By.className("hdr_logo"));
int xPos = logo.getLocation().getX();
int yPos = logo.getLocation().getY();
int eleHeight = logo.getSize().getHeight();
int eleWidth = logo.getSize().getWidth();

为了检查它是否在屏幕的左上象限中,最右下角的像素必须在浏览器窗口高度和宽度的一半范围内:

Assert.assertTrue((xPos + eleWidth) <= winWidth/2) && (yPos + eleHeight) <= winHeight/2), "Logo is NOT in the upper left quadrant");