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

Фотография

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


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

#21 toxi

toxi

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

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

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

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


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


Я не пытаюсь пройти собеседование. это задание мне дали на курсах по тестированию ПО. И с джавой я тоже никогда не сталкивалась, поэтому мне так трудно.
  • 0

#22 nuc

nuc

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

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

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


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


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


Я не пытаюсь пройти собеседование. это задание мне дали на курсах по тестированию ПО. И с джавой я тоже никогда не сталкивалась, поэтому мне так трудно.

Я почему-то подумал, что это какое-то задание на собеседовании.
Если не секрет, то что это за курсы такие, где преподаватель дает задание по программированию не объяснив основ языка?

Раз вам ясна идея теста, но есть трудности с программированием, то, думаю, для вашего случая проще всего сделать так:
1. получаем результат поиска текста "Слава Панкратов" на странице экспертов
boolean expert = wd.findElement(By.xpath("//table/tbody")).getText().contains("Слава Панкратов");
2. используя оператор if-else, выводим сообщение об успешном или неудачном поиска:
if (expert) {
  System.out.println("Слава Панкратов - эксперт");
}
else {
  System.out.println("Слава Панкратов не найден в списке экспертов");
}
Этот код просто выведет сообщение, но выполнение самого теста на этом не прервется.
  • 0

#23 toxi

toxi

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

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

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



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


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


Я не пытаюсь пройти собеседование. это задание мне дали на курсах по тестированию ПО. И с джавой я тоже никогда не сталкивалась, поэтому мне так трудно.

Я почему-то подумал, что это какое-то задание на собеседовании.
Если не секрет, то что это за курсы такие, где преподаватель дает задание по программированию не объяснив основ языка?

Раз вам ясна идея теста, но есть трудности с программированием, то, думаю, для вашего случая проще всего сделать так:
1. получаем результат поиска текста "Слава Панкратов" на странице экспертов
boolean expert = wd.findElement(By.xpath("//table/tbody")).getText().contains("Слава Панкратов");
2. используя оператор if-else, выводим сообщение об успешном или неудачном поиска:
if (expert) {
  System.out.println("Слава Панкратов - эксперт");
}
else {
  System.out.println("Слава Панкратов не найден в списке экспертов");
}
Этот код просто выведет сообщение, но выполнение самого теста на этом не прервется.


