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

Публикации Jenka156

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



#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, а я бы хотела уточнить, у Вас при нажатии на крестик что происходит? по идее это тег должен удаляться из списка при нажатии. у Вас так?



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

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

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

я тестирую в 8.0



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

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

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



#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



#98455 тесты java - webdriver

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

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



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

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

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



#98444 тесты java - webdriver

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

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



#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".
Но ведь по идее в этой команде он наводит мышь на элемент и другой элемент должен появиться...



#98402 webdriver, opera и safari

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

с оперой уже решила проблему. нашла информацию, что надо отключить все в опере, чтоб она быстрее запускалась. Действительно помогло: отключила все виджеты, да и вообще все, что возможно отключить. Сразу все нормально заработало.



#98401 тесты java - webdriver

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

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



#98393 тесты java - webdriver

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

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



#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 также? просто сейчас пробовала: при падении одного из тестов остальные не воспроизводятся почему то..



#98341 тесты java - webdriver

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

спасибо!



#98330 тесты java - webdriver

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

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



#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.
Может вы мне подскажете какие нибудь ресурсы, где можно посмотреть, как правильно построить тест?



#98183 webdriver: mouseOver() c phpunit

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

Подскажите пожалуйста, есть ли возможность реализовать событие mouseOver на php?
нигде информацию не могу найти по phpunit. везде приведены примеры только с использованием класса Action java.



#98166 есть ли в webdriver getText?

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

о! спасибо большое!



#98104 есть ли в webdriver getText?

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

Здравствуйте! столкнулась с такой проблемой: адаптирую тесты под webdriver и не могу найти аналог функции getText(). Она использовалась чтоб брать у ряда элементов текст и потом обращаться к ним через параметр xpath (//a[text()="текст который был взят раньше"]).

как в webdriver можно взять текст элемента???



#98097 webdriver, opera и safari

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

недавно перешла на webdriver. дала ладу со всеми браузерами кроме оперы и сафари.
Скажите пожалуйста, кто нибудь сталкивался с такой проблемой: при запуске теста для оперы браузер открывается но url не передается в браузер. запускается просто пустая страница.
код вот такой:
<?php

require_once 'phpwebdriver/WebDriver.php';
require_once 'phpwebdriver/CWebDriverTestCase.php';

class newSeleneseTest extends CWebDriverTestCase {

    function setUp() {
        $this->webdriver = new WebDriver("localhost", 4444);
        $this->webdriver->connect("opera"); //  или "safari"
        $this->webdriver->get("http://google.com"); 
        $this->setBrowserURL("http://google.com");
    }

    function testMyTestCase() {
        $this->open("http://google.com", "searchform");
    }
}


может это какие то косяки в моем коде? но хром, ИЕ и фаерфокс запускаются отлично, а опера глючит. методы $this->webdriver->get("http://google.com"); и $this->setBrowserURL("http://google.com"); не передают URL в оперу...

а еще сафари не могу запустить с webdriver. как я поняла safari не поддерживается webdriver?



#98046 запуск селениума на другой машине

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

спасибо большое! попробую разобраться.

а я тогда хотела бы еще спросить.... вообщем я работала с selenium rc до сих пор. Вчера столкнулась с проблемами, из-за которых было решено переходить на webDriver.
по методам я более менее освоилась, но сейчас проблема появилась в том, что не могу тест запустить ни на чем кроме firefox.

я еще не до конца понимаю как он работает. но в инете по этим пролемам не нашла информации:
1. при запуске через оперу просто запускается браузер, url вообще не передается. в терминале пишет что передается пустой url.
2. сафари вообще не запускается. пишет что driver.version: unknown.

В чем именно проблема? вот код, который я пытаюсь запустить:
<?php

require_once 'phpwebdriver/WebDriver.php';
require_once 'phpwebdriver/CWebDriverTestCase.php';

class newSeleneseTest extends CWebDriverTestCase {

    function setUp() {
	$this->webdriver = new WebDriver("localhost", 4444);
        $this->webdriver->connect("opera"); //  или "safari"
	$this->webdriver->get("http://google.com");
    }

    function testMyTestCase() {
	$this->open("http://google.com", "top-bar-bg");
    }
}

как я понимаю это скорее моя ошибка)))
скажу сразу, что в переменной Path я прописала пути к opera.exe и safari.exe


и еще... под линуксом хром не могу запустить. положила chromedriver во все возможные места, но что то не помогает. пишет что driver unknown



#98041 запуск селениума на другой машине

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

подскажите, пожалуйста, как это сделать?



#98014 запуск селениума на другой машине

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

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

Есть ли вообще такая возможность? Или нужно чтоб селениум и phpunit стояли на одной машине?