selenium webdriver 悬停事件调查整理!!

本文介绍了在自动化测试中如何处理使用JavaScript实现的悬停事件,特别是针对AngularJS页面。通过Selenium WebDriver的Actions类、jQuery的mouseover()以及JavaScript的click()方法进行了尝试和解决方案分享。
摘要由CSDN通过智能技术生成

Duang!duangduang!把文章改成了原创,因为在群里得到了一个朋友的support, 所以有了这个解决方案,在我的gui 上面可以完美解决,列出来给大家做参考。



<span style="white-space:pre">	</span>     mouseElement(By.xpath("//*[@id='904100']/span"), By.xpath("//*[@id='904130']/span") );
<pre name="code" class="java">
 public WebDriver mouserElement(WebDriver driver,By by1,By by2)
{
 Actions actions = new Actions(driver);
//点击主菜单
actions.moveToElement(driver.findElement(by1)).perform();
//JS脚本,点击二级菜单
  WebElement men_element = driver.findElement(by2);
  JavascriptExecutor  JS =(JavascriptExecutor)driver;
  JS.executeScript("arguments[0].click();", men_element);
  return driver;
}

 

=======================================================================================================

以下部分为网上各类方法 转载过来 大多都试过, 我都失败了

========================================================================================================

自动化测试过程中,由于javascript的使用,我们常常需要点击一些鼠标经过显示的菜单等元素,这时需要触发该元素的鼠标经过事件。使用WebDriver有以下两种实现。
1.使用Action

Java代码
  1. public void moveToElement(WebDriver driver, By locator) {   
  2.     Actions builder = new Actions(driver);   
  3.     builder.moveToElement(driver.findElement(locator)).perform();   
  4. }  

2.使用Sendkey
Java代码
  1. public void moveToElement(WebDriver driver, By locator) {   
  2.         driver.findElement(locator).sendKeys(Keys.DOWN);   
  3. }  

说明:具体使用什么key,可以根据实际情况变化。例如左侧菜单可能是使用右箭头可以呼出子菜单。则应该使用Keys.RIGHT

Webdriver操作是很迅速的,假如一次moveTo你无法看到或者是无法进行操作,可以加上循环便可以达到效果。

========================================================================================================

Selenium Webdriver 处理隐藏元素的问题

2013年02月25日  ⁄ 综合 ⁄ 共 379字 ⁄ 字号      ⁄ 评论关闭
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值