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

Публикации Jenka156

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



#92871 xpath для элементов, которые постоянно меняются местами

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

Здравствуйте! Задача вот какая: есть два input элемента на странице. Сначала, когда страница открывается, они вообще отсутствуют в коде. Добавляются в код динамически при щелчке на место на странице, на котором они по идее находятся. Проблема в том, что идентифицировать эти input по каким то уникальным параметрам невозможно. параметр name у них вообще пустой, а id постоянно меняется. Вот код (это уже подгруженные элементы):

<div class="x-grid3-scroller" id="ext-gen63" style="overflow-x: hidden; width: 1258px; height: 347px;">
<div class="x-layer x-editor x-small-editor x-grid-editor" id="ext-comp-1026" style="overflow: auto; position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px;">
  <input type="text" name="" id="ext-comp-1025" autocomplete="off" size="20" class="x-form-text x-form-field" style="width: 631px; height: 16px;"></div>
<div class="x-layer x-editor x-small-editor x-grid-editor" id="ext-comp-1036" style="overflow: auto; position: absolute; z-index: 11000; visibility: visible; left: 535px; top: 43px;">
  <input type="password" name="" id="ext-comp-1035" autocomplete="off" size="20" class="x-form-text x-form-field" style="width: 631px; height: 16px;">
</div>
</div>

Пробовала идентифицировать через родителей:
//div[@class='x-grid3-scroller']//div[@class='x-layer x-editor x-small-editor x-grid-editor'][1]//input
Но проблема обнаружилась в том, что если в разной последовательности эти элементы подгружаются в код, то и очередность у них разная. Сейчас например div id="ext-comp-1026", в котором находится нужный input стоит первым, но может быть и вторым, если он подгрузился в код вторым. И в тесте происходит ошибка, потому что нужные данные не туда вводятся.
Помогите, пожалуйста, разобраться с этим



#92695 свои функции в тестах на php

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

Здравствуйте! я недавно начала писать тесты на пхп и столкнулась вот с такой задачей: в коде есть определенный набор строчек, который повторяется во многих частях теста (например раскрытие всего дерева папок). Так вот чтоб не повторять эти блоки постоянно я хотела написать функцию. Но проблема в том, что я не могу написать функцию, так как внутри этой функции не определяются нужные методы типа $this->clickAt() и тд. NetBeans даже не видит эту функцию и я не могу вызвать ее. создаю функцию в блоке теста:

function testMyTestCase()
{...}

Может это неправильно? Подскажите пожалуйста, в каком блоке вообще можно создавать функции свои и как?



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

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

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



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

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

ну вот:

Изображение

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

Изображение



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



#92471 PHPUnit + Selenium RC + NetBeans

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

,



#92445 selenium тесты и командная строка

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

а для чего нужно вообще

phpunit --configuration testconfig.xml

где про это можно прочитать?



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



#92396 еще раз про popUp окна

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

только что запустила тест в firefox, там все работает как надо!
скажите пожалуйста, кто сталкивался с таким? почему в хроме и опере не работает нормально?



#92395 еще раз про popUp окна

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

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

вот код этого окна:
<html><head>
<style type="text/css" media="screen">
	body	{background:buttonface; padding:0px; margin:0px;}
	#message, #btn	{text-align:center; width:300px; line-height:15px; font:10pt Tahoma, Arial, sansa-serif; padding-top:10px;}
	#btn	{}
	#yes_bt, #no_bt	{width:50px;}
</style>
<title>...</title>
<script language="javascript">
	var pushed = false;

	function init()
	{
		var yes_cap = opener.confirm_captions[0];
		var no_cap = opener.confirm_captions[1];
		var mess = opener.confirm_mess;
		
		document.getElementById('yes_bt').value = yes_cap;
		document.getElementById('no_bt').value = no_cap;
		document.getElementById('message').innerHTML = mess;
	}
	
	function yes()
	{
		opener.yes();
		pushed = true;
		window.close();
	}
	
	function no()
	{
		opener.no();
		pushed = true;
		window.close();
	}
	
	function check()
	{		
		if (!pushed)	{	opener.no();	}
	}
	
</script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head>
<body onload="init()" onunload="check()">
<div id="message"></div>
<div id="btn">
		<input type="button" class="button" id="yes_bt" onclick="yes()">
		<input type="button" class="button" id="no_bt" onclick="no()">
</div>

</body></html>

а вот код, который я использую для перехода на окно и нажатия на кнопку ($alert_button = "//input[@type='button' and @id='yes_bt']"):
        $AllWindow = $this->getAllWindowTitles();
        $last_el = end($AllWindow);
        $this->selectWindow($last_el);
        sleep(5);
        $this->click($this->alert_button);

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



#92343 еще раз про popUp окна

Отправлено автор: Jenka156 08 августа 2011 - 15:24 в Selenium - Functional Testing

здравствуйте! я новичок в тестировании. Тестирую веб-интерфейс и столкнулась вот с такой проблемой: при нажатии на кнопку вылетает сообщение "Сохранить полномочия пользователей?" и 2 кнопки: Да и Нет. проблема в том что я не могу нажать ни Да ни Нет, так как не получается переключиться на это окно. Сообщение не является просто alert(). Оно открывается как отдельная html страничка. Пробовала способ с переключением на это окно:
        $AllWindow = $this->getAllWindowTitles();//получаю массив имен окон
        $last_element = end($AllWindow);//записываю в переменную имя последнего окна
        $this->selectWindow($last_element);// переключаюсь на последнее окно
        
        $this->click($this->alert_button);// нажимаю кнопку "Да"
в результате получается ошибка:
ERROR: Element //input[@type='button' and @id='yes_bt'] not found.
т.е. не может найти эту кнопку "Да".
И не понятно даже, переключается ли на само окно или нет.
кто нибудь сталкивался с таким? какие еще есть способы решения?



#92109 selenium тесты и командная строка

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

Здравствуйте. Недавно устроилась на работу. Сразу посадили за тестирование веб-интерфейса. Проблема в том, что в компании нет ни одного тестировщика, и помочь никто не может. Разобрала selenium и phpunit, установила, настроила. Написала первый тест в netbeans. Все работает.
А вопрос заключается в этом: можно ли как нибудь запускать готовые тесты (.php) из командной строки? Нигде толком информации по этому поводу нет.