Собственно имеется вот такая задача, возникли проблемы с ответом на 3 и 4 вопросы. Подскажите пожалуйста какие там возможны тесты, хотя бы вкратце.
Заранее спасибо.
Задача
Пользовательское приложение (А) взаимодействует со сторонним приложением (Б) посредством интеграционной шины (Ш)
Сценарий взаимодействия:
1. Пользователь вводит в приложение А несколько полей с данными, а именно:
ФИО клиента
Дата рождения клиента
Профессия
Месячный доход клиента
2. Пользователь нажимает кнопку "Вычислить" в приложении А и приложение А отправляет введенные данные на интеграционную шину
3. Далее шина отправляет данные в приложение Б
4. Приложение Б получает данные, вычисляет по некой неизвестной формуле два параметра, а именно:
Сумма возможного кредита, рублей
Срок возможного кредита, лет
и возвращает их интеграционной шине в ответном сообщении
5. Интеграционная шина получает сообщение от приложения Б и передает их в приложение А
6. Приложение А отображает для пользователя новые данные.
Для пользователя все выглядит как будто он ввел данные клиента, нажал на кнопку "Вычислить" и получил расчет суммы и срока кредита, который одобрили для клиента
РЕЗУЛЬТАТЫ ПЕРВИЧНОГО ТЕСТИРОВАНИЯ
Вы провели серию тестов данного сценария с позиции пользователя со стороны приложения А и получили некоторые результаты, различные для каждой серии. Необходимо рассматривать каждую серию независимо.
СЕРИЯ ТЕСТОВ 1
Вы дошли до пункта 2 в сценарии, нажали на кнопку "Вычислить". Далее ничего не произошло, никаких ожидаемых данных Приложение А не выдает, сообщения об ошибке также не выдается.
СЕРИЯ ТЕСТОВ 2
Вы пытаетесь выполнить сценарий, однако при начале работы замечаете что поля с результатом "Сумма возможного кредита" и "Срок возможного кредита" непустые и заполнены какими-то значениями. Далее сценарий отрабатывает без видимых нарушений.
СЕРИЯ ТЕСТОВ 3
Вы выполняете сценарий, в результате в поле "Сумма возможного кредита, рублей" получаете значение 5, а в поле "Срок возможного кредита, лет" получаете значение 100 000.
ПОСТАНОВКА ЗАДАЧИ
Необходимо проанализировать три серии тестов как будто бы они были выполнены отдельно и независимо друг от друга и по поводу каждой написать ответы на следующие вопросы:
1. Следует ли считать описанное поведение ошибкой? Следует ли привлечь внимание разработчика к данному результату тестирования?
2. Если это ошибка, то предположите в каких узлах (в каком приложении) и на каком шаге сценария возникла эта ошибка и в чем она состоит. Напишите так много версий, как сможете придумать.
3. Для каждой версии, придуманной в п.2 напишите какого рода другие тесты Вы можете предложить, чтобы 3.1) Подтвердить 3.2) Опровергнуть данную версию
4. Для каждой версии, придуманной в п.2 напишите какого рода проверки Вы хотели бы выполнить самостоятельно и/или порекомендовали бы выполнить разработчику (и укажите какого именно приложения)
Если в процессе решения задачи Вам не хватает данных, Вы можете написать в том числе и вопросы, которые считаете нужным задать разработчикам о взаимоотношении систем.
Многим знаком инструмент Selenium. Это стандарт de facto (а вскоре и de juro) в области автоматизации веб-приложений и мобильных приложений. Невероятно популярный инструмент. Но удивительно то, что Selenium развивается без чёткого плана. С одной стороны, это вполне объяснимо – команда разработки представляет собой группу энтузиастов, работающих над проектом в свободное время. С другой стороны, непонятно, почему коммерческие вендоры не могут повторить этот успех. Вот вы верите в то, что такое возможно?
Подскажите, в чем может быть причина вылета и сбоев при выполнении строки "Assert.assertEquals(expectedTitle, actualTitle);", если закавычить эту строку тест проходит нормально.
Предполагал, что причина в наименовании пути org.testng.Assert - Assert менял на Asserts, но программа не хочет тогда работать. Такой вывод я делал из наименования методов в jar файле, видно на скриншоте, что там написно Asserts.
Скриншот текста прикрепил.
Текст теста следующий:
package TestNG;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.Test;
public class DemoTestNG {
public WebDriver driver = new FirefoxDriver();
String appUrl = "https://accounts.google.com";
@Test
public void gmailLogin() {
// launch the firefox browser and open the application url
driver.get("https://accounts.google.com");
// maximize the browser window
driver.manage().window().maximize();
// declare and initialize the variable to store the expected title of the webpage.
String expectedTitle = "Вход - Google Аккаунты";
// fetch the title of the web page and save it into a string variable
String actualTitle = driver.getTitle();
Assert.assertEquals(expectedTitle, actualTitle);
// enter a valid username in the email textbox
WebElement username = driver.findElement(By.id("Email"));
username.clear();
username.sendKeys("XXXXXXXXXXX"); //добавтье свой майл
// click on the Next button
WebElement NextButton = driver.findElement(By.id("next"));
NextButton.click();
// enter a valid password in the password textbox
WebElement password = driver.findElement(By.id("Passwd"));
password.clear();
password.sendKeys("ХХХХХХХХ"); //добавьте свой пароль
// click on the Sign in button
WebElement SignInButton = driver.findElement(By.id("signIn"));
SignInButton.click();
// close the web browser
driver.close();
}
}
Всем привет! Как произвести нажатие на динамически создаваемые элементы, которые не отображаются в исходном коде страницы? Конкретный пример для наглядности, Вбиваем Location в поиске людей на фейсбуке - далее открывается выпадающий список, на который нужно нажать. Проблема в том, что посмотреть исходный код элемента нельзя. Так вот, как кликнуть на выпадающий список? https://gyazo.com/151c242e377adab00f8e36d5f0284d50
За прошедшие несколько лет инструмент автоматизации тестов для веб-приложений Selenium приобрел фантастическую популярность.
Владение этим инструментом стало одним из обязательных умений для тестировщика-автоматизатора, достаточно посмотреть динамику вакансий, чтобы убедиться в этом.
Если вы хотите считаться профессионалом в области автоматизации тестирования, строчка "я знаю Selenium" обязательно должна присутствовать в вашем резюме.
Простые тесты можно создавать при помощи рекордеров Selenium IDE или Selenium Builder. Но при увеличении объёма и сложности тестов этот подход теряет свою эффективность и привлекательность. Профессионалы пишут тесты на языках программирования.
Если до этого Вы не занимались автоматизацией и не знакомы с Selenium, то лучше начать с курса Selenium 2.0: стартовый уровень.
C# входит в число четырёх языков программирования, которые официально поддерживаются Selenium, наряду с Java, Ruby и Python (и у нас есть тренинги на языке Java и Python, аналогичные данному).
Этот курс предназначен для тех, кто хочет освоить программный интерфейс Selenium 2.0 и научиться разрабатывать автотесты для веб-приложений на языке программирования C#.
После прохождения тренинга учащийся будет уметь разрабатывать автоматизированные тесты для веб-приложений на языке программирования C# с использованием инструмента Selenium 2.0, в частности:
владеть базовым набором команд Selenium 2.0, эмулирующих действия пользователя (ввод текста, клики мышью),
владеть расширенным набором команд Selenium 2.0, эмулирующих действия пользователя (клавиатурные сочетания, перетаскивание элементов мышью и другие),
владеть техниками поиска (идентификации) элементов в окне браузера,
уметь обеспечивать стабильность и скорость выполнения тестов за счёт правильного использования ожиданий,
уметь выполнять проверки фактических данных, полученных из браузера, на соответствие ожидаемым значениям,
владеть основными шаблонами проектирования тестов, в том числе шаблоном PageObject,
уметь выстраивать архитектуру тестов таким образом, чтобы тесты можно было легко модифицировать и добавлять новые (при небольшом количестве тестов),
уметь организовывать инфраструктуру для запуска тестов на сервере непрерывной интеграции.
За прошедшие несколько лет инструмент автоматизации тестов для веб-приложений Selenium приобрел фантастическую популярность.
Владение этим инструментом стало одним из обязательных умений для тестировщика-автоматизатора, достаточно посмотреть динамику вакансий, чтобы убедиться в этом.
Если вы хотите считаться профессионалом в области автоматизации тестирования, строчка "я знаю Selenium" обязательно должна присутствовать в вашем резюме.
Простые тесты можно создавать при помощи рекордеров Selenium IDE или Selenium Builder. Но при увеличении объёма и сложности тестов этот подход теряет свою эффективность и привлекательность. Профессионалы пишут тесты на языках программирования.
Если до этого Вы не занимались автоматизацией и не знакомы с Selenium, то лучше начать с курса Selenium 2.0: стартовый уровень.
Python входит в число четырёх языков программирования, которые официально поддерживаются Selenium наряду с Java, Ruby и C# (и у нас есть тренинги на языке Java и C#, аналогичные данному).
Этот курс предназначен для тех, кто хочет освоить программный интерфейс Selenium 2.0 и научиться разрабатывать автотесты для веб-приложений на языке программирования Python.
После прохождения тренинга учащийся будет уметь разрабатывать автоматизированные тесты для веб-приложений на языке программирования Python с использованием инструмента Selenium 2.0, в частности:
владеть базовым набором команд Selenium 2.0, эмулирующих действия пользователя (ввод текста, клики мышью),
владеть расширенным набором команд Selenium 2.0, эмулирующих действия пользователя (клавиатурные сочетания, перетаскивание элементов мышью и другие),
владеть техниками поиска (идентификации) элементов в окне браузера,
уметь обеспечивать стабильность и скорость выполнения тестов за счёт правильного использования ожиданий,
уметь выполнять проверки фактических данных, полученных из браузера, на соответствие ожидаемым значениям,
владеть основными шаблонами проектирования тестов, в том числе шаблоном PageObject,
уметь выстраивать архитектуру тестов таким образом, чтобы тесты можно было легко модифицировать и добавлять новые (при небольшом количестве тестов),
уметь организовывать инфраструктуру для запуска тестов на сервере непрерывной интеграции.
Подскажите, пожалуйста, как достать элемент? "Битый час" пытаюсь, не получается код страницы элемента во вложенном файле. Надо нажать на кнопку "Да" .yes. Пытаюсь достать элемент с помощью css селектора.
Если написать просто :
var metroYesClass = _driver.FindElement(By.CssSelector(".yes"));
то возникает эксэпшн "An exception of type 'System.InvalidOperationException' occurred in WebDriver.dll but was not handled in user code"
всё ломается на элементе классе b-detect-city - он какой-то не такой