2016-10-21 19 views
1

JMeterプロジェクトを作成し、WebDriver Sampler(Selenium)を使用して特定のWebページ機能と対話するときの応答時間を取得しました。JMeter PhantomJS設定を使用してボタンをクリックしようとすると、JMeter Selenium Samplerがクラッシュする

私は、FirefoxとChrome Driverの両方の設定を使ってプロジェクトをテストしました。 PhantomJSを使用しようとすると、特定のボタンをクリックするとフリーズします。

私はHTMLコードを調べ、モーダルが私と対話する必要があるすべてのウェブ要素の上に座っていることを発見しました。

私はボタンに対してアサーションを行い、ボタンが存在し、表示され、有効であることを確認しました。

私はこれをどのように解決することができますか?

答えて

0

ポップアップのタイプによっては、別の方法で処理する必要があります。たとえばのように見える、JavaScript Confirm(はい/いいえ)ダイアログ:セレン及びJMeterの統合

のヒントやトリックのため The WebDriver Sampler: Your Top 10 Questions Answered記事をチェックアウト

var By = org.openqa.selenium.By 
var ExpectedConditions = org.openqa.selenium.support.ui.ExpectedConditions 
var wait=new org.openqa.selenium.support.ui.WebDriverWait(WDS.browser, 10) 

WDS.sampleResult.sampleStart() 
WDS.browser.get('http://some.url') 
WDS.browser.findElement(By.id('somebutton')).click() 
WDS.browser.executeScript('window.confirm = function(){return true;}'); 
WDS.sampleResult.sampleEnd() 

<html> 
<body> 
<input type="button" id="somebutton" value="clickme" onclick="return confirm('Hello, JMeter')"/> 
</body> 
</html> 

は次のように回避することができます

+0

ありがとうございます。これにより問題は解決されませんでしたが、原因がclickコマンドとは関係なくonclick関数であることを確認するのに役立ちました。私はonclick関数を実行するためにexecuteScriptを使いました。 Chrome Driverを使用しているときには動作しますが、PhantomJS Driverを使用すると失敗します。ここで問題は、Jmeter内でどのようにデバッグして、スクリプトがどこで失敗しているのかを特定することです。 –

関連する問題