Selenium +Eclipse
#1
Отправлено 26 июля 2012 - 09:32
Как создать отдельный jar файл исполняемый ?
2)
Я пробовал написать тест без использования браузера,то есть HtmlUnit driver вместо Firefox driver
И что-то не получается он запускает IE движок и там видимо как-то иначе работает или отображается нечто.
Как переключить что бы HtmlUnit использовал движок FireFox причём в системе он не установлен по умолчанию,portable стоит.
3)
Как запустить пошаговую отладку,чтобы было видна какая строчка в данный момент выполняется ?
4,5)
Где взять вообще список команд этих тупых, типа установки пути к FireFox
и как я должен догадывается где это искать и какую команду использовать ?
-
чудовищна система
(с)из лучших на свете книг "Звенящие кедры России"
#2
Отправлено 26 июля 2012 - 11:45
2. хз
3. Я использую брэйк поинты (мне пошагово не надо) - 2 раза кликаю мышкой на кусок фрейма (или как это правильно назвать) перед кодом, появляется кружлчек, дальше, на панели инструментов жму на жучка (запустить отладку) и потом для каждого шага жму "далее"
4. Каждый раз ищу в нете
надеюсь ответ помог
#3
Отправлено 26 июля 2012 - 12:59
но надо сначала тест чтобы работал
у меня fireFoax в другую папку установлен и я не пойму где эту куету прописываеть,путь тобишь к FireFox
вот она плата за бесплатное.
(с)из лучших на свете книг "Звенящие кедры России"
#4
Отправлено 26 июля 2012 - 14:14
2)
Я пробовал написать тест без использования браузера,то есть HtmlUnit driver вместо Firefox driver
И что-то не получается он запускает IE движок и там видимо как-то иначе работает или отображается нечто.
Как переключить что бы HtmlUnit использовал движок FireFox причём в системе он не установлен по умолчанию,portable стоит.
Вообще HtmlUnit-у не важно есть у вас FF или нет. У него свой механизм эмуляции браузеров.
А как использовать какой-то другой движок, читаем джавадоки: http://htmlunit.sour.../WebClient.html
Про Тестинг
#5
Отправлено 26 июля 2012 - 14:42
После долгих психов я решил поставить FireFox 3.6 в папку C:\Program Files\Mozilla Firefox\
И тест пошёл ,причём установка FireFox 14 в E:\Program Files\Mozilla Firefox\ и кликание в eclipse галки что браузер по-умолчанию используем ничего не дало,в общем пшёл он нах...
Возникла проблема.
у меня при экспорте из Selenium IDE в junit4 webdriver все type заменились на sendKeys и теперь у меня текст минуту набирается в поле воода,там примерно 1000 символов.
Я так счастлив...
(с)из лучших на свете книг "Звенящие кедры России"
#6
Отправлено 26 июля 2012 - 16:27
1. Открываете Эклипс, подключаете к нему Селениум (можно внешним файлом, можно внутренним, я делаю внешним), проверяете работоспособность кода. Должен быть основной класс (main): public static void main(String[] args). Далее Файл - Экспорт, выбираем Java - Runnable Jar file, жмём Далее; в Ланч Конфигурэйшн выбираем свой main класс, выбираем куда сохранить и способ, как упаковывать или не упаковывать Селениум (я выбираю последний пункт всегда)
помогите разобраться
куда деть этот класс майн в моём коде,везде ошибку выдаёт ))
замучался со скобками
package com.example.tests;
import java.io.File;
import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxBinary;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class Selentest1 {
private WebDriver driver;
private String baseUrl;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}
@Test
public void testSelentest1() throws Exception {
driver.get("http://izhbazar.ru");
driver.findElement(By.cssSelector("a[title=\"Вход\"]")).click();
driver.findElement(By.id("password")).clear();
driver.findElement(By.id("password")).sendKeys("3534");
driver.findElement(By.id("username")).clear();
driver.findElement(By.id("username")).sendKeys("rtghr");
driver.findElement(By.name("login")).click();
driver.findElement(By.cssSelector("dt[title=\"Нет непрочитанных сообщений\"] > a.forumtitle")).click();
driver.findElement(By.cssSelector("div.post-icon > a > span")).click();
driver.findElement(By.id("subject")).clear();
driver.findElement(By.id("subject")).sendKeys("селенийм тест");
driver.findElement(By.id("message")).clear();
driver.findElement(By.id("message")).sendKeys("тест 123");
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}
}
(с)из лучших на свете книг "Звенящие кедры России"
#7
Отправлено 26 июля 2012 - 19:33
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
public class MyTestRunner {
public static void main(String[] args) {
Result result = JUnitCore.runClasses(MyClassTest.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
}
}источник: http://www.vogella.c...it/article.htmlгде MyClassTest.class - название скомпилиного класса Жюнита (Эклипс автоматически компилирует, по умолчанию).
Т.е. нужно сначала запустить этот код, чтобы он отработал (чтобы знать, что всё ОК, не обязательный шаг), а потом вместо MyClassTest.class указать что-то типа Selentest1.class, а потом при компиляции выбрать MyClassTest.class
Предупрежу: некоторые говорят, что так делать фу-фу как плохо, но у меня всё работает, поэтому я не очень вдумывался почему плохо
#8
Отправлено 26 июля 2012 - 20:11
намешали говна-то намешали,нах нужен этот junit tесли selenium модуль импортированый сам является ядром и всё это можно без югнитов сделать только на яве+селениум,как на си+селениум.
Я наверно что-то не понимаю....
(с)из лучших на свете книг "Звенящие кедры России"
#9
Отправлено 27 июля 2012 - 07:04
ну, сначала был ИДЕ (плагин к ФФ) и фреймворк, основанный на Жюните, потом год назад или 2 сделали ВебДрайвер. Не удалять же Жюнит из поддержки, это же несерьёзноничего не понятно но попробую разобраться
намешали говна-то намешали,нах нужен этот junit tесли selenium модуль импортированый сам является ядром и всё это можно без югнитов сделать только на яве+селениум,как на си+селениум.
Я наверно что-то не понимаю....
#10
Отправлено 27 июля 2012 - 09:18
просто у меня буря эмоций от того, что я многое не понимаю )))
вот этот код,вставлять в мою программу или отдельно как класс или пакет
до меня не доходит.
(с)из лучших на свете книг "Звенящие кедры России"
#11
Отправлено 27 июля 2012 - 11:04
отдельно, как новый классда ,я понимаю..
просто у меня буря эмоций от того, что я многое не понимаю )))
вот этот код,вставлять в мою программу или отдельно как класс или пакет
до меня не доходит.
а вообще, если у вас есть свободное время и деньги - запишитесь на курсы
#12
Отправлено 27 июля 2012 - 11:44
нету у меня ни денег ни времени
я раз в год автоматизацией, в течении месяца занимаюсь,смысла не имеет,записываться.
(с)из лучших на свете книг "Звенящие кедры России"
#13
Отправлено 27 июля 2012 - 12:46
куету sendKeys можно заменить на другой метод,а именно;
после публикования класса ,в моём случае ,после строки:
public class Selentest1 {Добавляем следующие строчки;
private void setValue(WebElement element, String value) {
((JavascriptExecutor)driver).executeScript("arguments[0].value = arguments[1]", element, value);Далее вместо строчки ввода сообщения в форму;driver.findElement(By.id("message")).sendKeys("тут полтонны текста");пишем:WebElement inputField = driver.findElement(By.id("message"));
setValue(inputField, "тут полтонны текста");подглядел тут:
(с)из лучших на свете книг "Звенящие кедры России"
#14
Отправлено 28 июля 2012 - 05:25
и столкнулся с тем что имя же надо присвоить.
Имя какое-то определённое нужно ?
(с)из лучших на свете книг "Звенящие кедры России"
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных


