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

Публикации Jenka156

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



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

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

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


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

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


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



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

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

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

я тестирую в 8.0



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

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

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



#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.



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



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

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

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

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

  • Снимок Mozilla Firefox.png



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

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

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


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

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


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

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



#93211 не выбирается элемент списка

Отправлено автор: Jenka156 26 августа 2011 - 05:22 в Selenium - Functional Testing

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



#93191 не выбирается элемент списка

Отправлено автор: Jenka156 25 августа 2011 - 13:39 в Selenium - Functional Testing

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

<select name="ext-comp-1018" size="20" style="height: 343px; width: 230px;" multiple="false" id="plugins_accessible" class=" x-form-select-multiple x-form-field ">
<option value="1" id="ext-gen465">Экспорт в RTF</option>
<option value="2" id="ext-gen466">Экспорт в XLS</option>
</select>

я пробовала методы:
click("//select[@id='plugins_accessible']//option[@value='1']")
clickAt("//select[@id='plugins_accessible']//option[@value='1']")
mouseDown("//select[@id='plugins_accessible']//option[@value='1']")
и еще в комбинации mouseOver() и mouseDown()

ничего не помогает. элемент не выделяется никак и соответственно не переносится в другой список

может кто знает как еще можно выделить элемент? (когда руками проходишь тест, он выделяется щелчком мыши по нему)

выглядит эта форма так:
Изображение



#92489 элементы с одинаковыми характеристиками

Отправлено автор: Jenka156 11 августа 2011 - 13:33 в Selenium - Functional Testing

Спасибо за помощь, для картинки xpath написала. теперь тест находит ее. но только при нажатии ничего не происходит почему-то. Должно появиться окно загрузки файла, но оно не появляется.
я пробовала и click() и clickAt и вот этот способ:
        $this->mouseDownAt($this->clip1, "4,4");
        $this->mouseUpAt($this->clip1, "4,4");
окно все равно не появляется...

сейчас пробовала выполнить эти действия в IDE. там на событие клика по скрепке не появляется никакой команды, хотя окно загрузки файла открывается. почему так?



#92472 элементы с одинаковыми характеристиками

Отправлено автор: Jenka156 11 августа 2011 - 10:28 в Selenium - Functional Testing

Вот более общий кусок кода. такого хватит?
<div class="x-grid3-row ux-maximgb-tg-level-1   " style="width: 658px; ">
 <table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="width: 658px; ">
  <tbody>
   <tr>
    <td class="x-grid3-col x-grid3-cell x-grid3-td-name x-grid3-cell-first " style="width: 283px; " tabindex="0">
     <div class="x-grid3-cell-inner x-grid3-col-name" unselectable="on">
      АФайл
     </div>
    </td>
    <td class="x-grid3-col x-grid3-cell x-grid3-td-1 " style="width: 341px; " tabindex="0">
     <div class="x-grid3-cell-inner x-grid3-col-1" unselectable="on">
      &nbsp;
     </div>
    </td>
   <td class="x-grid3-col x-grid3-cell x-grid3-td-2 x-grid3-cell-last " style="width: 34px; " tabindex="0">
    <div class="x-grid3-cell-inner x-grid3-col-2" unselectable="on">
     <form id="F259_10" name="F259_10" method="POST" action="/user/edituser/upload" class="file-upload-form">
      <input type="file" name="myfile" id="myfile259_10" size="1" class="file-uploader" title="Редактировать" onchange="uploadFile('259_10', 7);">
       <img src="/Skins/defaultskin/Images/addFile.png" class="file-upload-pict">
     </form>
    </div>
   </td>
  </tr>
  <tr class="x-grid3-row-body-tr" style=""><td colspan="3" class="x-grid3-body-cell" tabindex="0" hidefocus="on"><div class="x-grid3-row-body">
 </div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="x-grid3-row ux-maximgb-tg-level-1  x-grid3-row-alt" style="width: 658px; ">
 <table class="x-grid3-row-table" border="0" cellspacing="0" cellpadding="0" style="width: 658px; ">
  <tbody>
   <tr>
    <td class="x-grid3-col x-grid3-cell x-grid3-td-name x-grid3-cell-first " style="width: 283px; " tabindex="0">
     <div class="x-grid3-cell-inner x-grid3-col-name" unselectable="on">
      ВФайл
     </div>
    </td>
   <td class="x-grid3-col x-grid3-cell x-grid3-td-1 " style="width: 341px; " tabindex="0">
    <div class="x-grid3-cell-inner x-grid3-col-1" unselectable="on">
     &nbsp;
    </div>
   </td>
   <td class="x-grid3-col x-grid3-cell x-grid3-td-2 x-grid3-cell-last " style="width: 34px; " tabindex="0">
    <div class="x-grid3-cell-inner x-grid3-col-2" unselectable="on">
     <form id="F260_10" name="F260_10" method="POST" action="/user/edituser/upload" class="file-upload-form">
      <input type="file" name="myfile" id="myfile260_10" size="1" class="file-uploader" title="Редактировать" onchange="uploadFile('260_10', 7);">
      <img src="/Skins/defaultskin/Images/addFile.png" class="file-upload-pict">
     </form>
    </div>
   </td>
  </tr>
  <tr class="x-grid3-row-body-tr" style=""><td colspan="3" class="x-grid3-body-cell" tabindex="0" hidefocus="on"><div class="x-grid3-row-body">
