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

Публикации Jenka156

138 публикаций создано Jenka156 (учитываются публикации только с 26 апреля 2023)



#98444 тесты java - webdriver

Отправлено автор: Jenka156 08 декабря 2011 - 19:01 в Selenium - Functional Testing

нет. это только кусок. url выше задается.
а на java как вообще правильно? может быть каждый тест отдельным файлом писать надо? или отдельным классом. потому что сейчас у меня все тесты в одном классе просто написаны разными функциями.



#98455 тесты java - webdriver

Отправлено автор: Jenka156 09 декабря 2011 - 05:55 в Selenium - Functional Testing

Спасибо огромное преогромное!!!! действительно вместо @Befor и @After надо было написать @beforemethod и @aftermethod. Теперь все работает как надо! очень благодарна всем кто помог)))



#98311 тесты java - webdriver

Отправлено автор: Jenka156 06 декабря 2011 - 18:49 в Selenium - Functional Testing

Здравствуйте! Я прошу прощения, если такая тема была уже на форуме, но, к сожалению, я не могу найти никакой информации...
Помогите пожалуйста с написанием тестов на java с webdriver.
Я работала по wiki selenium. про использование методов все вроде понятно.
но только как построить тест в плане структуры мне вообще не понятно...

я взяла простой пример вот с этого ресурса http://seleniumexamp.../tag/webdriver/
package com.eviltester.tutorial;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
 
import java.util.List;
 
public class FirstTest {
 
    WebDriver driver;
 
    @BeforeTest
    public void startDriver() {
        driver = new FirefoxDriver();
    }
 
    @AfterTest
    public void stopDriver() {
        driver.close();
    }
 
    @Test
    public void listCheesecakes() {
        driver.get("http://www.thecheesecakefactory.com/");
        driver.findElement(By.linkText("Menu")).click();
        driver.findElement(By.linkText("Cheesecake")).click();
        List<WebElement> cheesecakes = driver.findElements(By.xpath("id('leftNav_levelTwo')//li"));
 
        System.out.println(cheesecakes.size() + " cheesecakes:");
        for (int i=0; i<cheesecakes.size(); i++) {
            System.out.println(i+1 + ". " + cheesecakes.get(i).getText());
        }
    }
 
}

и при попытке воспроизведения теста мне пишет ошибку: Exception in thread "main" java.lang.NoSuchMethodError: main.
Само значение ошибки мне понятно. но куда именно мне нужно добавить класс main, чтоб все заработало?
Я раньше писала тесты только на php.
Может вы мне подскажете какие нибудь ресурсы, где можно посмотреть, как правильно построить тест?



#98393 тесты java - webdriver

Отправлено автор: Jenka156 08 декабря 2011 - 05:33 в Selenium - Functional Testing

я в эклипсе запускаю. через кнопку Run.
пробовала специально ввести неверный xpath в первый тест, запустила. он начал воспроизводится: на строке с неверным значением упал с исключением NoSuchElementExeption и все, второй тест дальше не начал воспроизводится



#98401 тесты java - webdriver

Отправлено автор: Jenka156 08 декабря 2011 - 07:39 в Selenium - Functional Testing

извините... не знала этого. спасибо за информацию...



#98341 тесты java - webdriver

Отправлено автор: Jenka156 07 декабря 2011 - 07:08 в Selenium - Functional Testing

спасибо!



#98330 тесты java - webdriver

Отправлено автор: Jenka156 07 декабря 2011 - 05:28 в Selenium - Functional Testing

я просто в среде NetBeans запускаю, как обычный файл. а где можно взять этот xml?



#98365 тесты java - webdriver

Отправлено автор: Jenka156 07 декабря 2011 - 12:15 в Selenium - Functional Testing

вот пример:
public class LogInLogOut extends main_class{
	
