Перейти к содержимому

Фотография

Помогите выполнить задание по автоматизированному тестированию


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 30

#1 toxi

toxi

    Новый участник

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Татьяна
  • Город:Харьков

Отправлено 10 июля 2013 - 12:51

Собственно задание: Из стартовой страницы qaclub.com.ua перейдите в раздел "Наши эксперты" и убедитесь, что Слава Панкратов является экспертом, но вы не являетесь экспертом. С чего начать? Как в данном задании использовать XPath? Всем ответившим спасибо:)
  • 0

#2 Keiga

Keiga

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Евгений
  • Город:Москва


Отправлено 10 июля 2013 - 13:47

Собственно задание: Из стартовой страницы qaclub.com.ua перейдите в раздел "Наши эксперты" и убедитесь, что Слава Панкратов является экспертом, но вы не являетесь экспертом. С чего начать? Как в данном задании использовать XPath? Всем ответившим спасибо:)

У Вас опыт автоматизации есть? Хотелось бы узнать Ваш ход мыслей и размышлений над поставленной задачей и возможными путями решения.
  • 0

#3 toxi

toxi

    Новый участник

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Татьяна
  • Город:Харьков

Отправлено 10 июля 2013 - 14:21


Собственно задание: Из стартовой страницы qaclub.com.ua перейдите в раздел "Наши эксперты" и убедитесь, что Слава Панкратов является экспертом, но вы не являетесь экспертом. С чего начать? Как в данном задании использовать XPath? Всем ответившим спасибо:)

У Вас опыт автоматизации есть? Хотелось бы узнать Ваш ход мыслей и размышлений над поставленной задачей и возможными путями решения.

Опыта нет. Я так понимаю нужно составить скрипт, Java project. у меня есть пример регистрации на сайте mail.ru:
WebDriver wd = new FirefoxDriver();
wd.get("http://mail.ru");
WebElement element = wd.findElement(By.name("Login"));
element.sendKeys("tests_for_selenium");
WebElement element1 = wd.findElement(By.name("Password"));
element1.sendKeys("ABC_TESTERS");
WebElement element2 = wd.findElement(By.id("mailbox__auth__button"));
element2.click();

Но я не понимаю, как его составить для данной задачи, а также для чего тут нужен XPath.
  • 0

#4 Keiga

Keiga

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Евгений
  • Город:Москва


Отправлено 10 июля 2013 - 14:39

Опыта нет. Я так понимаю нужно составить скрипт, Java project. у меня есть пример регистрации на сайте mail.ru:
WebDriver wd = new FirefoxDriver();
wd.get("http://mail.ru");
WebElement element = wd.findElement(By.name("Login"));
element.sendKeys("tests_for_selenium");
WebElement element1 = wd.findElement(By.name("Password"));
element1.sendKeys("ABC_TESTERS");
WebElement element2 = wd.findElement(By.id("mailbox__auth__button"));
element2.click();

Но я не понимаю, как его составить для данной задачи, а также для чего тут нужен XPath.

Вам нужно написать тест на Java и без некоторых знаний это будет сделать сложно. XPath нужен для указания определенных элементов на веб-странице. Вы можете использовать плагин "Selenium IDE" для Firefox и попытаться записать нужный тест через него, но тест всё равно придётся корректировать.
  • 0

#5 nuc

nuc

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Андрей
  • Город:Украина

Отправлено 11 июля 2013 - 09:39

Собственно задание: Из стартовой страницы qaclub.com.ua перейдите в раздел "Наши эксперты" и убедитесь, что Слава Панкратов является экспертом, но вы не являетесь экспертом. С чего начать? Как в данном задании использовать XPath? Всем ответившим спасибо:)


Попробуйте разбить задание на подзадачи и реализовывать их одну за одной. Думаю, так будет проще.
Например:
1. Зайти на стартовую страницу qaclub.com.ua.
2. Проверить, что это вы оказались на нужной странице.
3. Перейти в раздел "Наши эксперты".
4. Проверить, что вы оказались в нужном разделе.
5. Проверить, что Слава Панкратов присутствует в списке экспертов.
6. Проверить, что ваше ФИО отсутствует в списке экспертов.

