2017-03-07 9 views
0

私はjavaでIEドライバを使用しています。私はC#でこの罰金を尽くしましたが、Javaを試して、ぶつかり合っていました。クラスレベルでシングルトンパターンでドライバをインスタンス化し、@Testでjunitテストを開始します。私はその要素の発見をアクションから切り離し、要素の発見はid = 69の要素とブラウザが自動的に割り当てる16進コードを識別するのに効果的です。ここまでは順調ですね。java/selenium webdriverアクションクラスでスローされたInvocationTargetException

次に、WebElementの変数をとり、action.click(element);に渡します。この時点で、InvocationTargetExceptionがnullでスローされます。私はドライバのnullが問題を引き起こしている場所を見つけましたが、私はドライバがnullではなく、正確に入力される要素変数を持っていると言いました。

セレンのリファレンスやライブラリを利用しようとしたときにnullをスローする可能性があるシーンの裏側に何か問題があるのだろうかと思います。私はこれを動作させるために見えるかもしれない任意のアイデアですか?これは技術的にはjava.lang.reflect例外であり、セレニウム固有の例外ではありません。これは、null変数であれば、セレニウム例外をスローすると予想されます。

ご意見やご感想をお寄せください。

答えて

3

回答が見つかりました。アクションクラスはドライバにバインドされていませんでした。だから私が望むすべてのドライバを使用することができましたが、アクションの開始はブラウザがアクションを実行するのを見つけることができませんでした。私はActionという名前のサブクラスを持っていました。これは、私がセレンである "Actions"クラスと混乱していました。

しかし、セレンを利用しようとしている人にヌル値のInvocationTargetExceptionが入っている場合は、各セレンクラスが正しくインスタンス化され、アクティブなドライバインスタンスに関連付けられていることを確認してください。

関連する問題