一般测试场景鼠标悬停分两种常见:
第一种是鼠标悬停在某一个元素上方,然后会出现下拉子菜单;
第二种就是在搜索输入过程,选择自动补全的字段。
关于鼠标悬停,selenium把这个方法放在了Actions.java文件中,先来看看鼠标悬停出现下拉菜单的情况。
package rjcs;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Set;
import org.openqa.selenium.interactions.Actions;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
import org.testng.annotations.Test;
import org.openqa.selenium.*;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import org.openqa.selenium.OutputType;
import com.thoughtworks.selenium.SeleneseTestNgHelper;
public class ckqhh
{
public static void main(String[] args)
{
System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); //设置火狐的安装路径,防止系统找不到
FirefoxDriver driver = new FirefoxDriver(); //初始化FireFox浏览器实例,并打开浏览器
try
{
driver.manage().window().maximize(); //最大化窗口
Thread.sleep(3000);
driver.manage().window().maximize(); //最大化窗口
Thread.sleep(3000);
driver.get("https://www.baidu.com/");
Thread.sleep(5000);
WebElement settings = driver.findElement(By.xpath("//*[@id='u1']/a[8]")); // 设置
Actions action = new Actions(driver);
action.moveToElement(settings).perform();
Thread.sleep(5000);
driver.findElement(By.linkText("高级搜索")).click();
Thread.sleep(5000);
}catch (Exception e)
{
e.printStackTrace();
}finally
{
driver.quit();
}
}
}
================================================================================================================
package rjcs;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Set;
import org.openqa.selenium.interactions.Actions;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
import org.testng.annotations.Test;
import org.openqa.selenium.*;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import org.openqa.selenium.OutputType;
import com.thoughtworks.selenium.SeleneseTestNgHelper;
public class ckqhh
{
public static void main(String[] args)
{
System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); //设置火狐的安装路径,防止系统找不到
FirefoxDriver driver = new FirefoxDriver(); //初始化FireFox浏览器实例,并打开浏览器
try
{
driver.manage().window().maximize(); //最大化窗口
Thread.sleep(3000);
driver.manage().window().maximize(); //最大化窗口
Thread.sleep(3000);
driver.get("https://www.baidu.com/");
Thread.sleep(5000);
driver.findElement(By.id("kw")).sendKeys("selenium a");
Thread.sleep(5000);
// 自动补全其中一个选择项
WebElement auto_text = driver.findElement(By.xpath("//*[@id='form']/div/ul/li[@data-key='selenium api']"));
Actions action = new Actions(driver);
action.moveToElement(auto_text).click().perform();
Thread.sleep(5000);
}catch (Exception e)
{
e.printStackTrace();
}finally
{
driver.quit();
}
}
}
来源:oschina
链接:https://my.oschina.net/u/4276852/blog/4181036