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

Публикации O'Leen

55 публикаций создано O'Leen (учитываются публикации только с 20 апреля 2023)



#118624 Ошибка при сборке проекта

Отправлено автор: O'Leen 11 июня 2013 - 14:07 в Selenium - Functional Testing

Пробую собирать проект через Maven.
У меня такая структура директорий:
testproject1
|-- src
  |-- main
  |   |-- java
  |   |   |--com
  |   |      |--project
  |   |         |--data  (описание данных)
  |   |         |--pages  (описание страниц)
  |   |         |--utils  
  |   |-- resources
  |
  |-- test
     |-- java
         |-- com
            |-- project
               |-- test
Понимаю, что структура нестандратная, и нужно в pom.xml в тэге build указать правильный путь к исходных файлам. Как-то так
  <build>
   <sourceDirectory>$(basedir)/src/test/java/com/project/test</sourceDirectory>
  </build>
При сборке падают ошибки типа
[ERROR] \Selenium\Workspace\Project1\src\test\java\com\project\test\LoginTest.java:[12,11] error: cannot find symbol
[ERROR] \Selenium\Workspace\Project1\src\test\java\com\project\test\LoginTest.java:[13,30] error: package com.project.pages does not exist
Так вот вопрос, как, в каком тэге мне указать где искать эти самые пакеты, описанные в другой директории, чтобы такие ошибки не появлялись?



#117802 Нажать на кнопку с выпадающим списком

Отправлено автор: O'Leen 15 мая 2013 - 07:36 в Selenium - Functional Testing

Может попробовать не нажимать, а работать как с обыкновенным селектом?
Типа
new Select(driver.findElement(By.id("main-menu-btn-select-func-btnWrap"))).selectByVisibleText("Администрирование");



#117561 Тестирование верстки с помощью Selenium

Отправлено автор: O'Leen 30 апреля 2013 - 14:31 в Selenium - Functional Testing

я практикую конечно ручной просмотр, но уже результатов сравнения сриншотов с помощью утилиты "ImageMagick" (http://www.imagemagi...are/#difference) в нескольких режимах (см. прикрепленные файлы)

Спасибо! Хоть немножко автоматизация :smile:



#117560 Не получается прикрепить файл

Отправлено автор: O'Leen 30 апреля 2013 - 14:07 в Selenium - Functional Testing

Может кто сталкивался.
При повторном вызове метода в пределах одного теста тест падает с ошибкой "Element not found in the cache - perhaps the page has changed since it was looked up".
Первый раз метод работает безотказно.
Сам метод:
	public void AddFileToDocument(WebElement element) {
		element.click();
		String path="C:\\Users\\Public\\Pictures\\Sample Pictures\\Tulips.jpg";
		File f = new File(path);
		WebElement fileInput = buttonAddFileToDocument;
		fileInput.sendKeys(f.getAbsolutePath());               //Проблема, судя по всему, именно в этой строке
		ButtonOKEditDocument.click();
        }
Как заставить этот метод работать повторно?

P.S. Как временное решение помогло добавить задержку в 3 секунды. Может есть лучше решение?



#117475 Получить текст валидации

Отправлено автор: O'Leen 26 апреля 2013 - 15:29 в Selenium - Functional Testing

:acute:/>/>
обращайтесь :smile:/>/>


Спасибо :)



#117474 Получить текст валидации

Отправлено автор: O'Leen 26 апреля 2013 - 15:27 в Selenium - Functional Testing

:acute:/>/>
обращайтесь :smile:/>/>


Спасибо :)



#117389 Получить текст валидации

Отправлено автор: O'Leen 23 апреля 2013 - 13:08 в Selenium - Functional Testing

Все замечательно работает, ошибка была в другом месте совершенно.
Спасибо всем, кто откликнулся :smile:



#117373 Получить текст валидации

Отправлено автор: O'Leen 23 апреля 2013 - 08:20 в Selenium - Functional Testing

driver.findElement(By.id("validation")).getText()