	@Test(alwaysRun=true)
   public void LoginLogoutUser() throws InterruptedException{
		
			this.WaitForElementLoad(15, "//a[text()='Войти']");
			driver.findElement(By.linkText("Войти")).click();
	//-- ввод неверных данных
			this.WaitForElementLoad(15, "//input[@name='username']"); 
	        driver.findElement(By.name("username")).sendKeys("test@gmail.com");
	        driver.findElement(By.name("password")).sendKeys("234");
	        driver.findElement(By.id("auth-submit")).click();
	        this.WaitForElementLoad(15, "//span[text()='Неправильный логин или пароль!']"); 
	        driver.findElement(By.xpath("//span[text()='Неправильный логин или пароль!']"));
	//-- ввод верных данных
	        driver.findElement(By.name("username")).clear();
	        driver.findElement(By.name("username")).sendKeys("test@gmail.com");
	        driver.findElement(By.name("password")).clear();
	        driver.findElement(By.name("password")).sendKeys("q2wsx'56'");
	        driver.findElement(By.id("auth-submit")).click();
	        this.WaitForElementLoad(15, "//a[text()='Тестовый Пользователь']"); 
	        driver.findElement(By.xpath("//a[text()='Тестовый Пользователь']"));
	//-- выход из системы
	        driver.findElement(By.linkText("Выйти")).click();
	        this.WaitForElementLoad(15, "//a[text()='Войти']");
	        driver.findElement(By.xpath("//a[text()='Войти']"));
	        driver.findElement(By.xpath("//a[text()='Регистрация']"));

   }
	
	   @Test(alwaysRun=true)
	   public void RegisterUser() throws InterruptedException{
		
		   this.WaitForElementLoad(15, "//a[text()='Регистрация']");
		   driver.findElement(By.xpath("//a[text()='Регистрация']")).click();
		   
		   this.WaitForElementLoad(15, "//h1[text()='Регистрация']");
		   driver.findElement(By.xpath("//h1[text()='Регистрация']"));
		   driver.findElement(By.xpath("//div[@id='reg-dialog']/form//input[@name='username']")).sendKeys("tttest11@mail.ru");
		   driver.findElement(By.name("firstName")).sendKeys("Иван");
		   driver.findElement(By.name("lastName")).sendKeys("Иванов");
		   driver.findElement(By.xpath("//div[@id='reg-dialog']/form//input[@name='password']")).sendKeys("123");
		   driver.findElement(By.name("confirm_password")).sendKeys("123");
		   
		  driver.findElement(By.xpath("//input[@value='Регистрация']")).click();
	}
}

если сваливается первый тест LoginLogoutUser(), то второй RegisterUser() не выполняется уже



#98361 тесты java - webdriver

Отправлено автор: Jenka156 07 декабря 2011 - 11:28 в Selenium - Functional Testing

со всем разобралась, только есть один небольшой вопрос. Вот в phpunit если в файле было несколько тестов (функциий) и при этом при воспроизведении один из них падал, то начинал выполнятся следующий и так далее. на java также? просто сейчас пробовала: при падении одного из тестов остальные не воспроизводятся почему то..



#98488 ошибка: Element is not currently visible

Отправлено автор: Jenka156 09 декабря 2011 - 12:54 в Selenium - Functional Testing

а по координатам можно вообще делать? или так не рекомендуется?



#98494 ошибка: Element is not currently visible

Отправлено автор: Jenka156 09 декабря 2011 - 13:56 в Selenium - Functional Testing

Возможно появление ошибки из-за разных версий фаерфокса.

я тестирую в 8.0



#98536 ошибка: Element is not currently visible

Отправлено автор: Jenka156 12 декабря 2011 - 07:30 в Selenium - Functional Testing

ради интереса записал видео, может я не так понял куда надо нажимать
http://clip2net.com/s/1oqKI


ну да, все верно у Вас... у меня также не получается. буду пробовать сегодня

Вот такой костыль работает) Правда только в Firefox)


жаль.... мне надо во всех браузерах



#98529 ошибка: Element is not currently visible

Отправлено автор: Jenka156 12 декабря 2011 - 05:16 в Selenium - Functional Testing

Универсальность этого пути в том, что поменяв текст поиска - 'Искусство' (как в любой строке просто подставить тот тект который Вам надо) Вы можете нажать на тот элемент который необходим в данный момент.


