2017-03-20 10 views
1

私はSelenium WebDriver 2で自動化されたテストケースを作成しています。Selenium WebDriverがFireFoxを開いたときに自動的にFireBugが開くように、コードが設定されています。数秒後、私はセレンにもう一度それを閉じるように頼みます。なんらかの理由で、私がこれをしなければ、FireBugを後で利用できないことがあります。Webコンソール(FireBugなど)がJava言語で開いているかどうかを確認する方法はありますか?

問題: TestNGスイートを使用してテストスイートを実行すると、いくつかのテストケースがFireBugを開くことになりますが、もう一度閉じることはありません。私の推測では、これはすでに開いている既存のブラウザウィンドウによるものです。 「close FireBug code」はFireBugを閉じるのではなくFireBugを開くために悪用されます。

このため、FireBugが開いているかどうかを確認したい場合は、閉じてください。

オープニングコード:放火犯を閉じ

String firebugPath = TO_Constant.fireBug(); 
FirefoxProfile profile = new FirefoxProfile();  
profile.addExtension(new File(firebugPath)); 
profile.setPreference("extensions.firebug.showFirstRunPage", false); 
profile.setPreference("extensions.firebug.allPagesActivation", "on"); 
driver = new FirefoxDriver(profile); 

コード:

Actions action = new Actions(driver); 
action.sendKeys(Keys.F12).build().perform(); 

私はwindow.consoleを使用して、JavaScriptでこれを実行する方法を見つけることができます。 javaのような何かをする方法はありますか?

答えて

0
console.log('is DevTools open?', window.devtools.open); 

また、イベントに耳を傾けることができます。

window.addEventListener('devtoolschange', function (e) { 
    console.log('is DevTools open?', e.detail.open); 
}); 

デベロッパーツールがドッキングされたときにそれは動作しません。しかし、Chrome/Safari/FirefoxのDevToolsとFirebugで動作します。

答えはSindre Sorhusであり、ここから取得されました! Find out whether Chrome console is open

関連する問題