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

Автоматизатор мобильных приложений
онлайн, начало 11 августа
Тестирование безопасности
онлайн, начало 11 августа
Тестирование мобильных приложений
онлайн, начало 11 августа
Автоматизация тестирования REST API на Python
онлайн, начало 11 августа
Фотография

PHPUnit + Selenium RC + NetBeans


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 frei_by

frei_by

    Постоянный участник

  • Members
  • PipPipPip
  • 177 сообщений
  • ФИО:Дмитрий

Отправлено 20 октября 2010 - 11:27

при выполнении скирпта внезапно появилась ошибка

PHPUnit 3.5.0 by Sebastian Bergmann.

Warning: DOMElement::setAttribute(): string is not in UTF-8 in C:\Program Files\PHP\pear\PHPUnit\Util\Log\JUnit.php on line 299
Warning: DOMElement::setAttribute(): string is not in UTF-8 in C:\Program Files\PHP\pear\PHPUnit\Util\Log\JUnit.php on line 413
.
Warning: DOMDocument::saveXML(): output conversion failed due to conv error, bytes 0xF2 0xE5 0xF1 0xF2 in C:\Program Files\PHP\pear\PHPUnit\Util\Log\JUnit.php on line 466

Time: 10 seconds, Memory: 4.50Mb
OK (1 test, 0 assertions)

При этом тест выполнинлся без ошибок, о чём можно судить по ".", но при этом не отображается в NetBeans как выполненный в окне TaskResult

посмотрел на JUnit.php, 299
$testSuite->setAttribute('file', $class->getFileName());
посмотрел на JUnit.php, 413
$testCase->setAttribute('file', $class->getFileName());
используется в этом файле всего в двух местах,...

первая вызвается из function startTestSuite(PHPUnit_Framework_TestSuite $suite)
вторая вызвается из function startTest(PHPUnit_Framework_Test $test)

466 строка - это
public function getXML()
    {
        return $this->document->saveXML();
    }

Если не вдаватся в этот лес, то в общих чертах понятно, что где-то попадает !UTF8 значение в эти методы и поэтому они выдают ошибку.
Вопрос только откуда оно может браться, если весь проект у меня в UTF8 кодировке и нигде я ну просто не помню, чтобы вводил какие-нибудь ёёё в кодировке ANSI...

Может быть ещё у кого-то подобная ошибка возникала?
  • 0

#2 frei_by

frei_by

    Постоянный участник

  • Members
  • PipPipPip
  • 177 сообщений
  • ФИО:Дмитрий

Отправлено 20 октября 2010 - 11:36

вы таки будете смеятся, но это особенность Netbeans.

ЕСЛИ вы например захотите сохранить проект - а в netBeans работаешь именно с проектами - в папке d:\se\тетсирование шаблонов Ёо\ - то возникает такая ошибка
нужно для названий папок использвать латиницу. d:\se\test_patterns\

-вот за такие вот надмозги я не люблю все эти чащобы классов.
  • 0

#3 frei_by

frei_by

    Постоянный участник

  • Members
  • PipPipPip
  • 177 сообщений
  • ФИО:Дмитрий

Отправлено 22 октября 2010 - 11:01

Подскажите пожалуйста как решить затруднение:

Пусть есть элемент:
<input type="text" value="" name="findtext" id="findtext" style="background-color: rgb(255, 255, 255);">

Нужно проверить что value='' пустая строка.

В IDE код выглядит следующим образом:
<tr>
	<td>storeElementPresent</td>
	<td>//input[@id='findtext' and @name='findtext' and @type='text']</td>
	<td>a1</td>
</tr>
<tr>
	<td>storeAttribute</td>
	<td>//input[@id='findtext' and @name='findtext' and @type='text']@value</td>
	<td>a2</td>
</tr>
<tr>
	<td>echo</td>
	<td>${a1} + ${a2}</td>
	<td></td>
</tr>

результат выполнения -
* [info] Executing: |storeElementPresent | //input[@id='findtext' and @name='findtext' and @type='text'] | a1 |
    * [info] Executing: |storeAttribute | //input[@id='findtext' and @name='findtext' and @type='text']@value | a2 |
    * [info] Executing: |echo | ${a1} + ${a2} | |
    * [info] echo: true + ${a2}

если писать на PHP под RC -
$this->ignoreAttributesWithoutValue(false);
$value = $this->getAttribute('//input[@id=\'findtext\' and @name=\'findtext\' and @type=\'text\']@value');

то выдаёт ошибку (валится тест) -
PHPUnit_Framework_Exception: Response from Selenium RC server for testComplete().
ERROR: Could not find element attribute: //input[@id='findtext' and @name='findtext' and @type='text']@value
Насколько я пониаю, если аттрибут имеет пустое значение то для IDE для него просто не присваивается значение, тогда как для RC значение не находится и генерируется ошибка...

Вопрос: Как используя метод getAttribute() проверить, что атрибут имеет значение "пустая строка" и при этом не получить ошибку теста?
  • 0

#4 contestar

contestar

    Новый участник

  • Members
  • Pip
  • 36 сообщений
  • ФИО:Алексей

Отправлено 22 октября 2010 - 11:13

String attValue = selenium.getAttribute(locator + "@value");

log.info("Value is: '" + attValue + "'");

assertEquals("", attValue);

  • 0

#5 frei_by

frei_by

    Постоянный участник

  • Members
  • PipPipPip
  • 177 сообщений
  • ФИО:Дмитрий

Отправлено 22 октября 2010 - 11:57

Т.е. вы предлагаете отавить PHP в покое и взятся за Java?

1. String attValue = selenium.getAttribute(locator + "@value"); // взять атрибут
2. log.info("Value is: '" + attValue + "'"); // записать в лог
3. assertEquals("", attValue); // сравнить с пустой строкой.


Так вот у меня пока что получается,
$value = $this->getAttribute('//input[@id=\'findtext\' and @name=\'findtext\' and @type=\'text\']@value');
- возварщает ошибку так как метод getAttribute вернул пустую строку и почему-то такой вариант считается что атрибут не найден:

ERROR: Could not find element attribute: //input[@id='findtext' and @name='findtext' and @type='text']@value

хотя если использовать подобный xpath в IDE,
то ошибки не возникает - а просто не присваивается переменная ${a2}
<td>storeAttribute</td>
        <td>//input[@id='findtext' and @name='findtext' and @type='text']@value</td>
        <td>a2</td>

Специально проверял действие getAttribute для этого-же элемента в случае, когда заполнен value- всё работает...
  • 0

#6 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 854 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 22 октября 2010 - 12:36

http://jira.openqa.org/browse/SRC-798
  • 0

Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium


#7 Jenka156

Jenka156

    Активный участник

  • Members
  • PipPip
  • 137 сообщений
  • ФИО:Женя


Отправлено 11 августа 2011 - 10:26

,
  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале