【测试开发之路】Java & Selenium自动化

这篇具有很好参考价值的文章主要介绍了【测试开发之路】Java & Selenium自动化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、概述与入门

1、Selenium介绍

​ 使用前需要下载浏览器对应的Driver,Selenium提供了EdgeDriver和ChromiumDriver两种驱动类。需要安装与本机浏览器版本相同的驱动。

​ EdgeDriver下载地址:Microsoft Edge WebDriver - Microsoft Edge Developer

​ ChromiumDriver下载地址:CNPM Binaries Mirror (npmmirror.com)

2、导入Maven库

(1)Selenium
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.4.0</version>
</dependency>

(2)TestNG[用于单元测试]
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>7.4.0</version>
    <scope>test</scope>
</dependency>

3、TestNG的使用

​ 参考博客:https://blog.csdn.net/lovedingd/article/details/106784561

​ TestNG是一个java中的开源自动化测试框架,其灵感来自JUnit和NUnit,TestNG还涵盖了JUnit4整个核心的功能,但引入了一些新的功能,使其功能更强大,使用更方便。

​ 其常用注解有:BeforeTest、Test、AfterTest、BeforeClass、AfterClass等

4、第一个Selenium的程序

​ 我们编写了一个单元测试类,通过@Test注解来标注测试方法。

public class TestCase {
    @Test
    public void openURL(){
        //获取driver路径
        Path driverPath = Paths.get("src","driver","msedgedriver.exe");
        //设置程序环境
        System.setProperty("webdriver.edge.driver",driverPath.toAbsolutePath().toString());
        WebDriver driver = new EdgeDriver();
        driver.get("https://www.baidu.com");
    }
}

​ 这里要注意msedgedriver.exe的位置是src/driver/msedgedriver.exe。

二、元素定位方式

​ 通过EdgeDriver的实例化对象的findElement()方法来获取相应的元素,并执行操作。

1、id属性定位

​ 这里通过By.id(“string”)的方式来获取元素,并执行了sendKeys(“文本内容”)和click()两种操作。

@Test
public void getElementById(){
	webDriver.get("https://www.baidu.com");
	webDriver.findElement(By.id("kw")).sendKeys("未来村村长");
	webDriver.findElement(By.id("su")).click();
}

2、name属性定位

webDriver.findElement(By.name("wd")).sendKeys("未来村村长");

3、class属性定位

webDriver.findElement(By.className("s_ipt")).sendKeys("未来村村长");

4、XPath定位⭐

​ XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航。其常用表达式如下:

表达式 描述
nodename 选取此节点的所有子节点
/ 从根节点选取
// 从任意位置进行匹配
@ 选取属性
[] 表示谓语,用于查询某个指定值的节点
* 匹配任何元素节点
@* 匹配任何属性节点
webDriver.findElement(By.xpath("//*[@id=\"kw\"]")).sendKeys("未来村村长");

​ 浏览器检查-选中元素标签-右键-复制-复制xpath可快速获取XPath路径。

三、事件

1、鼠标滑动

​ 首先需要实例化Actions对象,然后传入WebDriver对象。先找到相应的元素,存储到WebElement对象中,然后通过actions实例化对象去模拟鼠标事件[moveToElement],再执行相应动作,最后需要perform来开始执行动作。

public void getElementById(){
	webDriver.get("https://www.baidu.com");
	Actions actions = new Actions(webDriver);
	WebElement element1 = webDriver.findElement(By.xpath("//*[@id=\"s-top-left\"]/div/a"));
	actions.moveToElement(element1);
	WebElement element2 = webDriver.findElement(By.xpath("//*[@id=\"s-top-more\"]/div[3]/a[3]/img"));
	actions.moveToElement(element2).click();
	actions.perform();
}

2、浏览器窗口切换

​ 浏览器窗口切换首先需要通过webDriver的getWindowHandle()方法获取窗口定位字符串,然后通过webDriver的switchTo().window(定位字符串)进行切换。

@Test
public void getElementById(){
	webDriver.get("https://www.baidu.com");
	String baidu = webDriver.getWindowHandle();
	webDriver.findElement(By.xpath("//*[@id=\"s-top-left\"]/a[3]")).click();
	Set<String> windows = webDriver.getWindowHandles();
	webDriver.switchTo().window(baidu);
}

3、iframe窗口切换

​ 当网页内嵌了iframe时,需要先切换到相应的iframe才能执行操作。iframe页面也是一个WebElement元素,可以通过findElement()方法获取,然后通过switchTo().frame(iframe)进行切换。

WebElement iframe = webDriver.findElement(By.id("iframe-id"));
webDriver.switchTo().frame(iframe);

4、设置等待时间

(1)最长等待时间

