Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Selenium + PHP, jak zacząć
Olimpia_ona
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 10.03.2005
Skąd: Elbląg

Ostrzeżenie: (0%)
-----


Witam, czy ktoś z Was pisał testy w selenium za pomocą PHP?

Mam zainstalowane selenium IDE, nagrany test, wyeksportowany do PHP. Uruchomiłam serwer Selenium RC i apacha (na xampp).
W wyeksportowanych plikach mam takie odniesienie:
1. require_once 'Testing/Selenium.php';

ale nigdzie na dysku nie mam takiego pliku jak Selenium.php

Mam też drugi plik wyeksportowany do PHP (PHPUnit), a w nim:

2. class Example extends PHPUnit_Extensions_SeleniumTestCase

po uruchomieniu dostaję komunikat:
Fatal error: Class 'PHPUnit_Extensions_SeleniumTestCase' not found

Czy ktoś może mi pomóc? Jak przygotować środowisko do testów selenium w php?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Olimpia_ona
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 2
Dołączył: 10.03.2005
Skąd: Elbląg

Ostrzeżenie: (0%)
-----


rocktech chyba potrzebuję bardziej łopatologicznej podpowiedzi. W tej chwili mam taki plik

phplog2.php:
  1. <?php
  2. require_once 'PHPUnit/Autoload.php';
  3. require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
  4.  
  5. class Example extends PHPUnit_Framework_TestCase
  6. {
  7. protected function setUp()
  8. {
  9. $this->setBrowser("*chrome");
  10. $this->setBrowserUrl("http://172.18.96.34:8020/");
  11. }
  12.  
  13. function testClick()
  14. {
  15.  
  16. $this->open("/");
  17. $this->type("id=dnn_ctr597_Login_Login_DNN_txtUsername", "syshost");
  18. $this->type("id=dnn_ctr597_Login_Login_DNN_txtPassword", "mojehaslo");
  19. $this->click("id=dnn_ctr597_Login_Login_DNN_cmdLogin");
  20. $this->waitForPageToLoad("30000");
  21. $this->assertEquals("Wyloguj", $this->getText("id=dnn_dnnLOGIN_loginLink"));
  22. }
  23. }
  24. ?>



wywołuję go przez plik

  1. <?php
  2. exec('c:\xampp\php\phpunit.bat D:\htdocs\selenium\phplog2.php', $output);
  3. echo "<pre>". var_export($output,TRUE)."</pre>";
  4. ?>


a wynik jest taki:
  1. array (
  2. 0 => '.;C:\\xampp\\php\\PEARPHPUnit 3.6.12 by Sebastian Bergmann.',
  3. 1 => '',
  4. 2 => '',
  5. 3 => 'Fatal error: Call to undefined method Example::setBrowser() in D:\\htdocs\\selenium\\phplog2.php on line 10',
  6. )


mam też mały progress jeśli chodzi o plik phplogunit.php, którego kod wkleiłam w swojej drugiej wypowiedzi, tj. gdy go wywołuję poleceniem exec to firefox się odpala, coś się próbuje testować, ale w efekcie w oknie w którym wywołuję test mam wynik:
  1. rray (
  2. 0 => 'PHPUnit 3.6.12 by Sebastian Bergmann.',
  3. 1 => '',
  4. 2 => 'E',
  5. 3 => '',
  6. 4 => 'Time: 46 seconds, Memory: 3.25Mb',
  7. 5 => '',
  8. 6 => 'There was 1 error:',
  9. 7 => '',
  10. 8 => '1) Example::testMyTestCase',
  11. 9 => '',
  12. 10 => 'Invalid response while accessing the Selenium Server at \'http://localhost:4444/selenium-server/driver/\': Timed out after 30000ms',
  13. 11 => '',
  14. 12 => 'C:\\xampp\\php\\phpunit:46',
  15. 13 => '',
  16. 14 => 'FAILURES!',
  17. 15 => 'Tests: 1, Assertions: 0, Errors: 1.',
  18. )


wydaję mi się, że w tym drugim przypadku dostaję timedout, bo w przeglądarce wywołanej przez selenium server dla mojej strony pokazuję się komunikat o akceptacji ciasteczek, który przysłania całą stronę i być może to przeszkadza w kontynuowaniu testu, lecz dodanie polecenia $myVar->click("id=clickButton") nie powoduje zamknięcia tego okna.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 10:06