私はキュウリをjavaとselenium webdriverで使用する方法を学んでいます。私はその場所にアーキテクチャを持っており、私は非常に特定の問題に直面しています。キュウリの解析文字列
@When("^I login with the parameters \"([^\"]*)\" and \"([^\"]*)\" and \" ([^\"]*)\"")
public void I_login_with_the_parameters(String arg1, String arg2, String arg3) throws Throwable{
if (arg1.equals("PRO")) {
arg1 = "PRO";
}
if (arg2.equals("testleader")) {
arg2 = "testleader";
}
if (arg3.equals("Chrome")) {
arg3 = "Chrome";
}
assertTrue (codebase.Beoordeling_Login.correctinloggen(arg1, arg2, arg3));
}
このコードが動作する理由を私は理解していない、と私は去るときのステートメントは、私はこのように、nullポインタ例外を取得する場合:
@When("^I login with the parameters \"([^\"]*)\" and \"([^\"]*)\" and \"([^\"]*)\"")
public void I_login_with_the_parameters(String arg1, String arg2, String arg3) throws Throwable{
assertTrue (codebase.Beoordeling_Login.correctinloggen(arg1, arg2, arg3));
}
は私を取得します。
java.lang.NullPointerException
at codebase.LoginPortal.inloggen(LoginPortal.java:14)
at codebase.Beoordeling_Login.correctinloggen(Beoordeling_Login.java:12)
at steps.InloggenSteps.I_login_with_the_parameters(InloggenSteps.java:32)
at ✽.When I login with the parameters "PRO" and "testleader" and "Chrome" (featurefiles/inloggen.feature:9)
if文を返すと、期待通りに動作するので、arg1、arg2、arg3の文字列は実際には文字列であり、使用することができます。
なぜ私はログイン方法でそれらを使用できないのでしょうか?醜い方法で文字列を再設定する必要がありますか?
編集1:githubの上
public class LoginPortal { public WebDriver inloggen(String Omgeving, String Rol, String Browser) {
String InlogUrl = null; WebDriver driver = anroepDriver.roepdriver(Browser);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
完全なコード:https://github.com/Yourtestprofessionals/YourCucumber
EDIT2:これまでの回答のために歓声。私の問題はまだ解決されていません。
感謝。それは私の問題を解決しませんでした – Teefy
意味がありません。 LoginPortal.javaのコード、特にライン14 – MikeJRamsey56
パブリッククラスLoginPortal { \t \t \t \t公共webdriverをするinloggen(文字列Omgeving、文字ロル、列ブラウザ){ \t \t \t \tストリングInlogUrl = NULLを投稿してください。 \t \t \t \t \t \t WebDriver driver = AanroepDriver。roepdriver(ブラウザ); \t \t \t \t \t \t driver.manage()タイムアウト()implicitlyWait(10、TimeUnit.SECONDS)。 – Teefy