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

Все профессии важны: почему тестировщика нужно ценить



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

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


Все профессии важны: почему тестировщика нужно ценить
2018-04-13 10:42

Автор: Кудинов Илья, Lead QA Engineer, Badoo Development

 

Оригинальная публикация: http://habrahabr.ru/company/badoo/blog/345478/

 

Здравствуйте. Меня зовут Илья Кудинов, мне 27 лет, и я тестировщик.
Все: Здравствуй, Илья!

Мы уже много писали о том, как здорово мы в Badoo тестируем наши продукты. А сегодня я (внезапно!) расскажу о том, как круто тестировать ВООБЩЕ. И когда я встречаю представителей нашей профессии, которые не разделяют эту точку зрения, я всегда стараюсь открыть им глаза на истину. Например, этой самой статьёй.

О чём она будет? Я поделюсь своим личным опытом, расскажу, как развивалась индустрия в течение шести с небольшим лет, что я за ней наблюдаю, и опишу своё видение карьерного пути тестировщика. Устраивайтесь поудобнее, настало время (неразборчиво, зачёркнуто) занимательных историй…

 

Читать публикацию полностью



Selenium
2018-04-13 10:42

Добрый день. Прошу у вас подсказки в решении следующей задачи:

Есть цикл проверки опций в тарифе (их 27) они все снабжены "тумблером"

Есть два вида попапов в зависимости от опции

Написал тест с методом "if/else", но при  не нахождении первого попапа тест падает не переходя к "else"

попапы закрываются по нажатию на крестик, но классы у них разные

 

Как мне описать код так, чтобы в случае, если первый попап не вылез, сработало нажатие крестика на втором?  Вот код(все данные относящиеся к компании заменены на "..."):

 

 

 package ....:

 
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
import org.testng.annotations.Test;
import utilities.Constants;
import utilities.Regions;
import utilities.Scheme;
import static org.testng.Assert.assertTrue;
 
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
 
    public class ... {
    WebDriver wd = new ChromeDriver();
    private Cookie Cookie_new = new Cookie("....", "yes");
            private Object iClassName;
 
            @BeforeTest
    public void setUp() throws Exception {         
        wd.manage().timeouts().implicitlyWait(Constants.TIMEUPS, TimeUnit.SECONDS);
        wd.manage().window().maximize();
    }
    
    @Test
    public void ... () throws InterruptedException {
            wd.get(Constants.formUrlink(Scheme.HTTP, Regions....));
            wd.manage().addCookie(Cookie_new);
            wd.get(Constants.formUrlink(Scheme.HTTP, Regions....));
 
 
            List<WebElement> checker = wd.findElements(By.xpath("...."));
 
 
            for (WebElement oneClick : checker) {
                oneClick.click();
                wd.findElement(By.id("cart-street")).click();
                wd.findElement(By.id("cart-street")).clear();
                wd.findElement(By.id("cart-street")).sendKeys("....");
                wd.findElement(By.id("cart-build")).click();
                wd.findElement(By.id("cart-build")).clear();
                wd.findElement(By.id("cart-build")).sendKeys("...");
                wd.findElement(By.id("cart-flat")).click();
                wd.findElement(By.id("cart-flat")).clear();
                wd.findElement(By.id("cart-flat")).sendKeys("...");
                wd.findElement(By.name("fio")).click();
                wd.findElement(By.name("fio")).clear();
                wd.findElement(By.name("fio")).sendKeys("...");
                wd.findElement(By.name("company")).click();
                wd.findElement(By.name("company")).clear();
                wd.findElement(By.name("company")).sendKeys("...");
                wd.findElement(By.name("phone")).click();
                wd.findElement(By.name("phone")).clear();
                wd.findElement(By.name("phone")).sendKeys("....");
                wd.findElement(By.name("email")).click();
                wd.findElement(By.name("email")).clear();
                wd.findElement(By.name("email")).sendKeys("...");
                wd.findElement(By.name("comment")).click();
                wd.findElement(By.name("comment")).clear();
                wd.findElement(By.name("comment")).sendKeys("....");
                wd.findElement(By.id("send-order-form")).click();
 
                                                             
                if (wd.findElement(By.xpath("1ый попап)).isDisplayed() ) 
                {
                  wd.findElement(By.xpath("1ый крестик")).click();
                } 
                else if (wd.findElement(By.xpath("2ой попап")).isDisplayed() ) 
                {
                   wd.findElement (By.xpath("2ой крестик")).click();
                 }                      
                                                                                                                                      
                oneClick.click();
            }
 
        }
 
@AfterTest
    public void tearDown() {
        wd.quit();
    }   
    public static boolean isAlertPresent(ChromeDriver wd) {
        try {
            wd.switchTo().alert();
            return true;
        } catch (NoAlertPresentException e) {
            return false;
        }
    }


Продолжаем разговор? Про БигДату и Тестирование. СПб
2018-04-13 15:21

Коллеги опять приглашают поговорить.
https://grid-dynamics.timepad.ru/event/703266/

 

 



Видеозапись доклада Алексея Виноградова &#34;KISS PageObjects&#34;
2018-04-13 16:28

В данном докладе вы познакомитесь с простыми и практичными видами PageObject архитектуры — Static & Void, которые докладчик демонстрирует использование кодом, сравнит плюсы и минусы подходов. Также Алексей расскажет о важных недостатках некоторых Design Pattern-ов (Loadable Component, DataProvider и пр.), отважное пользование которыми выстилает вам дорогу в автоматизационный ад. Вы увидите на примерах, как простой код решает проблемы лучше, чем слишком умный. Примеры на языке Java с Selenide переносимы и на другие фреймворки и языки программирования (.NET, Python, JavaScript и другие).

 

Читать публикацию полностью



Автотесты для всех платформ. Какой инструмент выбрать ?
2018-04-15 19:58

Всем привет !

 

Руководство поставило такую задачу: есть приложение для iOS, Andriod, Windows и Mac. Оно одно, просто реализовано под несколько платформ.

Нужно написать автоматизированные тесты для всех платформ с наименьшими усилиями по переписыванию тестов под каждую из них.

 

Пока пишу тесты на Java на Mac с использованием Appium. Апиум дает сразу 2 платформы - iOS и Android.

А как быть с Win ?

Кто-нибудь уже сталкивался с такой задачей ? Или это в принципе нереально ?

 

Есть такая утилита как TestCompete, но она платная. Бесплатных аналогов что-то не могу найти.

Есть также Winium - это как селениум, но под Win. Очень хороший вариант.

 

В общем пока в думах и сомнениях, что выбрать.

Гуру, прошу помощи в данном вопросе.



Тестирование с помощью pgbench
2018-04-16 08:24

Добрый день.

 

Хотел спросить , какие тесты создавали под тестирование утилитой pgbench. Как тестировали и какие задачи перед вами стояли?

 

Спасибо за любые ответы



© 2010 | Software-Testing.Ru


В избранное