本篇介绍,自动化测试中关于断言部分,可能经常遇到的场景。从一个字符串中找出一组数字。这个就需要用到字符串切片函数split()。看看这个场景:
1. 百度搜索输入 anthony_tester csdn
2.点击查询,观察结果
3. 观察红圈元素的xpath表达式
需要做的事情是:摘取出40,100这个数字。
相关selenium自动化脚本如下
package lessons;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class StringOpration {
public static void main(String[] args) throws InterruptedException {
System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.baidu.com");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
driver.findElement(By.id("kw")).sendKeys("anthony-tester csdn");
driver.findElement(By.id("su")).click();
Thread.sleep(1000);
// 定位 百度为您找到相关结果约xxxx个 这个元素
WebElement result = driver.findElement(By.xpath("//*/div[@class='nums']"));
// 获取该字段值 "搜索工具 百度为您找到相关结果约xxxxx个"
String result_string = result.getText();
// 根据约这个词切片,取第二片字符串,应该得到“xxxx个”
String st1 = result_string.split("约")[1];
//System.out.println(st1);
//再切一次,去除个,得到我们想要的数字结果数
String search_number = st1.split("个")[0];
System.out.println(search_number);
driver.quit();
}
}