前面我们可以成功启动浏览器啦~,接下来我们完成第一个自动化测试的脚本
举例:验证打开的链接是Selenium官网页面
分析问题:我们输入了一个url,然后打开网页,那么怎么确定这个页面是我们想要的页面呢?
- 获取页面的url是不是与输入的一致
- 获取页面的标题,是不是我们期待的结果
- 在页面找一个特征元素,这个特征元素能够代表是该网站。
等等,有许多办法去验证。
下面的代码就用页面的title来作为我们判断的依据。
package com.ming.Selenium;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class FirstScript {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe");
//实例浏览器
WebDriver driver = new ChromeDriver();
//浏览器最大化
driver.manage().window().maximize();
//跳转到selenium官网
driver.get("https://www.selenium.dev/");
//title
try {
String Selnium_title = "Selenium";
assert Selnium_title == driver.getTitle();//
System.out.println("pass");
} catch (Exception e) {
e.printStackTrace();
}
//关闭浏览器
driver.quit();
}
}
这里有一个小坑:
如果你直接复制上面代码运行
将String Selnium_title = "Selenium" 改为String Selnium_title = "Sel";
你会发现还会将pass打印出来
经过查找过资料 asser有一个小坑:
assert关键字需要在运行时候显式开启才能生效,否则你的断言就没有任何意义。
而现在主流的Java IDE工具默认都没有开启-ea断言检查功能。
这就意味着你如果使用IDE工具编码,调试运行时候会有一定的麻烦。
并且,对于Java Web应用,程序代码都是部署在容器里面,你没法直接去控制程序的运行。
如果一定要开启-ea的开关,则需要更改Web容器的运行配置参数。这对程序的移植和部署都带来很大的不便。
-ea开关在
Run > Edit Configurations>选中当前类 > Configuration > VM options:
下面文章主要介绍WebDiver的一些常见接口或者方法的使用