Selenium在netbeans中工作,但在将项目转换为exe时没有

时间:2014-01-29 04:59:43

标签: java selenium netbeans exe

嗨, 我正在尝试将selenium与我的java项目的exe版本链接,以便在单击按钮时执行selenium。 Selenium代码是:

import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class Pay {
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();
  String Enum;
  String cpr;

 public Pay(String nEnum){
     Enum = nEnum;
     this.cpr = "000";

 }
 public Pay(String nEnum, String nCpr){
     Enum = nEnum;
     this.cpr = nCpr;

 }


  public void setUp() throws Exception {
    System.setProperty("webdriver.chrome.driver", "A:\\Documents\\NetBeansProjects\\Electricity\\chromedriver_win32\\chromedriver.exe");
    driver = new ChromeDriver();
    baseUrl = "http://www.bahrain.bh/";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }


  public void testRent() throws Exception {
    driver.get(baseUrl + "/wps/portal/!ut/p/c5/04_SB8K8xLLM9MSSzPy8xBz9CP0os3gLAxNHQ093A3d_J29DA08_cw9TT1dvI8cgU_1wkA6zeGd3Rw8Tcx8DAwsXNwsDIydTM89AAxcDA09TiLwBDuBooO_nkZ-bqh-cmqdfkJ2d5uioqAgARs8Bqw!!/dl3/d3/L0lHSkovd0RNQU5rQUVnQSEhL1lCZncvYXI!/");
    driver.findElement(By.cssSelector("a.toolbarLink > div")).click();
    driver.findElement(By.xpath("//form[@id='viewns_7_804A1IG0GOBK10IN7H5IEK2AV1_:eServicesForm']/div/table/tbody/tr[7]/td[2]/table/tbody/tr/td[2]/a/span")).click();
    driver.findElement(By.cssSelector("img[alt=\"Launch Service\"]")).click();
    new Select(driver.findElement(By.id("viewns_7_OAHIGGG0GGV880I1V3LJ6130G3_:PayerLoginForm:mewIdType"))).selectByVisibleText("CPR");
    driver.findElement(By.id("viewns_7_OAHIGGG0GGV880I1V3LJ6130G3_:PayerLoginForm:mewId")).clear();
    driver.findElement(By.id("viewns_7_OAHIGGG0GGV880I1V3LJ6130G3_:PayerLoginForm:mewId")).sendKeys(cpr);
    driver.findElement(By.id("viewns_7_OAHIGGG0GGV880I1V3LJ6130G3_:PayerLoginForm:mewAccountNo")).clear();
    driver.findElement(By.id("viewns_7_OAHIGGG0GGV880I1V3LJ6130G3_:PayerLoginForm:mewAccountNo")).sendKeys(Enum);
    driver.findElement(By.name("viewns_7_OAHIGGG0GGV880I1V3LJ6130G3_:PayerLoginForm:_id4")).click();
    driver.findElement(By.cssSelector("input[type=\"checkbox\"]")).click();
    driver.findElement(By.name("viewns_7_OAHIGGG0GGV880I1V3LJ6130G3_:_id0:_id1")).click();
    driver.findElement(By.id("Debit Card")).click();
    driver.findElement(By.xpath("//tr[7]/td[2]/span/label")).click();
    driver.findElement(By.name("btnPay2")).click();
    driver.findElement(By.name("Ecom_Payment_Card_Name")).clear();
    driver.findElement(By.name("Ecom_Payment_Card_Name")).sendKeys("AAA");
    driver.findElement(By.name("Ecom_Payment_Card_Number")).clear();
    driver.findElement(By.name("Ecom_Payment_Card_Number")).sendKeys("123");
  }


  public void tearDown() throws Exception {
   // driver.quit();
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
      fail(verificationErrorString);
    }
  }

  private boolean isElementPresent(By by) {
    try {
      driver.findElement(by);
      return true;
    } catch (NoSuchElementException e) {
      return false;
    }
  }

  private boolean isAlertPresent() {
    try {
      driver.switchTo().alert();
      return true;
    } catch (NoAlertPresentException e) {
      return false;
    }
  }

  private String closeAlertAndGetItsText() {
    try {
      Alert alert = driver.switchTo().alert();
      String alertText = alert.getText();
      if (acceptNextAlert) {
        alert.accept();
      } else {
        /*alert.dismiss();*/
      }
      return alertText;
    } finally {
      acceptNextAlert = true;
    }
  }
}
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */



/**
 *
 * @author Home
 */

我将调用此类并将其传递给所需信息并通过调用方法执行selenium代码。

我的代码在netbeans中执行时效果很好但是当它转换为exe文件时,我再也无法运行selenium了。

将运行selenium方法的其他类的代码:

String eNum =“123”;

 Pay p1 = new Pay(eNum);
try {
    p1.setUp();
} catch (Exception ex) {
    Logger.getLogger(Building1.class.getName()).log(Level.SEVERE, null, ex);
}
try {
    p1.testRent();
} catch (Exception ex) {
    Logger.getLogger(Building1.class.getName()).log(Level.SEVERE, null, ex);
}
try {
    p1.tearDown();
} catch (Exception ex) {
    Logger.getLogger(Building1.class.getName()).log(Level.SEVERE, null, ex);
}

谢谢......

0 个答案:

没有答案