1

ブラウザを開いてwww.google.comにナビゲートする簡単なフィクスチャを作成しようとしています。私はwikiページを実行すると、すべての緑を渡しますが、ブラウザは決して開きません(私はこのメソッドがwikiによって呼び出されるとは思わない)。誰かが私のフィクスチャとwikiを見て、私が間違っていることを見ることができますか?フィクスチャここフィットネスのウィキがセレンメソッドを正しく呼び出せません

!|SeleniumFitnesse| java.lang.NoSuchMethodError: org.openqa.selenium.remote.service.DriverCommandExecutor.<init>(Lorg/openqa/selenium/remote/service/DriverService;Ljava/util/Map;)V 
|URL |The instance decisionTable_4.setURL. does not exist|navigateToSite? 
|http://www.google.com|!The instance decisionTable_4.navigateToSite. does not exist | 

される - - あなたのようにいくつかの良い提言を取得している

package FitNesseConcept.fitNesse; 

import java.util.Properties; 

import org.junit.BeforeClass; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.testng.annotations.BeforeMethod; 

//import com.google.common.base.Preconditions.*; 
//import com.google.common.collect.Lists; 

import fit.ColumnFixture; 

public class SeleniumFitnesse extends ColumnFixture { 

public static ChromeDriver driver = null; 
private String navigateToSite = ""; 
public String URL = ""; 



    public SeleniumFitnesse() { 

    Properties props = System.getProperties(); 

    props.setProperty("webdriver.chrome.driver", "/home/ninad/eclipse-workspace/chromedriver"); 

    driver = new ChromeDriver(); 
    } 



// SET-GET Methods 

public String getURL() { 
    return URL; 
} 

public void setURL(String uRL) { 
    URL = uRL; 
} 

public String getNavigateToSite() { 
    return navigateToSite; 
} 

public void setNavigateToSite(String navigateToSite) { 
    this.navigateToSite = navigateToSite; 
} 

// Navigate to URL 

public void navigateToSite() throws Throwable { 
    System.out.println("Navigating to Website"); 

    try { 
     driver.navigate().to(URL); 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } 

} 



} 
+0

独自の(さらに別の)Selenium FitNesse統合を作成する特別な理由は何ですか? http://fitnesse.org/PlugIns#slimfixturesで利用可能なプラグインをチェックしましたか? –

+0

なぜFitカラムフィクスチャを書くのですか、何らかの形式のデシジョンテーブルを作成しますか?コードとwikiを見ると、テーブルが表すと思われるものを完全には理解できません。テーブルを使用してページを開くなどの手順を順番に実行する場合は、Slimテストランナーに切り替えてスクリプトテーブル(http://fitnesse.org/FitNesse.FullReferenceGuide.UserGuide.WritingAcceptanceTests)を使用することをお勧めします.SliM.ScriptTable)。あなたの現在のコードは、JUnitの 'BeforeMethod'アノテーションを使用します。これは、FitNesseコンテキストで何かを意味するものではありません。 –

+0

ありがとうございます。私はslimfixtureプラグインを認識していませんでした。あなたは私のEclipseプロジェクトにそれらをインポートする方法のステップで私にステップを与えることができます。 Maven依存関係を追加するのと同じくらい簡単ですか?そうでない場合、瓶はどこにありますか?多くのありがとう(fyi - 私はこのすべてで初心者ですが、私はキュウバーに慣れていますが、私が働いている会社はフィットネスを求めています)。 – noMoreMutants

答えて

1

!|SeleniumFitness| 
    |URL     |navigateToSite?| 
    |http://www.google.com|    | 

実行後 - 事前に多くのおかげで、ここで

はウィキですコメント - しかしあなたの質問に直接答えるために、あなたが書いたものである古いスタイルのColumnFixtureのために、私はthod "navigateToSite"は実際に呼び出されません。

これらのスタイルのフィクスチャはもはや頻繁には使用されません。スリムが推奨され、ドキュメントのフィットネスインスタンスにスリムスタイルの使い方が表示されます。しかし、あなたが書いたようにカラムフィクスチャーのために、メソッドを呼びたい場合は "?"にする必要があります。ヘッダー行のメソッドの名前に従います。あなたが誤って使用してカラムの固定具は、たとえ古いスタイルを付与されている http://fitnesse.org/FitNesse.UserGuide.FixtureGallery.BasicFitFixtures.ColumnFixture

は、列の固定具のための基本的なドキュメントを参照してください。列フィクスチャのパターンは「ここでは入力を表す一連の列です。ここでは出力とチェック結果を取得するためのメソッド呼び出しがあります。ウェブサイトをナビゲートすることは、しばしばそのパターンに適合しません。ますFitnesse古いスタイルでは、それはおそらくActionFixtureにより近づくことになります。新しいスリムスタイル、ナビゲーションのために良いフィット感で

http://fitnesse.org/FitNesse.UserGuide.FixtureGallery.BasicFitFixtures.ActionFixture

、あなたがどこにあるかチェックするシナリオ表になります。一般的に

http://www.fitnesse.org/FitNesse.UserGuide.WritingAcceptanceTests.SliM.ScenarioTable

ウィキを通じてwebdriverを/ Seleniumテストをやって、それはあなたの最高のメディアだかどうかについての余分な思考の価値があります。 Fitnesseは、ビジネス要件を文書化して検証するためのコラボレーションツールとして、ソースコードに対して直接的に設計されています。

|url|navigateToUrl?| 
|www.google.com| | 

java class: 
public String url; 

public void navigateToUrl() { 
} 

あなたはそれが大丈夫移動した場合、「OK」を返し、または反対に、ページのタイトルを返すことができます:再びColumnFixtureは正確に適切ではありませんが、ここで

は、ColumnFixtureで行う方法の一例ですあなたが望むならば無効にする。

+0

ジムに感謝します。あなたが私に与えた 'カラムフィクスチャの基本文書'リンク - !| SeleniumFitnesse | | URL \t | navigateToSite? | http://www.google.com | \t しかし、私は得る - メソッドnavigateToSite [0]が見つからない FitNesseConcept.fitNesse.SeleniumFitnesse。 アイデア – noMoreMutants

+0

はい - 上のコードのようにnavigateToSiteのメソッドは、入力パラメータを1つ取ります。これは、引数が引数なしメソッドを呼び出そうとしているURLです。 Wikiのフィクスチャを変更してURLを別の列として渡し、フィクスチャクラスのパブリックプロパティを作成してみてください。だから:| url | navigateToSite?|、 "public string url;"あなたのフィクスチャクラスで。 navigateToSiteメソッドから入力parmを削除し、代わりにurlプロパティを参照してください。 –

+0

編集された応答を参照してください –

関連する問題