Я уже так пробовала, никаких ошибок нет, но сообщение не выводится:(
  • 0

#24 nuc

nuc

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

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

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

Я уже так пробовала, никаких ошибок нет, но сообщение не выводится:(
В чем запускается тест? В какой-то IDE? Eclipse, Netbeans, что-то другое?
  • 0

#25 toxi

toxi

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

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

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

В чем запускается тест? В какой-то IDE? Eclipse, Netbeans, что-то другое?



Eclipse IDE for Java Developers.
  • 0

#26 nuc

nuc

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

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

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


В чем запускается тест? В какой-то IDE? Eclipse, Netbeans, что-то другое?



Eclipse IDE for Java Developers.


Консоль включена? Windows - Show View - Console.
  • 0

#27 toxi

toxi

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

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

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



В чем запускается тест? В какой-то IDE? Eclipse, Netbeans, что-то другое?



Eclipse IDE for Java Developers.


Консоль включена? Windows - Show View - Console.


Включена. Дело в том, что сообщение не выводится, когда System.out.println прописано в условии if. Если убрать условие, сообщение выводится.
  • 0

#28 nuc

nuc

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

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

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




В чем запускается тест? В какой-то IDE? Eclipse, Netbeans, что-то другое?



Eclipse IDE for Java Developers.


Консоль включена? Windows - Show View - Console.


Включена. Дело в том, что сообщение не выводится, когда System.out.println прописано в условии if. Если убрать условие, сообщение выводится.


Похоже, что не выполняется условие в if-else. Попробуйте просто вывести содержимое переменной expert и посмотреть, что она содержит.
  • 0

#29 toxi

toxi

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

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

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

Похоже, что не выполняется условие в if-else. Попробуйте просто вывести содержимое переменной expert и посмотреть, что она содержит.


Вывелся вот такой текст в консольном окне:

Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":"//table/tbody"}
Command duration or timeout: 764 milliseconds
For documentation on this error, please visit: http://seleniumhq.or...ch_element.html
Build info: version: '2.33.0', revision: '4e90c97', time: '2013-05-22 15:33:32'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_25'
Session ID: d4fff711-4816-4fcc-871d-aced4cebd3af
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{platform=XP, databaseEnabled=true, cssSelectorsEnabled=true, javascriptEnabled=true, acceptSslCerts=true, handlesAlerts=true, browserName=firefox, browserConnectionEnabled=true, nativeEvents=true, webStorageEnabled=true, rotatable=false, locationContextEnabled=true, applicationCacheEnabled=true, takesScreenshot=true, version=22.0}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:191)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:307)
at org.openqa.selenium.remote.RemoteWebDriver.findElementByXPath(RemoteWebDriver.java:404)
at org.openqa.selenium.By$ByXPath.findElement(By.java:344)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:299)
at task1.main(task1.java:19)
Caused by: org.openqa.selenium.remote.ErrorHandler$UnknownServerException: Unable to locate element: {"method":"xpath","selector":"//table/tbody"}
Build info: version: '2.33.0', revision: '4e90c97', time: '2013-05-22 15:33:32'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_25'
Driver info: driver.version: unknown
at <anonymous class>.FirefoxDriver.prototype.findElementInternal_(file:///C:/Users/Toxi/AppData/Local/Temp/anonymous8765211693839228144webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js:8444)
at <anonymous class>.FirefoxDriver.prototype.findElement(file:///C:/Users/Toxi/AppData/Local/Temp/anonymous8765211693839228144webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js:8453)
at <anonymous class>.DelayedCommand.prototype.executeInternal_/h(file:///C:/Users/Toxi/AppData/Local/Temp/anonymous8765211693839228144webdriver-profile/extensions/fxdriver@googlecode.com/components/command_processor.js:10456)
at <anonymous class>.DelayedCommand.prototype.executeInternal_(file:///C:/Users/Toxi/AppData/Local/Temp/anonymous8765211693839228144webdriver-profile/extensions/fxdriver@googlecode.com/components/command_processor.js:10461)
at <anonymous class>.DelayedCommand.prototype.execute/<(file:///C:/Users/Toxi/AppData/Local/Temp/anonymous8765211693839228144webdriver-profile/extensions/fxdriver@googlecode.com/components/command_processor.js:10401)

Содержимое переменной я выводила следующим образом: System.out.println("expert " + expert);
  • 0

#30 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


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

Не может найти элемент //table/tbody по XPath.
Вы точно находитесь на нужной странице?

Во-вторых, какого типа у вас переменная "Эксперт"? Случайно не boolean (логическая) - System.out.println("expert " + expert); ?

В общем, скидывайте получившийся код.
  • 0

#31 toxi

toxi

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

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

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

Не может найти элемент //table/tbody по XPath.
Вы точно находитесь на нужной странице?

Во-вторых, какого типа у вас переменная "Эксперт"? Случайно не boolean (логическая) - System.out.println("expert " + expert); ?

В общем, скидывайте получившийся код.


import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
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();

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

if (expert) {
System.out.println("Слава Панкратов - эксперт");
}
else {
System.out.println("Слава Панкратов не найден в списке экспертов");
}

}
}

Пробовала еще так:

FirefoxDriver driver = new FirefoxDriver();
driver.get("http://qaclub.com.ua/");
WebElement widgetBlog = driver.findElement(By.xpath(".//*[@id='menuv']/ul/li[10]/a"));
widgetBlog.click();


java.util.List<WebElement> descriptions = driver.findElements(By.xpath(".//div[@class='entry']/*/tr"));

boolean found = false;
for (WebElement description : descriptions) {
if (description.getText().contains("Слава Панкратов")) {
found = true;
break;
}
}

if (found)
System.out.println("Слава Панкратов = эксперт");
else System.out.println("Слава Панкратов не найден среди экспертов");

}

но выдает сообщение: "Слава Панкратов не найден среди экспертов".
Спасибо!
  • 0


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

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