я это прекрасно понимаю) дело в том, что какой путь бы я не использовала, у меня все равно не нажимает на него

Ну прям мистика какая-то, может версии селениума у нас разные? у меня 2.13


у меня 2.14... надо попробовать на 2.13.

nstreltsov, а я бы хотела уточнить, у Вас при нажатии на крестик что происходит? по идее это тег должен удаляться из списка при нажатии. у Вас так?



#98487 ошибка: Element is not currently visible

Отправлено автор: Jenka156 09 декабря 2011 - 12:50 в Selenium - Functional Testing

это наверно удивительно, но у меня этот скрипт также отрабатывает с ошибкой
org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with

в чем в этом случае может быть проблема? я воспроизвожу тест в firefox.



#98461 ошибка: Element is not currently visible

Отправлено автор: Jenka156 09 декабря 2011 - 06:53 в Selenium - Functional Testing

да. вот страница. при наведении на ссылку Спорт появляется плюсик в правом верхнем углу от слова Спорт. В коде он почему то серый.... Причем когда писала эти тесты на selenium RC, то все прекрасно работало: при событии mouseOver() плюсик появлялся и на него можно было нажать.
а здесь не получается это воспроизвести.

Прикрепленные изображения

  • Снимок Mozilla Firefox.png



#98436 ошибка: Element is not currently visible

Отправлено автор: Jenka156 08 декабря 2011 - 14:09 в Selenium - Functional Testing

Помогите пожалуйста. у меня есть невидимый элемент (plus), который появляется только при наведении мышки на другой элемент (tag).
У меня не получается воспроизвести это в Webdriver.
Может в моем коде ошибка?
Actions builder;
builder = new Actions(driver);
WebElement tag = driver.findElement(By.xpath("//div[contains(@class, 'tags-cloud')][1]/ul/li[@class='not-added']/a"));
WebElement plus = driver.findElement(By.xpath("//div[contains(@class, 'tags-cloud')][1]/ul/li[@class='not-added']//span[@class='tdtg-addTag add']"));
builder.moveToElement(tag).click(plus).build().perform();

здесь, когда доходит до строки builder.moveToElement(tag).click(plus).build().perform(); , тест сваливается с ошибкой "Element is not currently visible and so may not be interacted with".
Но ведь по идее в этой команде он наводит мышь на элемент и другой элемент должен появиться...



#98445 ошибка: Element is not currently visible

Отправлено автор: Jenka156 08 декабря 2011 - 19:12 в Selenium - Functional Testing

нет, xpath не меняется. если смотреть в firebug, то элемент серого цвета



#98612 ваша должность в трудовой книжке

Отправлено автор: Jenka156 13 декабря 2011 - 07:09 в Про тестирование обо всём подряд

о. а я думала что может как то: Специалист отдела тестирования или главный специалист. может еще какие нибудь варианты)



#98641 ваша должность в трудовой книжке

Отправлено автор: Jenka156 13 декабря 2011 - 10:56 в Про тестирование обо всём подряд

А у вас то какая должность в трудовой? :)


да в том то и дело, что директор не знает какую должность писать) сказал, чтоб сама сказала какую хочу)



#98606 ваша должность в трудовой книжке

Отправлено автор: Jenka156 13 декабря 2011 - 06:18 в Про тестирование обо всём подряд

А у кого какая должность в трудовой книжке написана?

Да и вообще как правильно звучит должность тестировщика?



#107246 Хром + селениум = хром + селениум.

Отправлено автор: Jenka156 02 июля 2012 - 11:10 в Selenium - Functional Testing

кладете куда-нибудь, а потом правой кнопкой по Компьютеру -> Свойства -> Дополнительные параметры системы -> Переменные среды -> в окошке Системные переменные находите переменную Path и в нее дописываете путь до своего хромдрайвера. У меня, например, путь выглядит так: C:\chrome-driver



#98990 что делать с ошибкой Element cannot be scrolled into view

Отправлено автор: Jenka156 21 декабря 2011 - 10:01 в Selenium - Functional Testing