XPath в данном случае будет необходим для поиска локаторов на страницах. Например, для ссылки на раздел "Наши эксперты" он может иметь вид //*div[@id='menuv']/ul/li[10]/a
  • 0

#6 toxi

toxi

    Новый участник

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Татьяна
  • Город:Харьков

Отправлено 11 июля 2013 - 11:00


Собственно задание: Из стартовой страницы qaclub.com.ua перейдите в раздел "Наши эксперты" и убедитесь, что Слава Панкратов является экспертом, но вы не являетесь экспертом. С чего начать? Как в данном задании использовать XPath? Всем ответившим спасибо:)


Попробуйте разбить задание на подзадачи и реализовывать их одну за одной. Думаю, так будет проще.
Например:
1. Зайти на стартовую страницу qaclub.com.ua.
2. Проверить, что это вы оказались на нужной странице.
3. Перейти в раздел "Наши эксперты".
4. Проверить, что вы оказались в нужном разделе.
5. Проверить, что Слава Панкратов присутствует в списке экспертов.
6. Проверить, что ваше ФИО отсутствует в списке экспертов.

XPath в данном случае будет необходим для поиска локаторов на страницах. Например, для ссылки на раздел "Наши эксперты" он может иметь вид //*div[@id='menuv']/ul/li[10]/a


Я реализовала первые четыре пункта. Использовала плагин FireBug для FireFox и дополнение к плагину FirePath по-моему оно так называется:) Вот код:

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;


public class task1 {

/**
* @param args
*/
public static void main(String[] args) {
WebDriver wd = new FirefoxDriver();
wd.get("http://qaclub.com.ua/");
WebElement element = wd.findElement(By.xpath(".//*[@id='menuv']/ul/li[10]/a"));
element.click();

Все работает. Знаю, что необходимо использовать последовательность методов getText().contains("some test") для сравнения текста, а также условия в Java. Подскажите на примере, как проверить, что Слава Панкратов является экспертом? Спасибо за ответ:)
  • 0

#7 nuc

nuc

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Андрей
  • Город:Украина

Отправлено 11 июля 2013 - 11:42



Собственно задание: Из стартовой страницы qaclub.com.ua перейдите в раздел "Наши эксперты" и убедитесь, что Слава Панкратов является экспертом, но вы не являетесь экспертом. С чего начать? Как в данном задании использовать XPath? Всем ответившим спасибо:)


Попробуйте разбить задание на подзадачи и реализовывать их одну за одной. Думаю, так будет проще.
Например:
1. Зайти на стартовую страницу qaclub.com.ua.
2. Проверить, что это вы оказались на нужной странице.
3. Перейти в раздел "Наши эксперты".
4. Проверить, что вы оказались в нужном разделе.
5. Проверить, что Слава Панкратов присутствует в списке экспертов.
6. Проверить, что ваше ФИО отсутствует в списке экспертов.

XPath в данном случае будет необходим для поиска локаторов на страницах. Например, для ссылки на раздел "Наши эксперты" он может иметь вид //*div[@id='menuv']/ul/li[10]/a


Я реализовала первые четыре пункта. Использовала плагин FireBug для FireFox и дополнение к плагину FirePath по-моему оно так называется:) Вот код:

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;


public class task1 {

/**
* @param args
*/
public static void main(String[] args) {
WebDriver wd = new FirefoxDriver();
wd.get("http://qaclub.com.ua/");
WebElement element = wd.findElement(By.xpath(".//*[@id='menuv']/ul/li[10]/a"));
element.click();

Все работает. Знаю, что необходимо использовать последовательность методов getText().contains("some test") для сравнения текста, а также условия в Java. Подскажите на примере, как проверить, что Слава Панкратов является экспертом? Спасибо за ответ:)


Перечень экспертов - это таблица из n-строк и одного столбца. Соответственно вам необходимо найти в этой таблице строку, текст в которой начинается с "Слава Панкратов".
xpath для поиска всех экспертов в таблице будет выглядеть как-то так //table/tbody/tr/td/strong. Почему такой xpath? Каждая строка таблицы начинается с имени и фамилии эксперта, окруженными тегом <strong>. Данный xpath найдет всех экспертов таблицы, удовлетворящих этому условию.
Соответственно ваш код будет выглядеть примерно следующем образом (я не знаю Java, могу где-то ошибиться):

WebElement experts = wd.findElements(By.xpath("//table/tbody/tr/td/strong"));
Затем средствами самой Java проверить входит ли Слава Панкратов в этот список или нет.

Либо 2-ой вариант сразу попытаться найти только Славу Панкратова. В этом случае xpath будет таким //table/tbody/tr/td/strong[text()='Слава Панкратов']

Затем по аналогии с поиском Славы Пакнратова поискать себя в этом списке.
  • 0

#8 toxi

toxi