</div>
</td>
</tr>
</tbody>
</table>
</div>



#92414 элементы с одинаковыми характеристиками

Отправлено автор: Jenka156 10 августа 2011 - 13:34 в Selenium - Functional Testing

Здравствуйте. при тестировании приложения была обнаружена такая вот вещь:
нужно нажать на изображение скрепки чтоб прикрепить файл (см. скрин):
Изображение
проблема в том, что у всех скрепок на странице получаются одинаковые xpath и нажать на первую еще можно, а на вторую и последующие используюя только xpath не получится, так как нажимает снова на первую картинку.
вот код (первая скрепка):
<td class="x-grid3-col x-grid3-cell x-grid3-td-2 x-grid3-cell-last x-grid3-cell-selected" style="width: 34px; " tabindex="0">
  <div class="x-grid3-cell-inner x-grid3-col-2" unselectable="on">
    <form id="F259_10" name="F259_10" method="POST" action="/user/edituser/upload" class="file-upload-form">
      <input type="file" name="myfile" id="myfile259_10" size="1" class="file-uploader" title="Редактировать" onchange="uploadFile('259_10', 7);">
        <img src="/Skins/defaultskin/Images/addFile.png" class="file-upload-pict">
    </form>
  </div>
</td>

и вторая скрепка:
<td class="x-grid3-col x-grid3-cell x-grid3-td-2 x-grid3-cell-last " style="width: 34px; " tabindex="0">
  <div class="x-grid3-cell-inner x-grid3-col-2" unselectable="on">
    <form id="F260_10" name="F260_10" method="POST" action="/user/edituser/upload" class="file-upload-form">
      <input type="file" name="myfile" id="myfile260_10" size="1" class="file-uploader" title="Редактировать" onchange="uploadFile('260_10', 7);">
        <img src="/Skins/defaultskin/Images/addFile.png" class="file-upload-pict">
    </form>
  </div>
</td>

здесь отличаются только названия форм и input, но я пробовала связать с ними событие clickAt(), ничего не происходит.
подскажите, на что в таких случаях можно ориентироваться? какие способы клика на элемент еще можно использовать?



#92509 элементы с одинаковыми характеристиками

Отправлено автор: Jenka156 12 августа 2011 - 05:27 в Selenium - Functional Testing

ну вот:

Изображение

получается там, куда указывает стрелка должна быть команда click и xpath скрепки, а ее нет. хотя у меня открывается окно загрузки файла, я выбираю файл, жму ОК и вижу уже следующую команду по добавлению имени файла в форму.

Изображение



#92519 элементы с одинаковыми характеристиками

Отправлено автор: Jenka156 12 августа 2011 - 06:51 в Selenium - Functional Testing

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



#98455 тесты java - webdriver

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

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



#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() не выполняется уже



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



#98341 тесты java - webdriver

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

спасибо!



#98361 тесты java - webdriver

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

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



#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 и все, второй тест дальше не начал воспроизводится



#98444 тесты java - webdriver

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

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



#93053 selenium не видит новое окно

Отправлено автор: Jenka156 23 августа 2011 - 13:42 в Selenium - Functional Testing

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

print_r($allWindow = $this->getAllWindowTitles());

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

а если тогда в firefox, например, отключить опцию "Вместо новых окон открывать новые вкладки", это не поможет?