Насколько эффективно я могу использовать записанные тесты автоматизации для других выпусков приложения

У меня есть веб-приложение, я хочу записать контрольные примеры и воспроизвести их.

1-й выпуск приложения, у меня есть модуль входа в систему, который имеет имя пользователя и пароль и записал 500 тестовых случаев для всего приложения. Среди 500 тестовых случаев 200 тестовых случаев используют ведение журнала по имени пользователя и паролю.

2-й выпуск приложения, у меня есть модуль входа в систему, который имеет только имя пользователя, поэтому я хочу использовать ранее записанные тестовые наборы с изменениями, а не переходить на все тестовые сценарии и менять поле пароля. Здесь у меня есть некоторые требования к структуре тестирования

  • Могу ли я получить результаты тестов, изменив поле, как в примере выше?
  • Есть ли способ обновить по-простому, не переходя как во все файлы и не меняя

Я использовал различные инструменты тестирования UI Automation, и параметры записи и воспроизведения очень хороши, но я не смог найти нужный путь в среде тестирования UI Automation.

Есть ли какие-либо рамки, которые делают работу для меня?

Заранее спасибо.

1 ответ

Это яркий пример того, почему вы никогда не должны записывать тестовый случай селена. Всякий раз, когда вы хотите обновить что-то вроде входа в систему, вы должны изменить их все.

Что вы должны сделать, это создать тестовый комплект / среду для вашего приложения.

1. Начните с создания класса для каждой веб-страницы с 1 функцией для каждого элемента, к которому вы хотите иметь доступ.

public By username(){
   return By.cssSelector("input[id$='username']");   }

2.Создайте вспомогательные классы, в которых вы создаете последовательности, которые вы часто используете.

public void login(String username, String password){

      items.username().sendkeys(username);
      items.password().sendkeys(password);

}

3.В вашей общей настройке теста добавьте вашу функцию входа

@BeforeMethod(alwaysRun = true)
public void setUp() {
   helper.login("user","password");

}

Это дает вам возможность программно создавать ваши тесты. Например, если вы хотите использовать одни и те же тестовые примеры для другого модуля входа в систему, где отсутствует элемент пароля, его можно изменить следующим образом.

items.username().sendkeys(username);    
if(isElementPresent(items.password())
    items.password().sendkeys(password);

Функция isElementPresent может выглядеть так

public boolean isElementPresent(By locator){
    try {
      driver.findElement(locator);
      logger.trace( "Element " + stripBy(locator) + " found");
    } catch (NoSuchElementException e) {
      logger.trace( "Element " + stripBy(locator) + " not found");
      return false;
    }
   return true;
  }
Другие вопросы по тегам