    Новый участник

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Татьяна
  • Город:Харьков

Отправлено 11 июля 2013 - 12:56




Собственно задание: Из стартовой страницы qaclub.com.ua перейдите в раздел "Наши эксперты" и убедитесь, что Слава Панкратов является экспертом, но вы не являетесь экспертом. С чего начать? Как в данном задании использовать XPath? Всем ответившим спасибо:)


Попробуйте разбить задание на подзадачи и реализовывать их одну за одной. Думаю, так будет проще.
Например:
1. Зайти на стартовую страницу qaclub.com.ua.
2. Проверить, что это вы оказались на нужной странице.
3. Перейти в раздел "Наши эксперты".
4. Проверить, что вы оказались в нужном разделе.
5. Проверить, что Слава Панкратов присутствует в списке экспертов.
6. Проверить, что ваше ФИО отсутствует в списке экспертов.

XPath в данном случае будет необходим для поиска локаторов на страницах. Например, для ссылки на раздел "Наши эксперты" он может иметь вид //*div[@id='menuv']/ul/li[10]/a


Я реализовала первые четыре пункта. Использовала плагин FireBug для FireFox и дополнение к плагину FirePath по-моему оно так называется:) Вот код:

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;


public class task1 {

/**
* @param args
*/
public static void main(String[] args) {
WebDriver wd = new FirefoxDriver();
wd.get("http://qaclub.com.ua/");
WebElement element = wd.findElement(By.xpath(".//*[@id='menuv']/ul/li[10]/a"));
element.click();

Все работает. Знаю, что необходимо использовать последовательность методов getText().contains("some test") для сравнения текста, а также условия в Java. Подскажите на примере, как проверить, что Слава Панкратов является экспертом? Спасибо за ответ:)


Перечень экспертов - это таблица из n-строк и одного столбца. Соответственно вам необходимо найти в этой таблице строку, текст в которой начинается с "Слава Панкратов".
xpath для поиска всех экспертов в таблице будет выглядеть как-то так //table/tbody/tr/td/strong. Почему такой xpath? Каждая строка таблицы начинается с имени и фамилии эксперта, окруженными тегом <strong>. Данный xpath найдет всех экспертов таблицы, удовлетворящих этому условию.
Соответственно ваш код будет выглядеть примерно следующем образом (я не знаю Java, могу где-то ошибиться):

WebElement experts = wd.findElements(By.xpath("//table/tbody/tr/td/strong"));
Затем средствами самой Java проверить входит ли Слава Панкратов в этот список или нет.

Либо 2-ой вариант сразу попытаться найти только Славу Панкратова. В этом случае xpath будет таким //table/tbody/tr/td/strong[text()='Слава Панкратов']

Затем по аналогии с поиском Славы Пакнратова поискать себя в этом списке.


Только вот непонятно где использовать метод getText().contains("some test"). В подробном описании задания сказано его использовать: Your task execution should be started from start of Browser (Internet Explorer, FireFox or Chrome). Use xPath expressions to verify a text that should be present (or somewhere you can use xPath to click necessary element). To compare necessary text use sequence of methods getText().contains("some test") for variable of WebElement.
Как то тогда все просто получается...
  • 0

#9 nuc

nuc

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Андрей
  • Город:Украина

Отправлено 11 июля 2013 - 13:08

Каждую задачу можно решить разными путями :)

Если нужно обязательно использовать getText().contains("some test"), то попробуйте так:

WebElement expert = wd.findElement(By.xpath("//table/tbody")).getText().contains("Слава Панкратов");
Этот код будет искать "Слава Панкратов" по всей таблице экспертов.
  • 0

