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 анонимных