t.me/atinfo_chat Telegram группа по автоматизации тестирования

getXPathCount() метод в PHP


(algorithm) #1

Всем доброе время суток.

Есть вопрос, вернее проблема.
все время получаю следующую ошибку:
BadMethodCallException: Method getXPathCount not defined


не могу понять в чем проблема? почему именно этот метод не определён?

например: isElementPresent работает, как часы, только getXPathCount  Yell...
словом: "Люди, помогите кто может!!!!!"

 

прог-аю на PHPStorm,
устоновлен  PHPUnit 3.5

 

 


(Mykhailo Poliarush) #2

можно немного больше деталей

  1. какая версия Selenium используется?
  2. покажи, пожалуйста пример кода как ты используется данный метод

(d3unka) #3

Поделитесь куском кода, чтобы разобраться в чем проблема.


(algorithm) #4

1) Есть вот такая структура :

<div id="main_menu" class="header_menu">
     <ul id="vertical_menu" class="menu">
         <li id=" " class="..." style=" " dbid="...">
         <li id=" " class="..." style=" " dbid="...">
         <li id=" " class="..." style=" " dbid="...">
         <li id=" " class="..." style=" " dbid="...">
         <li id=" " class="..." style=" " dbid="...">
         <li id=" " class="..." style=" " dbid="...">
         <li id=" " class="..." style=" " dbid="...">
         <li id=" " class="..." style=" " dbid="...">

 

А вот, собственно , и код, вернее его кусок:

require_once 'ModuleTest.php'; 
:
:

public function test()
    {
        $this->open("/");
 
        if($this->isElementPresent("//div[@id='main_menu']/ul/li")) {

            print "  yes     ";
            print $this->getXPathCount("//div[@id='main_menu']/ul/li");

        } else {print "no";}
    }

 

по-поводу 'ModuleTest.php' - это :

abstract class ModuleTest extends PHPUnit_Extensions_SeleniumTestCase

 

Код, в принципе примитивный, написан только для того чтобы проверить сам getXPathCount...
но именно здесь и получаю следующий PHPStorm output:

Testing started at 09:09 ...
  yes    
BadMethodCallException : Method getXPathCount not defined.
#0 C:\bin\PHP\PEAR\PHPUnit\Extensions\SeleniumTestCase.php(703): call_user_func_array()
#1 C:\projects\v2.3\includes\Tests\includes\Modules\test.php(46): __call()
#2 C:\projects\v2.3\includes\Tests\includes\Modules\test.php(46): getXPathCount()
#3 C:\bin\PHP\PEAR\PHPUnit\Framework\TestCase.php(738): invokeArgs()
#4 C:\bin\PHP\PEAR\PHPUnit\Extensions\SeleniumTestCase.php(627): runTest()
#5 C:\bin\PHP\PEAR\PHPUnit\Framework\TestCase.php(628): runTest()
#6 C:\bin\PHP\PEAR\PHPUnit\Framework\TestResult.php(666): runBare()
#7 C:\bin\PHP\PEAR\PHPUnit\Extensions\SeleniumTestCase.php(526): run()
#8 C:\bin\PHP\PEAR\PHPUnit\Framework\TestSuite.php(757): run()
#9 C:\bin\PHP\PEAR\PHPUnit\Framework\TestSuite.php(733): runTest()
#10 C:\bin\PHP\PEAR\PHPUnit\TextUI\TestRunner.php(305): run()
#11 C:\Users\temp\AppData\Local\Temp\phpunit_v2_3_temp.php(485): doRun()
#12 C:\Users\temp\AppData\Local\Temp\phpunit_v2_3_temp.php(785): runTest()
#13 C:\Users\temp\AppData\Local\Temp\phpunit_v2_3_temp.php(814): main()

INSERT INTO `sessions` SET `session_id` = "6o0mt554d6e4t947nde8ajlu32",`session_data` = "userdata|a:7:{s:10:\"session_id\";s:26:\"6o0mt554d6e4t947nde8ajlu32\";s:10:\"session_ip\";N;s:15:\"session_user_id\";i:-1;s:17:\"session_logged_in\";i:0;s:12:\"session_page\";i:0;s:13:\"session_start\";i:1318316946;s:12:\"session_time\";i:1318316946;}lang|s:2:\"it\";" ON DUPLICATE KEY UPDATE `session_id` = "6o0mt554d6e4t947nde8ajlu32",`session_data` = "userdata|a:7:{s:10:\"session_id\";s:26:\"6o0mt554d6e4t947nde8ajlu32\";s:10:\"session_ip\";N;s:15:\"session_user_id\";i:-1;s:17:\"session_logged_in\";i:0;s:12:\"session_page\";i:0;s:13:\"session_start\";i:1318316946;s:12:\"session_time\";i:1318316946;}lang|s:2:\"it\";"<br>
Process finished with exit code 0

 

Ну отсюда уже видно, что isElementPresent - работает, a getXPathCount - нет.

 

2) Selenium version=2.0b3

 

Заранее спасибо!!!


 

 

 


(snark) #5

getXpathCount()


(Mykhailo Poliarush) #6

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


(algorithm) #7

ребята, ОГРОМАДНОЕ вам спасибо!!!!

Вы избавили меня от 2-ух дневных мук!!!

Наконец-то эта фигня работает !!!!


(Mykhailo Poliarush) #8

два дня... представляю как ты намучился
ну хорошо, что решилось :)