#10 Keiga

Keiga

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Евгений
  • Город:Москва


Отправлено 11 июля 2013 - 13:23

Этот код будет искать "Слава Панкратов" по всей таблице экспертов.

А разве он не найдет первый подходящий по локатору элемент и не выплюнет false т.к. там не будет нужного текста?
  • 0

#11 nuc

nuc

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Андрей
  • Город:Украина

Отправлено 11 июля 2013 - 13:30


Этот код будет искать "Слава Панкратов" по всей таблице экспертов.

А разве он не найдет первый подходящий по локатору элемент и не выплюнет false т.к. там не будет нужного текста?

На странице "Наши эксперты" всего одна таблица. Соответственно такой xpath найдет только ее и дальнейший поиск нужного текста будет происходить в ее содержимом.
  • 0

#12 toxi

toxi

    Новый участник

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Татьяна
  • Город:Харьков

Отправлено 11 июля 2013 - 16:40

Каждую задачу можно решить разными путями :)

Если нужно обязательно использовать getText().contains("some test"), то попробуйте так:

WebElement expert = wd.findElement(By.xpath("//table/tbody")).getText().contains("Слава Панкратов");
Этот код будет искать "Слава Панкратов" по всей таблице экспертов.


У меня запустился браузер, открылась страница, прошло по ссылке "Наши эксперты" и все:( что не так? :( может надо проверку написать? например if?
  • 0

#13 nuc

nuc

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Андрей
  • Город:Украина

Отправлено 11 июля 2013 - 16:58


Каждую задачу можно решить разными путями :)

Если нужно обязательно использовать getText().contains("some test"), то попробуйте так:

WebElement expert = wd.findElement(By.xpath("//table/tbody")).getText().contains("Слава Панкратов");
Этот код будет искать "Слава Панкратов" по всей таблице экспертов.


У меня запустился браузер, открылась страница, прошло по ссылке "Наши эксперты" и все:( что не так? :( может надо проверку написать? например if?


Результат "и все" ни о чем не говорит :). Что получилось в результате выполнения теста? Он упал с ошибкой или завершился успешно?
Если упал с ошибкой, то выложите здесь текст ошибки. Если выполнился успешно, то текст "Слава Панкратов" найден, а результат поиска - это переменная expert (ее значение будет True (искомая подстрока найдена) или False (искомая подстрока не найдена)). Как дальше обрабатывать данную переменную зависит от вас как от разработчика теста. Например, если expert = True, то вывести в консоль/лог сообщение, что искомый эксперт Слава Панкратов найден и наоборот, если expert = false. Либо же запихнуть это все в конструкцию try-catch.
  • 0

#14 toxi

toxi

    Новый участник

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Татьяна
  • Город:Харьков

Отправлено 11 июля 2013 - 17:53



Каждую задачу можно решить разными путями :)

Если нужно обязательно использовать getText().contains("some test"), то попробуйте так:

WebElement expert = wd.findElement(By.xpath("//table/tbody")).getText().contains("Слава Панкратов");
Этот код будет искать "Слава Панкратов" по всей таблице экспертов.


У меня запустился браузер, открылась страница, прошло по ссылке "Наши эксперты" и все:( что не так? :( может надо проверку написать? например if?


Результат "и все" ни о чем не говорит :). Что получилось в результате выполнения теста? Он упал с ошибкой или завершился успешно?
Если упал с ошибкой, то выложите здесь текст ошибки. Если выполнился успешно, то текст "Слава Панкратов" найден, а результат поиска - это переменная expert (ее значение будет True (искомая подстрока найдена) или False (искомая подстрока не найдена)). Как дальше обрабатывать данную переменную зависит от вас как от разработчика теста. Например, если expert = True, то вывести в консоль/лог сообщение, что искомый эксперт Слава Панкратов найден и наоборот, если expert = false. Либо же запихнуть это все в конструкцию try-catch.


"Change type of expert to boolean" ошибка. Как мне реализовать проверку?:)
  • 0

#15 nuc

nuc

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Андрей
  • Город:Украина

Отправлено 11 июля 2013 - 18:27

"Change type of expert to boolean" ошибка. Как мне реализовать проверку?:)

