Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Грамотное построение фреймверка дл тестирование WEB Forms



Software-Testing.Ru - портал тестировщиков  

Новые темы форума тестировщиков


Грамотное построение фреймверка дл тестирование WEB Forms
2016-06-20 13:10

Добрый день всем.

Решил взяться за новый проект. Суть его в следующем:

Есть сайт написанный на Web Forms. Этот сайт ищет данные в БД. Навигация у этого сайта организована на основании двух фреймов, фрейм "навигации" и фрейм "рабочей области". Изначально при загрузке сайта в "рабочей области" появляется главная форма. В ней предложен выбор раздела для пользователя.После выбора раздела в фрейме "навигация" отображается иерархическое "дерево" с разделами, подразделами и ссылками на странице поиска. После выбора выбора ссылки на страницы поиска во фрейме "навигация", она подгружается во фрейм "рабочая область". После всего этого на странице можно производить поиск. Для того что бы  перейти  на  другую  страницу, надо вернуться во фрейм "навигация" и выбрать новую страницу.

 

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

 

Подумав, я решил сделать следующим образом: создать проtкт MAVEN, в проекте создать класс FrameManagement отвечающий за навигацию(переключение между фреймами, нажатие кнопок и ссылок), класс SearchPage(отвечающий за действие с элементами на странице поиска и манипулирование с  результатами поиска), и из всего этого воять фрейверк для дальнейшего тестирования таких решений.

 

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.firefox.internal.ProfilesIni;
//Данный класс будет отвечать за  навигацию по фреймам.
public class FrameManagement {

private WebDriver driver;
public FrameManagement(){
ProfilesIni profiles = new ProfilesIni();
FirefoxProfile profileFirefox = profiles.getProfile("TestQA");
this.driver = new FirefoxDriver(profileFirefox);
}
   
    public static void goToFrame(){}

    public static void goToParentFrame(){}

    public static void ManagementMainFrame(){}
    
    public void ClickButton(){}
}
**********************************************************
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
//Данный класс отвечает за страницу поиска, и возможные действия с этим объектом
public class SearchPage {
public WebDriver driver;
public SearchPage( WebDriver driver){}
public void ClickLink(){}
public void GetInformationObjectCount(){}
public void setMainSettingsField(String s, String input){}
public void setMainSettingsRadioBox(){}
public void setSystemSettingCheckBox(){}
public void Result(){}
}
*********************************************************
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class RegionSearchTest {
@Before
public void setUp(){ //метод открывающий браузер }
@Test
public void Search(){ //тело самого теста }
@After
public void close(){ //метод закрывающий браузер } }
 

 

 
На "void" не обращайте внимание, так как я поставил его для того что бы IDE не ругалась.
 
Вроде как  структура нехитрая, но тут я  попал в ступор. Я не могу не как додумать как правильно между всем этим передавать WebDriver. Как я понял, метод вызова открытия браузера надо реализовывать в классе FrameManagement, так как он по логике своей отвечает за полную координацию выполнение тестов. А каким тогда способом его передать классу SearchPage, если класс RegionSearchTest будет наследовать методы от класса SearchPage.
 
Может кто то уже  сталкивался с построением фреймверков для тестирования именно таких фреймовых структур?


Вопрос по Jenkins
2016-06-20 23:39

Всем привет.

Можно ли в Jenkins сделать задачу с интерактивным подтверждением? Как в скриптах консоли - y/n и выполнение или невыполнение след. шагов.

Например-  у меня  есть job в Jenkins авто установки, в нём  есть шаг запроса бд через flayway. В jenkins выводиться инфо из flayway info. Нужно чтобы по желанию в этом же job выполнялся - flayway migrate.



Исследовательское тестирование. Инструкция пользователя
2016-06-21 08:33

После очередной уборки на сервере выяснили, что у нас осталось несколько неопубликованных докладов со старых онланй-конференций. Те доклады, информация в которых еще не устарела постараемся выложить в ближайшее время.

 

Представляем доклад Глеба Рыбалко.

 

Популярность техник тестирования основанных на опыте набирает популярность с каждым годом. Скорее всего, Вы уже не найдете ни одного профессионала по тестированию и обеспечению качества, которому были бы не знакомы термины exploratory & ad hoc. Об этих видах тестирования пишутся книжки. Популярность этого направления уже дошла до того, что такое тестирование было включено в некоторые американские стандарты и предписания. Естественным образом такая ситуация отражается и на клиентах. Все чаще и чаще клиент сам приходит к Вам с инициативой внедрения исследовательского или ad hoc тестирования. И первое, что в таком случае хочется ответить это: «Да, да, конечно. Это нам поможет. Это же последние веяния. Давайте попробуем… «Но всегда ли исследовательское тестирование помогает?

 

Я дам несколько практических советов, которые помогут использовать данный вид тестирования на практике. Мы поговорим о следующих вещах:

  • Как определить цели данного вида тестирования на проекте
  • Как идентифицировать нужных людей, для команды «исследователей»
  • Какие тестовые артефакты действительно помогают в исследовательском тестировании
  • Какие метрики работают и чем они помогают команде

Смотреть запись доклада



© 2010 | Software-Testing.Ru


В избранное