2016-05-03 20 views
1

私はSelenium webDriverスイート用の実行可能なjarを作成しました。今私は複数のベースURLでこれをテストしなければなりません、baseURlは必要に応じて変わるでしょう。 誰かがこれで私を導くことができますか?コマンドライン引数をSelenium Webドライバに送ることは可能ですか?driver.get(baseUrl)javaを使用してコマンドライン引数(baseURL)をSelenium WebDriverに渡す方法

このコードは書かれていますが、動作しません。

パブリッククラスのニュース{

public static void main(String[] args) { 
    FirefoxDriver driver = new FirefoxDriver(); 

    try{ 
      JavascriptExecutor js = (JavascriptExecutor)driver; 
      js.executeScript("var pr=prompt('Enter your URL please:',''); alert(pr);"); 
      Thread.sleep(15000L); 
      String URL = driver.switchTo().alert().getText(); 
      driver.switchTo().alert().accept(); 
      System.out.println(URL); 
      driver.get(URL); 
      System.out.println(URL); 
     }catch(Throwable e) 
      { 
      System.out.println("failed"); 
     } 
    driver.manage().window().maximize(); 

    WebElement login=driver.findElement(By.cssSelector("a[data-target='#login-box']")); 
    login.click(); 
    driver.manage().timeouts().implicitlyWait(90, TimeUnit.SECONDS); 
    driver.findElement(By.id("uname_h")).sendKeys("[email protected]"); 
    driver.findElement(By.id("password_h")).sendKeys("XYZ"); 
    WebElement login_button=driver.findElement(By.id("health_btn")); 
    login_button.click(); 
    // driver.manage().timeouts().implicitlyWait(90, TimeUnit.SECONDS); 
    driver.findElement(By.className("glyphicon-publish-news-events")).click(); 
    driver.findElement(By.xpath("/html/body/div[4]/div[4]/div[26]/div/ul/li[2]/a")).click(); 
    driver.findElement(By.id("newstitle")).sendKeys("Automation testing news"); 
    driver.findElement(By.id("newsdetails")).sendKeys("Automation testing news datails"); 
    WebElement webElement13 = driver.findElement(By.id("s2id_autogen3")); 
    webElement13.sendKeys("ganesh"); 
    webElement13.sendKeys(Keys.ENTER); 

} }

+0

はあなたの場合はこのJava -jar JARファイル・name.jarパラメータ1、パラメータ-1 –

+0

を試してみてくださいこのコードを複数のURLでテストしています。すべてのURLのすべての要素に同じロケータが付いていることを確認してください。そうしないと、このコードは機能しません。 –

答えて

0

あなたは、コードの下に追加することができます -

Scanner scanner = new Scanner(System.in); 

    // prompt for the URL 
    System.out.print("Enter your URL: "); 

    // get their input as a String 
    String URL = scanner.next(); 
今URLは、端末

に求められます

は今これを渡しますあなたのライン変数の下のURL変数: -

driver.get(URL); 

作業コードの下マイ: -

WebDriver driver=null; 

Scanner scanner = new Scanner(System.in); 

    // prompt for the URL 
    System.out.print("Enter your URL: "); 

    // get their input as a String 
    String URL = scanner.next(); 



    System.out.println(URL); 
    final FirefoxProfile firefoxProfile = new FirefoxProfile(); 
    driver = new FirefoxDriver(firefoxProfile); 
    driver.manage().window().maximize(); 

    driver.get(URL); 

が、それはあなたを助けることを願っています:)

+0

ありがとうございます。端末でURLが尋ねられましたが、そのURLにリダイレクトされません。 –

+0

は、URLに渡されていないことを意味します。あなたは2回Enterを押す必要があります.. URLを入力してからもう一度入力してください –

+0

私の回答に自分の作業コードを投稿/更新しました –

関連する問題