2017-01-17 10 views
0

プロジェクトでリスナークラスを作成しました。今私がWebで読んだことは、あなたのクラスまたはtestngファイルにリスナーを追加する2つの方法があります。Testngのリスナー

MyProjectFolderStructue

フォルダ構造に確認してください。今のところ、私は私のJavaクラスでこのようにそれを使用してmが、それは私に添付された画像のようなエラーを与えている:

@Listeners({Test.tes.Utils.ListenerUse.class})

+0

エラーとは何ですか? – Guy

+0

@Listeners({Test.tes.Utils.ListenerUse.class})、これを使用して、Testでエラーを出しています。赤い線でテス。 –

+0

もう一度、エラーは何ですか? – Guy

答えて

0

私は、問題は、あなたのリスナーのパッケージを混合していると思い、そしてあなたがそれを追加したいクラスのパッケージ。

あなたのコード:

@Listeners(Test.tes.MyHomePageTestCases.MyHomePageTestCases.ListenerUse.class) 

正しいパッケージ:

@Listeners(Test.tes.Utils.ListenerUse.class) 

しかし、あなたは、Javaの命名規則を破る以外に(である、 "テスト" あなたのパッケージを命名しました - >https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html)はTestNG Testクラスと衝突します。スクリーンショットでは、「テスト」がグレー表示されていることがわかります。マウスの上にマウスを置くと、Eclipseが「org.testng.annotations.Test」と解決したことがわかります。だから、2つのオプションがあります。

  1. 名前あなたのパッケージを適切にし、あなたのHomeTestCasesクラスの輸入セクションを展開して再び
  2. を試してみてください。手動で追加します。

    import Test.tes.Utils.ListenerUse;

し、次のように削除します。

import org.testng.annotations.Test; 
+0

に解決できません。スクリーンショットで申し訳ありません。間違ったパッケージを使用していましたが、あなたが言いましたように修正しましたが、この@Listeners(Test.tes.Utils .ListenerUse.class)、Test.tesで赤線(complieエラー)が表示され、その上にマウスを置くと、 "Test.tes"を型に解決できないというメッセージが表示されます。 –

+0

私の回答を編集しました助けになる。 – Aneta

1

あなたのスクリーンショットから、私はあなたのテストクラスHomeTestCases.javaあなたはリスナーを参照しようとしているsrc/test/java

にパッケージTest.test.MyHomepageTestCasesに存在することを理解しListenerToUse.javaパッケージTest.tes.Utilsにあるsrc/main/javaにある。

あなたはここで@Listeners(Test.tes.MyHomepageTestCases.MyHomepageTestCases.ListenerToUse.class) を使用するときは、基本的には(入れ子になったクラスとして)Test.tes.MyHomepageTestCases.MyHomepageTestCases内部リスナークラスListenerToUseを探すためのJavaを言っているが、ListenerToUseMyHomepageTestCases.java内部に埋め込まクラスではありませんので、そうではありません。この問題を解決するには

次の手順を実行してください:TO@Listeners(Test.tes.MyHomepageTestCases.MyHomepageTestCases.ListenerToUse.class)

    • 変更を@Listeners(Test.tes.Utils.ListenerToUse.class)