После генерации кода веб-драйвера, как и где изменить код

1

Я новичок в тестах на селен, мое сомнение колеблется между сгенерированным кодом веб-драйвера (java; j-unit) и тем, как запустить этот код с некоторыми изменениями в этом коде и обнаружил ошибки в проекте

до этого я могу узнать, где мы хотим внести изменения в код, что мы уже создали.

Для Eaxmple:

Я записал страницу формы входа в систему, сгенерировал код Java/Junit 4/webdriver с кнопкой подтверждения ссылки из Selenium IDE, и я импортирую его как пакет в eclipse...

Я добавляю функции или изменения в этой форме входа, и я пугающе забываю оставить кнопку "Ссылка"

Используя тест селена, который я сгенерировал раньше, в качестве кода Java/Junit 4/webdriver, я хочу напечатать O/P как "кнопка ссылки не найдена",

   package web;
//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.firefox.FirefoxDriver;
//import org.openqa.selenium.support.ui.Select;

public class webdriver {
  private WebDriver driver;
  private String baseUrl;
  //private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();

  @Before
  public void setUp() throws Exception {
    driver = new FirefoxDriver();
    baseUrl = "http://localhost/";
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
  }

  @Test
  public void testUntitled() throws Exception {
    driver.get(baseUrl + "/CRM/Default.aspx");
    driver.findElement(By.id("LoginMain_UserName")).clear();
    driver.findElement(By.id("LoginMain_UserName")).sendKeys("Admin");
    driver.findElement(By.id("LoginMain_Password")).clear();
    driver.findElement(By.id("LoginMain_Password")).sendKeys("xxx");
    try {
      assertTrue(isElementPresent(By.id("LoginMain_UserNameLabel")));
    } catch (Error e) {
      verificationErrors.append(e.toString());
    }
    try {
      assertTrue(isElementPresent(By.id("LoginMain_PasswordLabel")));
    } catch (Error e) {
      verificationErrors.append(e.toString());
    }
    try {
      assertTrue(isElementPresent(By.id("LoginMain_UserName")));
    } catch (Error e) {
      verificationErrors.append(e.toString());
    }
    try {
      assertTrue(isElementPresent(By.id("LoginMain_Password")));
    } catch (Error e) {
      verificationErrors.append(e.toString());
    }
    try {
      assertTrue(isElementPresent(By.id("LoginMain_LoginButton")));
    } catch (Error e) {
      verificationErrors.append(e.toString());
    }
    try {
      assertTrue(isElementPresent(By.id("LinkButtonRegister")));
    } catch (Error e) {
      verificationErrors.append(e.toString());
    }
    driver.findElement(By.id("LoginMain_LoginButton")).click();
    try {
      assertEquals("Webdriver Testingest.,", driver.getTitle());
    } catch (Error e) {
      verificationErrors.append(e.toString());
    }
    try {
      assertTrue(isElementPresent(By.id("ctl00_ctl00_ImageButton1")));
    } catch (Error e) {
      verificationErrors.append(e.toString());
    }
    try {
      assertTrue(isElementPresent(By.id("ctl00_ctl00_ImageButton2")));
    } catch (Error e) {
      verificationErrors.append(e.toString());
    }
    try {
      assertTrue(isElementPresent(By.linkText("Home")));
    } catch (Error e) {
      verificationErrors.append(e.toString());
    }
    try {
      assertTrue(isElementPresent(By.linkText("Sales")));
    } catch (Error e) {
      verificationErrors.append(e.toString());
    }
    try {
      assertTrue(isElementPresent(By.linkText("Masters")));
    } catch (Error e) {
      verificationErrors.append(e.toString());
    }
  }

  @After
  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;
    }
  }
  • 0
    У меня для вас плохие новости: для достижения этой цели требуется некоторое базовое понимание Java и алгоритмов ...
  • 0
    Установите сообщение подтверждения, которое проверяет, существует ли кнопка ссылки. Опубликуйте свой код, чтобы мы могли сообщить вам, где внести изменения.
Показать ещё 5 комментариев
Теги:
testing
selenium-webdriver
junit

1 ответ

1
Лучший ответ

Чтобы получить желание, которое вы хотите, вы должны изменить:

try {
      assertTrue("Link button not found",isElementPresent(By.id("LinkButtonRegister")));
} catch (Error e) {
      //Add here any log message if necesary
      System.out.println("Link button not found");

      verificationErrors.append(e.toString());
}

Надеюсь, это поможет!

  • 1
    @ user3563106 вы должны изменить сгенерированный код Java, try / cath, который проверяет наличие кнопки ссылки
  • 0
    Большое вам спасибо @Morvader !!! Это первый раз, когда я отказался ... Где я хочу обратиться, чтобы улучшить мое кодирование для этого веб-драйвера, пожалуйста, помогите мне :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню