PhantomJS + Selenium Webdriver:单击按钮

时间:2016-06-05 19:07:56

标签: javascript java selenium phantomjs

我正在使用Selenium WebDriver + TestNG为twitter编写trsts。 我的测试在Chrome,FireFox和IE中完美运行,但是当我尝试在PhantomJS中运行它时出现问题:

点击“Tweet”按钮,显示New Tweet Popup的div元素变为可见。这在PhantomJS中不会发生

代码如下:

 headerBlock.clickTweetButton();
//Waiting for New Tweet Popup visible - this is where test fails
 waitForNewTweetPopupVisible();
 newTweetPopup.addNewTweet(text);

//Code for used methods
public NewTweetPopup waitForNewTweetPopupVisible() {
    waitForElementVisible(15, newTweetPopup);
    Reporter.log("<p>Wait for newTweetPopup visibility</p>");
    return newTweetPopup;
}

protected void waitForElementVisible(int timeout, WebElement element) {
    WebDriverWait wait = new WebDriverWait(driver, timeout);
    wait.until(ExpectedConditions.visibilityOf(element));
}

public void clickTweetButton() {
    click(tweetButton);
    Reporter.log("<p>Click tweetButton</p>");
}
protected void click(WebElement elem) {
    waitForElementVisible(15, elem);
    elem.click();
}

测试失败时拍摄的屏幕截图确认弹出窗口从未显示过。

我认为问题是当点击PhantomJS中的按钮时,弹出div的javascript不会触发。

有人有任何建议如何克服这个问题吗?

0 个答案:

没有答案