так не работает почему-то... Если находит блок с id = validation, то выбрасывает NullPointerException
public void printTextValidation() {
		boolean exist = driver.findElements(By.id("validation")).size() != 0;
		if (exist) {
			String validation = ((WebElement) driver.findElement(By.id("validation")).getText();
			System.out.println(validation);
		}
		else {
			System.out.println("Валидация прошла успешно");;
		} 
	}



#117340 Получить текст валидации

Отправлено автор: O'Leen 22 апреля 2013 - 10:27 в Selenium - Functional Testing

Есть некая форма с полями, при некорректном заполнении поля при нажатии на кнопку "Ок" появляется текст валидации. Идея в том, чтобы при неуспешном прохождении теста выводить текст валидации на консоль.
HTML код:
<div id="validation" class="validation-summary-errors hidden" style="display: block;">
<li>Введите имя</li>
<li>Укажите пол</li>
<li>Укажите контактный телефон (10 цифр)</li>
</div>

Какие есть методы для того, чтобы записать в переменную текст, указанный между <li> и </li> ?



#116327 MS Web Application Stress Tool

Отправлено автор: O'Leen 27 марта 2013 - 08:44 в Тестирование производительности

Кто сталкивался с MS Web Application Stress Tool, подскажите, пожалуйста, как правильно интерпретировать отчеты по выполению тестов.

Вот такой, например, отчет:

Result Codes
Code      Description                   Count     
================================================================================
200       OK                            7022      
400       Bad Request                   625       
404       Not Found                     1217      
500       Internal Server Error         525       


Page Summary
Page                                Hits      TTFB Avg  TTLB Avg  Auth      Query     
================================================================================
POST /documentation/TasksList/Task  25        3989.72   3990.48   No        No        
GET /documentation/Scripts/Map/Map  25        781.76    781.92    No        No        
GET /documentation/Cases/GetGenera  25        1255.12   1255.12   No        No        
GET /documentation/Scripts/Cases/c  25        1005.64   1005.76   No        No        
GET /maps/api/js/QuotaService.      25        13262.96  13262.96  No        No        
GET /documentation/Cases/Edit/?n=C  25        3380.20   3380.28   No        No        
GET /documentation/TasksList/List?  25        1742.76   1742.76   No        No        
GET /documentation/CasesList/List?  25        3173.76   3173.80   No        No        
POST /documentation/Tasks/Validate  25        12779.24  17075.68  No        No        
GET /documentation/Cases/GetWorkfl  25        6740.92   6740.96   No        No        
GET /documentation/Tasks/GetDecisi  25        6578.36   6578.40   No        No        
POST /documentation/Tasks/MoveToTr  25        2470.00   2470.28   No        No        
POST /documentation/CasesList/Case  25        3634.60   3634.72   No        No



#116274 Выбор элемента в Combobox

Отправлено автор: O'Leen 26 марта 2013 - 11:17 в Selenium - Functional Testing

Если не важен текст, который нужно выбирать в комбике, то первый элемент комбобокса с id = 'someid' можно выбрать так:
driver.findElement(By.id("someid")).sendKeys(Keys.ARROW_DOWN);



#116239 подсчет ссылок

Отправлено автор: O'Leen 25 марта 2013 - 19:05 в Selenium - Functional Testing

спасибо.
А еще, если к элементу вместо
driver.findElement(By.id("UserName"))
можно обратиться просто как fieldUserName, если предварительно описано
@FindBy(id = "UserName")
public WebElement fieldUserName;
то можно ли как-то по аналогии обратиться к нескольким элементам с одинаковыми локаторами, не используя driver.findElements(By.xpath("//element")) ?



#116162 Element not found in the cache

Отправлено автор: O'Leen 22 марта 2013 - 10:28 в Selenium - Functional Testing

Элементы на ajax-страницах меняются постоянно. Их нужно искать непосредственно перед использованием. Хранить ссылки на ранее найденные элементы бесполезно, они "протухают". Причем селениум не виноват, это кеш браузера так работает, браузер постоянно перестраивает DOM, и старые элементы удаляет.


а можно какой-нибудь маленький примерчик поиска элемента непосредственно перед кликом?

или может кто знает как выйти из этой ситуации с помощью javascript...



#116115 Element not found in the cache

Отправлено автор: O'Leen 21 марта 2013 - 11:41 в Selenium - Functional Testing

        public static string Info(this IWebElement element)
        {
            string info = "{";
            try { info += String.Format("Type: {0}; ",          element.GetType().Name); } catch (Exception) { };
            try { info += String.Format("Tag: {0}; ",           element.TagName); } catch (Exception) { };
            try { info += String.Format("class: {0}; ",         element.GetAttribute("class")); } catch (Exception) { };
            try { info += String.Format("id: {0}; ",            element.GetAttribute("id")); } catch (Exception) { };
            try { info += String.Format("Text: {0}; ",          element.Text); } catch (Exception) { };
            try { info += String.Format("Displayed: {0}; ",     element.Displayed); } catch (Exception) { };
            try { info += String.Format("Location: {0}:{1}; ",  element.Location.X, element.Location.Y); } catch (Exception) { };
            try { info += String.Format("Size: {0}x{1}; ",      element.Size.Width, element.Size.Height); } catch (Exception) { };
            info += "}";
            return info;
        }
    }


А какие импорты вы используете? у меня куски типа TagName, Text catch (Exception) упорно подсвечиваются красным в эклипсе...

А вообще как-то странно, почему в одном тесте например вебдрайвер по линке 2 раза кликает, а на третий раз или "Element is not currently visible and so may not be interacted with" или "Element not found in the cache - perhaps the page has changed since it was looked up"



