2013-10-28 82 views
0

我在NUnit上運行IE和Chrome webdrivers的測試套件。但是當我想嘗試無頭幻影(Ghostdriver)的時候,我無法讓它執行我想要執行的動作。使用Selenium Webdriver時,我需要爲PhantomJS啓用JavaScript嗎?

與簡單的東西有問題,如

[TestFixture] 
class PhantomJSTest{ 

    protected IWebDriver driver; 

    [SetUp] 
    public void Setup() { 
     driver = new PhantomJSDriver(@"..\..\..\.."); 
    } 

    [Test] 
    public void PhantomTest() { 
     driver.Navigate().GoToUrl(adress); 
     driver.FindElement(selector).Click(); 
    } 

    [TearDown] 
    public void Teardown() { 
     driver.Close(); 
     driver.Quit(); 
    } 
} 

當點擊進行一些應該在我的數據庫進行設置,所以回到那個頁面時手動我應該能夠看到它。 NUnit測試本身設置成功,但操作從未發生。當試圖根據早先的行動做某事時,這是特別明顯的。任何幫助,將不勝感激! =)

回答

0

我建議你以下活動:

1)儘量基於phantomJs重振與節點(-s您的硒集線器)。

2)嘗試使用,而不是

driver.Navigate().GoToUrl(adress); 

這一個:

driver.get(URL); 
driver.findElement(selector).click(); 

3)也看到phantomJs文檔來獲取所有phantomJs功能:

GhostDriver額外的功能

  • phantomjs.page.settings.SETTING = VALUE - 在 PhantomJS內部頁面對象(WebDriver上下文中的窗口)上配置page.settings。 Reference
  • phantomjs.page.customHeaders.HEADER = VALUE - 在加載URL時添加額外的HTTP標頭 。 Reference

PhantomJSDriver(Java的結合)能力

  • phantomjs.binary.path - 指定路徑PhantomJS可執行以使用
  • phantomjs.ghostdriver.path - 指定路徑GhostDriver主/ SRC。 js 腳本使用;允許使用不同版本的GhostDriver然後 在PhantomJS
  • phantomjs.cli.args所述一個嵌入 - 指定命令行參數傳遞給 PhantomJS可執行
  • phantomjs.ghostdriver.cli.args - 指定命令行參數到 傳球GhostDriver

更多詳細資料(與 phantomjs.ghostdriver.path只能在串聯),可以得到在GhostDriver page

還通過看10。此信息可能對您有所幫助。

希望這可以幫助你。

相關問題