Javascript 幻影+;Selenium Webdriver:Element没有';单击按钮后,屏幕将不可见

Javascript 幻影+;Selenium Webdriver:Element没有';单击按钮后,屏幕将不可见,javascript,java,selenium,phantomjs,Javascript,Java,Selenium,Phantomjs,我正在使用SeleniumWebDriver+TestNG为twitter编写trsts。 我的测试在Chrome、FireFox和IE中运行得非常完美,但当我尝试在PhantomJS中运行它们时,出现了一个问题: 单击“Tweet”按钮,显示新Tweet弹出窗口的div元素变为可见。这在幻影中不会发生 代码如下: headerBlock.clickTweetButton(); //Waiting for New Tweet Popup visible - this is where test

我正在使用SeleniumWebDriver+TestNG为twitter编写trsts。 我的测试在Chrome、FireFox和IE中运行得非常完美,但当我尝试在PhantomJS中运行它们时,出现了一个问题:

单击“Tweet”按钮,显示新Tweet弹出窗口的div元素变为可见。这在幻影中不会发生

代码如下:

 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();
}
headerBlock.单击TweetButton();
//等待新的推文弹出可见-这是测试失败的地方
WaitForNewWeetPopupVisible();
newweetpopup.addnewweet(文本);
//所用方法的代码
public newweetpopup waitfornewweetpopupvvisible(){
waitForElementVisible(15,NewWeetPopup);
Reporter.log(“等待newweetpopup可见性”

”; 返回newweetpopup; } 受保护的void waitForElementVisible(int超时,WebElement元素){ WebDriverWait wait=新的WebDriverWait(驱动程序,超时); 等待直到(元素的预期条件可见度); } 公共作废clickTweetButton(){ 点击(推特按钮); Reporter.log(“点击tweet按钮”

”; } 受保护的空单击(WebElement元素){ waitForElementVisible(15,元素); 元素单击(); }
在测试失败中拍摄的屏幕截图确认弹出窗口从未显示

我认为问题在于,当点击PhantomJS中的按钮时,使popup div可见的javascript不会触发


有人对如何克服这一问题有什么建议吗?

您能发布函数的代码吗?“现在还不清楚它们是做什么的,以及它们是如何和页面交互的。”JuanCarlosCoto用所用方法的代码更新了帖子。