#116097 Как нажать кнопку "обзор" для выбора файла.

Отправлено автор: O'Leen 21 марта 2013 - 08:30 в Selenium - Functional Testing

С такой конструкцией у меня также не кликается.

В смысле вот так
new Actions(driver).moveToElement(driver.findElement(By.xpath("//input[@id=\"id_file\"]"))).click().perform();
не кликается? Странно...



#116072 Как нажать кнопку "обзор" для выбора файла.

Отправлено автор: O'Leen 20 марта 2013 - 19:26 в Selenium - Functional Testing

В тестируемом веб-приложении, для выбора загружаемого файла, необходимо нажать кнопку "обзор". Сама кнопка по xpath, CSS замечательно обнаруживается, но click() по ней, очевидно, не производится.


кстати, кликнуть на кнопку тоже можно благополучно используя конструкцию
new Actions(driver).moveToElement(element).click().perform();

Открывается окно для выбора файла, правда как туда прописать путь к нужному файлу не совсем понятно.
Если кто знает, буду благодарна за ответ :)



#116062 Не получается прикрепить файл

Отправлено автор: O'Leen 20 марта 2013 - 14:43 в Selenium - Functional Testing

ну, а шибку какую выдаёт? Элемент не найден, нот кликабл, ещё что-то. Бывает, что разработчики добавили иФрэйм и элемент не находится. Проверьте, не появился ли он на пути к полю


Проблема решилась очень просто, заменой локатора.
Вот локаторы "//div[@class='k-button k-upload-button']" и даже "//*[@id='general']/div[2]/div/div/div", которые прекрасно находили элемент через firepath, упорно не подходили.
Изменила на ".//*[@id='general']/div[2]/div/div/div/input" (который кстати в firepath не определялся) и все заработало.
Еще раз спасибо за помощь.



#116046 Как нажать кнопку "обзор" для выбора файла.

Отправлено автор: O'Leen 20 марта 2013 - 12:46 в Selenium - Functional Testing

appmen, именно это и нужно, помогло.

Спасибо!


а что именно помогло? Конструкция типа

driver.findElement(By.xpath("xxxxxxx")).sendKeys(C:\\Users\\ ... \\xxx.jpg) ?



#116045 Не получается прикрепить файл

Отправлено автор: O'Leen 20 марта 2013 - 12:43 в Selenium - Functional Testing

путь к файлу верно прописан ?


верно...



#116021 Не получается прикрепить файл

Отправлено автор: O'Leen 20 марта 2013 - 08:57 в Selenium - Functional Testing

как-то так


Создайте переменную
String path="C:\\Users\\Public\\Pictures\\Sample Pictures\\Tulips.jpg";
File f = new File(path);
WebElement fileInput = driver.findElement("xxxxx");
fileInput.sendKeys(f.getAbsolutePath());


Не пойму, как такое может быть. Вчера все работало, сегодня точно такой код упорно работать не хочет... Проверила локаторы, 10 раз проверила на предмет ошибок, все нормально...
Почему оно перестало работать(((



#115988 Не получается прикрепить файл

Отправлено автор: O'Leen 19 марта 2013 - 14:40 в Selenium - Functional Testing

То будет как-то так:
(//div[@class='k-button k-upload-button'])[2]

Но я так никогда не делал :)

Не хочет так работать



#115987 подсчет ссылок

Отправлено автор: O'Leen 19 марта 2013 - 14:23 в Selenium - Functional Testing

Может у кого-то есть пример использования getWebElements(...).size() ?
Была бы очень благодарна.

Что-то вроде такого
int r = getWebElements(linkEditDocuments).size();
не прокатывает...



#115969 Не получается прикрепить файл

Отправлено автор: O'Leen 19 марта 2013 - 12:54 в Selenium - Functional Testing

Конечно, если добавляется новое инпут-поле для него нужен другой локатор. Скрорее всего вы используете "name("fileData")". А это не верно, т.к. уже сущетвуют 2 инпут-поля с такими локаторами


Изначально локатор такой:
//div[@class='k-button k-upload-button']
Как должен выглядеть локатор для второго инпут-поля?
Что-то вроде
"(//input[//div[@class='k-button k-upload-button')]][2]")
?



#115961 Не получается прикрепить файл

Отправлено автор: O'Leen 19 марта 2013 - 11:38 в Selenium - Functional Testing

а нельзя ли прикрепить сразу несколько файлов?

а то второй файл таким же методом прикрепляться не хочет (скорее всего это связано с xpath кнопки - в IDE он каждый раз изменялся при добавлении нового файла)



#115959 Не получается прикрепить файл

Отправлено автор: O'Leen 19 марта 2013 - 11:27 в Selenium - Functional Testing

Спасибо!!! Круто! Заработало :yahoo: