自动化测试Java+Selenium小试牛刀
创始人
2025-05-30 08:06:52
0

近日自动化测试在项目中开始推行,于是翻看起来,前期有篇(自动化测试之selenium小试牛刀)介绍Python环境下如何自动化测试,本期主要介绍Java环境下的自动化测试过程。

第一步、环境准备

1)浏览器驱动
驱动下载:可在官网 下载(selenium驱动官网)或者是直接在 googleapis 下载谷歌浏览器驱动(chromedriver)
2)Java 包
jar 下载地址:selenium-release
从 googleapis 下载谷歌浏览器驱动如下图所示。注意:驱动与实际浏览器版本要匹配。本次选择 111.0.5563.41 版本
在这里插入图片描述
Java包从selenium-release 下载,本次选择版本为 selenium-java-3.9.0 和 selenium-server-standalone-3.9.0
在这里插入图片描述

第二步、新建项目与导入包

新建项目 Java Project,在项目右键 -> Build Path -> Configure Build Path。
在这里插入图片描述
弹出窗体,选择LibrariesAdd External JARs,将下载的 selenium-java-3.9.0 下的libs文件夹中内容选中。
在这里插入图片描述
同样将 selenium-server-standalone 包导入,否则无法驱动谷歌浏览器。
在这里插入图片描述

第三步、新建测试类并运行

程序逻辑:
加载浏览器驱动,去调用网站,如百度。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class seleniumTest {
public static void main(String [] args){// 读取驱动文件System.setProperty("webdriver.chrome.driver","D:/software/learn/chromedriver_win32/chromedriver.exe");// 加载驱动WebDriver driver = new ChromeDriver();driver.get("http://www.baidu.com");}
}

右键- 运行 Run As -> Java Application ,运行成功则弹出百度首页,执行结果如下所示。
在这里插入图片描述

第四步、元素定位

selenium 常用页面定位方式如下:
1)id 定位
2)name 名字定位
3)className 类名定位、
4)linkText 链接定位,根据页面的链接进行点击、跳转等操作。
5)partialLinkText 部分链接定位
6)cssSelector css定位,#元素
7)xpath 定位
8)tag 定位
格式driver.findElement(By.id(“id名”)).sendKeys(“赋值的内容”);
以美团登录页为例,测试各种定位的使用

public static void main(String [] args){System.setProperty("webdriver.chrome.driver","D:/software/learn/chromedriver_win32/chromedriver.exe");WebDriver driver = new ChromeDriver();// driver.get("http://www.baidu.com");// 美团登录地址driver.get("https://passport.meituan.com/account/unitivelogin");// id 定位driver.findElement(By.id("login-email")).sendKeys("coder");// name 定位driver.findElement(By.name("email")).sendKeys("coder-name");// className定位,可取部分属性进行定位driver.findElement(By.className("f-text")).sendKeys("coder-className");// linkText 超链接,可点击跳转driver.findElement(By.linkText("免费注册")).click();// partialLinkText 部分超链接driver.findElement(By.partialLinkText("注册")).click();// css 定位driver.findElement(By.cssSelector("#login-email")).sendKeys("coder-css");// tag 定位driver.findElement(By.tagName("body")).getAttribute("class");// xpath 定位driver.findElement(By.xpath("//*[@id=\"login-email\"]")).sendKeys("coder-xpath");// xpath 定位-有空格元素driver.findElement(By.xpath("//*[@class=\"f-text phone-input\"]")).sendKeys("coder-space");}

id 定位方式进行页面数据填充,实现效果如下所示。
在这里插入图片描述

以上就是 Java + selenium 进行简单自动化测试的过程。

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...