2013-02-06 56 views
0

我正在嘗試編寫Facebook應用程序的測試。我想驗證Facebook分享。 所以在我的代碼中,我可以打開共享窗口。當我點擊共享時,我想獲得Javascript響應。在這個響應中有我需要導航到發佈的共享的「post_id」。我如何能夠在Selenium中獲得此響應? 代碼選擇shareButton:WebDriver - 如何閱讀JavaScript的迴應?

WebElement shareButton = driver.findElement(By.xpath("//input[@value='Teilen']")); 

,當我做shareButton.click它會做的份額。我怎樣才能在這裏得到答覆?

THX任何幫助:)

+0

你在說什麼?它在哪裏顯示?你爲什麼需要它?它存儲在哪裏? – Arran

+0

嘿,在這裏你可以看到的fb.ui飼料對話框的文件:http://developers.facebook.com/docs/reference/dialogs/feed/ 此方法有返回數據 POST_ID \t: 的ID發佈的故事,如果用戶選擇發佈。 我需要這些數據導航到飼料使用並檢查它是否正確完成 –

回答

0

從你給它說,當收到響應它將填充<p id='msg'></p>鏈接:

function callback(response) { 
      document.getElementById('msg').innerHTML = "Post ID: " + response['post_id']; 
     } 

因此,這意味着所有你需要做的正在等待元素有東西:

WebElement myElementWithID = (new WebDriverWait(driver, 10)) 
    .until(new ExpectedCondition<WebElement>(){ 
    @Override 
    public WebElement apply(WebDriver d) { 
     return d.findElement(By.id("msg")).getText().contains("Post ID: "); 
    }}); 

一旦做到這一點剛剛從d.findElement(By.id("msg")).getText().

文字工作