Selenium常用API的使用java语言之10-获取断言信息

时间:2022-10-16 11:48:44

不管是在做功能测试还是自动化测试,最后一步需要拿实际结果与预期进行比较。这个比较的称之为断言。

我们通常可以通过获取title 、URL和text等信息进行断言。text方法在前面已经讲过,它用于获取标签对之间的文本信息。

  • getTitle(): 用于获得当前页面的title。
  • getCurrentUrl() : 用户获得当前页面的URL。
  • getText() 获取页面文本信息。

下面同样以百度为例,介绍如何获取这些信息。

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver; public class AssertDemo { public static void main(String[] args) throws InterruptedException { WebDriver driver = new ChromeDriver();
driver.get("https://www.baidu.com"); System.out.println("Search before================"); //获取当前的 title 和 url
System.out.printf("title of current page is %s\n", driver.getTitle());
System.out.printf("url of current page is %s\n", driver.getCurrentUrl()); //百度搜索
WebElement search = driver.findElement(By.id("kw"));
search.sendKeys("Selenium");
search.sendKeys(Keys.ENTER);
Thread.sleep(2000); System.out.println("Search after================"); //获取当前的 title 和 url
System.out.printf("title of current page is %s\n", driver.getTitle());
System.out.printf("url of current page is %s\n", driver.getCurrentUrl()); //获取第一条搜索结果的标题
WebElement result = driver.findElement(By.xpath("//div[@id='content_left']/div/h3/a"));
System.out.println(result.getText()); driver.quit();
}
}

打印结果:

Search before================
title of current page is 百度一下, 你就知道
url of current page is https://www.baidu.com/ Search after================
title of current page is Selenium_百度搜索
url of current page is
https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=Selenium&rsv_pq=9be
4680700a485c1&rsv_t=e925U%2F%2B9SBTqmRI%2BuARg0%2BTCzrrZWn4jOBJkb1OS2vUjMrZsq5VblQ7toD8
&rqlang=cn&rsv_enter=1&rsv_sug3=8&rsv_sug2=0&inputT=155&rsv_sug4=155
Selenium - Web Browser Automation