​ 当页面加载较慢时,我们可以先进行等待,该等待使后序操作执行回旋,直到执行成功则放弃等待时间。文章来源地址https://www.toymoban.com/news/detail-531973.html

webDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
(2)确定等待时间
WebDriverWait wait = new WebDriverWait(webDriver,Duration.ofSeconds(10));
WebElement element = wait.until(ExceptedConditions.presenceOfElementLocated(By.id("xxx")));

到了这里,关于【测试开发之路】Java & Selenium自动化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java + Selenium + Appium自动化测试

    一、启动测试机或者Android模拟器(Genymotion俗称世界上最快的模拟器,可自行百度安装) 二、启动Appium(Appium环境安装可自行百度) 三、安装应用到Genymotion上,如下图我安装一个计算机的小应用,包名为CalcTest.apk 安装步骤:(基于Android SDK已经配置好了环境变量,可自行百

    2024年02月07日
    浏览(41)
  • 保姆级自动化测试教程(Selenium+java)

    自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。 自动化测试包括 UI自动化 , 接口自动化 , 单元测试自动化 。 单元测试 :最大的投入应该在单元测试上

    2024年02月12日
    浏览(41)
  • Java + Selenium + Appium手机自动化测试

    一、启动测试机或者Android模拟器(Genymotion俗称世界上最快的模拟器,可自行百度安装) 二、启动Appium(Appium环境安装可自行百度)   三、安装应用到Genymotion上,如下图我安装一个计算机的小应用,包名为CalcTest.apk 安装步骤:(基于Android SDK已经配置好了环境变量,可自行

    2024年02月06日
    浏览(50)
  • selenium自动化测试教程——java爬取数据

    selenium 是一个用于自动化测试 Web 应用的工具集 ,它可以模拟用户自动去浏览器网页上进行点击、输入、选择下拉值复选框、鼠标移动、任意 JavaScript 执行等等操作。 selenium 有三个产品: Selenium WebDriver:基于浏览器的回归自动化套件和测试,你可以使用 Java、Python、JavaScri

    2024年02月14日
    浏览(46)
  • selenium+java自动化测试环境搭建mac

    一、官网下载selenium Downloads | Selenium    下载之后的文件如下 二、下载谷歌浏览器驱动,驱动版本和浏览器版本一致、下面是我的谷歌浏览器版本  谷歌浏览器下载地址 CNPM Binaries Mirror  下载完成如下:

    2023年04月08日
    浏览(47)
  • selenium浏览器自动化测试【基于java】

    Selenium 是一个用于Web应用程序的自动化测试工具。它直接运行在浏览器中,可以模拟用户在浏览器上面的行为操作。 chrome.exe 默认安装位置:C:Program FilesGoogleChromeApplicationchrome.exe 结果我的在:C:Users91073AppDataLocalGoogleChromeApplicationchrome.exe 。。。为啥? 下载驱动 最新

    2024年02月04日
    浏览(50)
  • Selenium之路: UI自动化测试的必备指南

    自动化测试指软件测试的自动化,可以使用软件工具或脚本来执行测试任务的过程,以替代人工进行重复性、繁琐或耗时的测试活动;是将人为驱动的测试行为转化为机器执行的过程 。 自动化测试包括 UI 自动化,接口自动化,单元测试自动化。 Selenium 是 Web 应用中基于 UI

    2024年04月22日
    浏览(61)
  • 13.4web自动化测试(Selenium3+Java)

    一.定义  用来做web自动化测试的框架. 二.特点 1.支持各种浏览器. 2.支持各种平台(操作系统). 3.支持各种编程语言. 4.有丰富的api. 三.工作原理 四.搭环境 1.对照Chrome浏览器版本号,下载ChromeDriver,配置环境变量,我直接把.exe文件放在了jdk安装路径的bin文件夹下了(jdk配置了环境变量

    2024年02月08日
    浏览(39)
  • 软件测试自动化Java篇【Selenium+Junit 5】

    为什么选择selenium作为我们的web自动化测试工具? 开源免费 支持多浏览器 支持多系统 支持多语言【Java,Python,C#,Rubby,JavaScript,Kolin】 selenium包提供了很多可供测试使用的API Chrome浏览器 Chrome驱动【驱动器版本要和浏览器版本对应越详细越好】 然后把驱动包放在安装jdk的

    2024年01月18日
    浏览(49)
  • java+selenium自动化测试之8大常用定位方法

    定位元素:Selenium能够模拟用户去浏览器页面上执行对应(输入,点击,清除,提交)等操作,它是凭什么方式去寻找到页面的元素?Selenium没有视觉、听觉等。Selenium通过在页面上寻找元素位置,找到元素后,然后对元素进行相应的操作,Selenium寻找元素位置的方法,称之为

    2024年04月27日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包