《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)

简介: 【4月更文挑战第21天】本文介绍了Selenium中处理特殊测试场景的方法,如鼠标悬停。Selenium的Actions类提供了鼠标悬停功能,用于模拟用户在网页元素上的悬停行为。文中通过实例展示了如何使用Actions悬停并展开下拉菜单,以及在搜索时选择自动补全的字段。代码示例包括了打开百度首页,悬停在“更多”元素上显示下拉菜单并点击“音乐”,以及在搜索框输入关键词并自动补全的过程。

1.简介

  有些测试场景或者事件,Selenium根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作。比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某一个元素上方,然后会出现下拉子菜单,第二种就是在搜索输入过程,选择自动补全的字段。关于鼠标悬停,selenium把这个方法放在了Actions.java文件中,先来看看鼠标悬停出现下拉菜单的情况。

2.鼠标悬停出现下拉菜单

  鼠标悬停出现下拉菜单,顾名思义就是:鼠标悬停在某一元素上出现下拉菜单。

2.1项目实战

  宏哥这里用百度首页的更多元素,悬停出现拉来菜单,然后点击“音乐”为例进行实战。

2.2代码设计

  代码设计如下:

 

2.3参考代码

  参考代码如下:

package lessons;


import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.interactions.Actions;

import org.openqa.selenium.support.ui.ExpectedConditions;

import org.openqa.selenium.support.ui.WebDriverWait;


/**

* @author 北京-宏哥

*

* 《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)

*

* 2021年9月26日

*/

public class ActionMusic {


   public static void main(String[] args) throws InterruptedException {


       System.setProperty("webdriver.gecko.driver",".\\Tools\\chromedriver.exe"); // 指定驱动路径

       WebDriver driver = new ChromeDriver();

       // 最大化窗口

       driver.manage().window().maximize();

       // 打开百度首页

       driver.get("http://wwww.baidu.com");

       // 声明一个Action对象

       Actions action = new Actions(driver);

       // 鼠标移动到 更多产品 上

       action.moveToElement(driver.findElement(By.xpath("//a[text()='更多']")))

               .perform();

       // 显示等待时间10s 等 全部产品>> 出现

       WebDriverWait w = new WebDriverWait(driver, 10);

       w.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By

               .xpath("//a[text()='查看全部百度产品 >']")));

       // 等待的元素出现后点击 音乐

       WebElement cp = driver.findElement(By.xpath("//a/div[text()='音乐']"));

       cp.click();

   }

}

2.4运行代码

1.运行代码,右键Run AS->java Application,控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作,如下小视频所示:

3.搜索输入过程,选择自动补全的字段

  在搜索框输入关键词后,后提示相关内容,然后将其补全进行搜索。

3.1项目实战

  宏哥这里就以百度搜索为例,进行实战。

3.2代码设计

  代码设计如下:

3.3参考代码

   参考代码如下:

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;

import org.openqa.selenium.interactions.Actions;


/**

* @author 北京-宏哥

*

* 《手把手教你》系列技巧篇(二十九)-java+ selenium自动化测试- Actions的相关操作上篇(详解教程)

*

* 2021年9月26日

*/

public class SearchOpration {

   

   public static void main(String[] args) throws Exception {


       System.setProperty("webdriver.chrome.driver",".\\Tools\\chromedriver.exe");


       WebDriver driver = new ChromeDriver();


       driver.manage().window().maximize();


       driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);


       driver.get("https://www.baidu.com/");


       Thread.sleep(1000);


       // 设置

       WebElement inputbox = driver.findElement(By.id("kw"));

       inputbox.sendKeys("selenium a");


       // 自动补全其中一个选择项

       WebElement auto_text = driver.findElement(By.xpath("//*[@id='form']/div/ul/li[@data-key='selenium appium']"));


       Actions action = new Actions(driver);

       action.moveToElement(auto_text).click().perform();

   }

}

3.4运行代码

1.运行代码,右键Run AS->java Application,控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作,如下小视频所示:

4.小结

  好了时间也不早了,Actions类中鼠标悬停方法就介绍到这里。提前祝大家、小伙伴和童鞋们国庆节快乐!!!



每天学习一点,今后必成大神-

往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问):

Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试

Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南

Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架

Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架

Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程

Fiddler工具从基础->进阶->高级,费时100多天吐血整理出这一份全网超详细的入门到精通教程

Pycharm工具基础使用教程

相关文章
|
15小时前
|
监控 安全 网络协议
社会工程渗透测试教程(一)(4)
社会工程渗透测试教程(一)
9 1
|
15小时前
|
存储 安全 物联网
社会工程渗透测试教程(一)(3)
社会工程渗透测试教程(一)
7 0
|
15小时前
|
安全 JavaScript 物联网
社会工程渗透测试教程(一)(2)
社会工程渗透测试教程(一)
7 0
|
15小时前
|
存储 安全 网络安全
社会工程渗透测试教程(一)(1)
社会工程渗透测试教程(一)
9 1
|
16小时前
|
安全 Oracle 关系型数据库
社会工程渗透测试教程(四)(4)
社会工程渗透测试教程(四)
7 1
|
15小时前
|
存储 安全 网络安全
社会工程渗透测试教程(四)(3)
社会工程渗透测试教程(四)
10 1
|
15小时前
|
存储 安全 网络安全
社会工程渗透测试教程(四)(2)
社会工程渗透测试教程(四)
10 2
|
15小时前
|
存储 自然语言处理 安全
社会工程渗透测试教程(四)(1)
社会工程渗透测试教程(四)
9 1
社会工程渗透测试教程(四)(1)
|
15小时前
|
存储 安全 网络安全
社会工程渗透测试教程(三)(4)
社会工程渗透测试教程(三)
12 2
|
15小时前
|
安全 网络协议 Linux
社会工程渗透测试教程(三)(3)
社会工程渗透测试教程(三)
8 2

热门文章

最新文章