2017-02-01 59 views
0

我有一個引導工具提示由jquery通過驗證添加。我需要在Selenium上測試它(Tooltip它自己不會被Selenium彈出)。我嘗試了所有的方式,但沒有運氣。Selenium Tooltip Mouseover無法正常工作

我使用Firefox 51v。和Maven版本:

<dependency> 
    <groupId>org.seleniumhq.selenium</groupId> 
    <artifactId>selenium-java</artifactId> 
    <version>2.53.0</version> 
    <scope>test</scope> 
</dependency> 

HTML代碼:

<input id="ele-id" class="text-right red-tooltip" maxlength="10" ng-change="validateFun()" data-original-title="" title="" type="text"> 

在Javascript中:

$('#ele-id').tooltip({title: 'Must be between 0 and 1', placement: 'right'}); 

和我的Java測試代碼:

WebElement element = driver.findElement(By.id("ele-id")); 
String initialVal = element.getAttribute("value"); 
element.clear(); 
element.sendKeys("-1"); 
//element.click(); 
Actions action = new Actions(driver); 
//action.moveToElement(element).build().perform(); 
action.clickAndHold(element).perform(); 
//JavascriptExecutor executor = (JavascriptExecutor)driver; executor.executeScript("arguments[0].click();", element); 
Thread.sleep(2000); 
WebElement toolTipElement = driver.findElement(By.className("tooltip")); 
String toolTipText = toolTipElement.getText(); 
Assert.assertEquals("Must be between 0 and 1", toolTipText); 

我道歉更多的代碼,我在這裏粘貼,評論代碼,我也試過。

+0

因此,當您單擊元素或當您將鼠標懸停在像stackoverflow站點上的標籤時,會出現工具提示。 –

+0

@GaurangShah - 是的,當我手動將鼠標移到文本框上時,會出現提示框。同時手動測試時間我把它帶起來測試案例是成功的。 –

+0

我的問題是,你需要一個點擊或鼠標懸停工具提示? –

回答

0

我做了無焦點的又一次焦點的元素,這樣我可以能夠閱讀工具提示。

JavascriptExecutor executor = (JavascriptExecutor)driver; executor.executeScript("document.getElementById('ITEM_SMOOTHING_DEFAULT-value').blur();"); 
executor.executeScript("document.getElementById('ITEM_SMOOTHING_DEFAULT-value').focus();"); 
WebElement toolTipElement = driver.findElement(By.className("tooltip")); 
0

嘗試鼠標懸停事件

Actions actions = new Actions(driver); 
actions.moveToElement(element); 
actions.perform(); 
+0

org.openqa.selenium.UnsupportedCommandException:POST/session/fca599f1-d041-4eb3-b532-4fe8ce7968b8/moveto與已知命令不匹配 –

+0

針對此問題的任何解決方法? –

+1

@Rajesh在webdriver中有一個問題,但它是爲geckodriver。 https://github.com/SeleniumHQ/selenium/issues/3287 –