如何使用java为selenium WebDriver传递命令行参数(baseURL)



我为Selenium-webDriver套件创建了一个可运行的jar。现在我必须在多个基本URL中进行测试,因为基本URL会根据需要进行更改。有人能帮我渡过难关吗。是否可以向Selenium Web驱动程序driver.get(baseUrl) 发送命令行参数

这个代码是我写的,但不起作用。

public class news {
    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("Abc@gmail.com");
        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);
}
}

您可以添加以下代码:-

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);

希望它能帮助你:)

最新更新