📫 作者简介:「子非我鱼」,专注于研究全栈
🔥 三连支持:欢迎 ❤️关注、👍点赞、👉收藏三连,支持一下博主~
1,Selenium(浏览器自动化测试框架)
Selenium [1] 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),[Mozilla Firefox](https://baike.baidu.com/item/Mozilla Firefox/3504923),Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成[ .Net](https://baike.baidu.com/item/ .Net/156737)、Java、Perl等不同语言的测试脚本。
2,phantomjs
PhantomJS官方地址:http://phantomjs.org/。
3,phantomjs小案例
<!--SpringMVC-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--WebMagic核心包-->
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-core</artifactId>
<version>0.7.4</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--WebMagic扩展-->
<dependency>
<groupId>us.codecraft</groupId>
<artifactId>webmagic-extension</artifactId>
<version>0.7.4</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.13.0</version>
</dependency>
<dependency>
<groupId>com.codeborne</groupId>
<artifactId>phantomjsdriver</artifactId>
<version>1.4.4</version>
</dependency>
// 设置必要参数
DesiredCapabilities dcaps = new DesiredCapabilities();
// 指定phantomJS浏览器的位置
dcaps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,"D:\\java\\phantomjs\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe");
PhantomJSDriver driver = new PhantomJSDriver(dcaps);
// 设置driver的访问路径
driver.get("http://www.a-hospital.com/w/%E5%85%A8%E5%9B%BD%E5%8C%BB%E9%99%A2%E5%88%97%E8%A1%A8");
List<WebElement> list = driver.findElementsByCssSelector("div");
System.out.println("总共:"+list.size());
driver.close();
4,chrome方式
1,查看chrome版本,打开浏览器输入chrome://version/
2,下载chromedriver对应版本,地址https://npm.taobao.org/mirrors/chromedriver/或http://chromedriver.storage.googleapis.com/index.html
// 创建chrome的配置信息
System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe");
ChromeOptions chromeOptions = new ChromeOptions();
// 设置为 headless 模式 (必须)
//chromeOptions.addArguments("--headless");
// 设置浏览器窗口打开大小 (非必须)
chromeOptions.addArguments("--window-size=1366,700");
// 基于配置信息创建RemoteWebriver对象
RemoteWebDriver driver = new ChromeDriver(chromeOptions);
// 使用Driver对象访问一个网站
driver.get("https://www.jd.com/");
// 使用driver控制网站的动作
driver.findElementByCssSelector("#key").sendKeys("手机");
Thread.sleep(2000);
driver.findElementByCssSelector("#search > div > div.form > button > i").click();
Thread.sleep(2000);
driver.executeScript("window.scrollTo(0,document.body.scrollHeight - 300)");
Thread.sleep(2000);
List<WebElement> list = driver.findElementsByCssSelector("li.gl-item");
System.out.println(list.size());
// 关闭浏览器
driver.close();
结论
Selenium是一个功能强大的工具,为开发者提供了自动化测试Web应用程序的便利。通过使用Java和Selenium,可以轻松模拟用户在浏览器中的操作,从而确保Web应用的可靠性和稳定性。在实际项目中,结合Selenium的各种功能和API,可以实现更复杂的自动化测试用例,提高测试覆盖率,缩短测试周期。