спасибо большое! буду пробовать)



#98981 что делать с ошибкой Element cannot be scrolled into view

Отправлено автор: Jenka156 21 декабря 2011 - 08:28 в Selenium - Functional Testing

прямо на главной странице есть боковые вкладки для перехода на разделы. Справа Топ, слева Календарь.
Вот код, который я использую для перехода:
@Test(alwaysRun=true)
	public void Tabs() throws InterruptedException{
	//-- переход на Календарь
                this.WaitForElementLoad(120, "//div[@id='right-local-nav']/a[@class='local-nav-btn']");
		driver.findElement(By.xpath("//div[@id='right-local-nav']/a[@class='local-nav-btn']")).click();
		this.WaitForElementLoad(120, "//div[@id='left-local-nav']/a[@class='local-nav-btn']/*[text()='Лента']");
		Assert.assertTrue(this.IsElementPresent("//div[@id='left-local-nav']/a[@class='local-nav-btn']/*[text()='Лента']"));
		driver.findElement(By.xpath("//table[@class='cal-week']"));
	//-- переход на Ленту
		driver.findElement(By.xpath("//div[@id='left-local-nav']/a[@class='local-nav-btn']")).click();
		this.WaitForElementLoad(120, "//div[@id='left-local-nav']/a[@class='local-nav-btn']/*[text()='Топ']");
		Assert.assertTrue(this.IsElementPresent("//div[@id='left-local-nav']/a[@class='local-nav-btn']/*[text()='Топ']"));
		driver.findElement(By.xpath("//div[@class='main-block-head active-head']"));
	//-- переход на Топ
		driver.findElement(By.xpath("//div[@id='left-local-nav']/a[@class='local-nav-btn']")).click();
		this.WaitForElementLoad(120, "//div[@id='top_content']");
		Assert.assertTrue(this.IsElementPresent("//div[@id='top_content']"));
		driver.findElement(By.xpath("//h1[text()='Топ']"));
	}

        public class ElementPresent implements ExpectedCondition<WebElement> { 
	        private final By locator; 
	        public ElementPresent(By locator) { 
	                this.locator = locator; 
	        } 
	        @Override 
	        public WebElement apply(WebDriver driver) { 
	                return driver.findElement(locator); 
	        } 
			}
		
	public void WaitForElementLoad(int time, String element_xpath){
			new WebDriverWait(driver, time).until(new ElementPresent(By.xpath(element_xpath)));
		}

и вот прикреплена maff-копия

Прикрепленные файлы

  • Прикрепленный файл  maff.tar.gz   97,47К   1 Количество загрузок:



#98933 что делать с ошибкой Element cannot be scrolled into view

Отправлено автор: Jenka156 20 декабря 2011 - 11:53 в Selenium - Functional Testing

кто нибудь встречался с этой ошибкой?

на сайте имеются боковые кнопки, при нажатии на которые страница прокручивается вправо или влево к другим разделам.
Когда тест запускается в хроме, то все нормально. страница прокручивается как надо.
Но когда тест запускается в firefox или IE или Opera, то выпадает такая ошибка:
org.openqa.selenium.interactions.MoveTargetOutOfBoundsException: Element cannot be scrolled into view:http://2do2go.mordor.fabit.ru/feed
Command duration or timeout: 31 milliseconds
Build info: version: '2.15.0', revision: '15105', time: '2011-12-08 09:56:25'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_01'
Driver info: driver.version: RemoteWebDriver
Command duration or timeout: 301 milliseconds
Build info: version: '2.15.0', revision: '15105', time: '2011-12-08 09:56:25'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-36-generic', java.version: '1.6.0_20'
Driver info: driver.version: RemoteWebDriver

страница никуда не прокручивается.

Как с этим разобраться можно?



#105109 поиск битых ссылок

Отправлено автор: Jenka156 03 мая 2012 - 13:47 в Автоматизированное тестирование

Здравствуйте! скажите, кто какими средствами пользуется для поиска битых ссылок на сайте?
нужно средство для автоматизации этого процесса