Изменить тип переменной expert на boolean, судя по тексту ошибки.

boolean expert = wd.findElement(By.xpath("//table/tbody")).getText().contains("Слава Панкратов");

  • 0

#16 toxi

toxi

    Новый участник

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Татьяна
  • Город:Харьков

Отправлено 11 июля 2013 - 18:58

"Change type of expert to boolean" ошибка. Как мне реализовать проверку?:)

Изменить тип переменной expert на boolean, судя по тексту ошибки.

boolean expert = wd.findElement(By.xpath("//table/tbody")).getText().contains("Слава Панкратов");


Да это я уже поняла. Т.е. к моему коду надо добавить только эту одну строку и все? С программированием у меня слабо, я не совсем понимаю, как это должно выглядеть...
  • 0

#17 nuc

nuc

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Андрей
  • Город:Украина

Отправлено 12 июля 2013 - 05:44


"Change type of expert to boolean" ошибка. Как мне реализовать проверку?:)

Изменить тип переменной expert на boolean, судя по тексту ошибки.

boolean expert = wd.findElement(By.xpath("//table/tbody")).getText().contains("Слава Панкратов");


Да это я уже поняла. Т.е. к моему коду надо добавить только эту одну строку и все? С программированием у меня слабо, я не совсем понимаю, как это должно выглядеть...


Переменная expert будет содержать True или False в зависимости от того содержит ли текст таблицы текст "Слава Панкратов" или нет. True - содержит, False - не содержит. Как обработать данный результат - это все уже зависит от вас.
  • 0

#18 toxi

toxi

    Новый участник

  • Members
  • Pip
  • 18 сообщений
  • ФИО:Татьяна
  • Город:Харьков

Отправлено 12 июля 2013 - 11:50



"Change type of expert to boolean" ошибка. Как мне реализовать проверку?:)

Изменить тип переменной expert на boolean, судя по тексту ошибки.

boolean expert = wd.findElement(By.xpath("//table/tbody")).getText().contains("Слава Панкратов");


Да это я уже поняла. Т.е. к моему коду надо добавить только эту одну строку и все? С программированием у меня слабо, я не совсем понимаю, как это должно выглядеть...


Переменная expert будет содержать True или False в зависимости от того содержит ли текст таблицы текст "Слава Панкратов" или нет. True - содержит, False - не содержит. Как обработать данный результат - это все уже зависит от вас.



Мне ясна сама идея теста. Я пытаюсь сказать, что не понимаю как можно обработать результат, то есть составить код. Не поможете? :blush:
  • 0

#19 VitalyD

VitalyD

    Опытный участник

  • Members
  • PipPipPipPip
  • 285 сообщений
  • Город:Санкт-Петербург

Отправлено 12 июля 2013 - 14:57

Да это я уже поняла. Т.е. к моему коду надо добавить только эту одну строку и все? С программированием у меня слабо, я не совсем понимаю, как это должно выглядеть...




Не троллинга ради а интереса.
А зачем вы делаете это задание?
С таким уровнем программирования (нулевым) я с трудом представляю как вы будете писать автотесты.
Мб сначала стоит чуть подучить программирование???
  • 0

#20 nuc

nuc

    Новый участник

  • Members
  • Pip
  • 47 сообщений
  • ФИО:Андрей
  • Город:Украина

Отправлено 12 июля 2013 - 17:35

Мне ясна сама идея теста. Я пытаюсь сказать, что не понимаю как можно обработать результат, то есть составить код. Не поможете? :blush:/>


Не хочу показаться грубым, но я не вижу ничего полезного в том, чтобы писать за вас код (даже если это будет несколько строчек). Да еще и на языке, который я вообще не использую и практически не знаю (в своей работе я использую Python). Какой смысл в том, если вы, например, пройдете собеседование сдав чужой код, но затем не сможете выполнять свою работу тестировщика?
Если вы действительно хотите писать автотесты, а не просто пройти собеседование, начните изучать азы программирования. Благо в сети полно различных материалов. Например, на ютубе проскакивали какие-то курсы по Java для тестировщиков.
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных