本篇介绍,自动化测试中关于断言部分,可能经常遇到的场景。从一个字符串中找出一组数字。这个就需要用到字符串切片函数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(); } }