2009-11-04 3 views
1

Firefox에 Selenium IDE를 설치하고 다양한 웹 탐색 순서를 기록하고 재생할 수 있습니다. 필요한 것은 PHP를 통해 자동화 된 모든 작업을 수행하는 것입니다. 즉, 최종 페이지의 HTML 소스 (즉, 탐색 순서의 끝)를 가져 오는 PHP 스크립트를 실행하는 것입니다. 셀레늄 내 는 PHP에 수출하는 옵션이 있습니다, 그래서 나는 같은 것을 얻을 : 내 PHP 코드에서 이것을 사용할 수 있지만Selenium 코드를 사용하여 웹 페이지 다운로드

class Example extends PHPUnit_Extensions_SeleniumTestCase 
{ 
    function setUp() 
    { 
    $this->setBrowser("*chrome"); 
    $this->setBrowserUrl("http://www.example.com/"); 
    } 

    function testMyTestCase() 
    { 
    $this->open("/"); 
    $this->click("link=24"); 
    $this->waitForPageToLoad("30000"); 
    $this->click("link=Test2"); 
    $this->waitForPageToLoad("30000"); 
    $this->click("//td[4]/a/img"); 
    $this->waitForPageToLoad("30000"); 
    $this->type("username", "user"); 
    $this->type("password", "pass"); 
    $this->click("//input[@name='login']"); 
    $this->waitForPageToLoad("30000"); 
    } 
} 

것은, 단지 클래스 정의 이후 (아무것도하지 않는 것을 나는 짐작한다). 최종 소스 페이지를 얻으려면 어떻게해야합니까? PHP 코드가 화면에서 내비게이션을하는 것을 원하지 않고 대신 PHP 내에서 최종 소스 코드를 처리하려고합니다.

답변

0

PHP로 내보내기 옵션을 사용하면 테스트을 Selenium RC PHP 드라이버를 사용하여 실행할 수있는 형태로 내보낼 수 있습니다. 보고있는 페이지는 내보내지지 않습니다.

Selenium IDE는 사용자가 페이지의 최종 소스를 가져 와서 아무 것도 할 수 없도록합니다. 나는 이런 식으로 뭔가를 달성해야한다면 내가 셀레늄 IDE 사용하여이 작업을 수행하기로 결심하면 저는 사용자 extension.js을 사용하여에보고 싶은데,

  • 내 방식 재검토

    1. 을 거라고 Javascript를 사용하여 페이지 소스를 가져 오는 새로운 Selenium 액션을 작성한 다음 선택한 URL로 POST하십시오.

    2. 나머지 처리를 수행하는 PHP 페이지 위의 URL을 만듭니다.

    이 종류의 해키, 사용자 extension.js (모든 사람을위한)에 대한 몇 가지 조사를 요구하고, 깨지기 쉬운 것으로 될거에요 추가 사용자 정의 작업입니다 것입니다. (옵션 # 1 참조)

  • +0

    옵션 # 1을 조금 더 상세하게 설명 할 수 있습니까? 셀레늄을 통과 할 필요가 없습니다. 사이트 (주로 .aspx)를 탐색 한 후 원하는 페이지로 이동하여 브라우저를 통해 "소스를 볼 수 있습니다". 이것은 내가 "자동"으로하고 싶은 것입니다. PHP 코드를 통해. – Rob

    0

    이 작업을 쉽게 수행 할 수있는 몇 가지 방법이 있습니다.

    1) PHP를 통해 시간을 내면 서버에 연결해야합니다.

    2) 서버 (selenium-rc)를 다운로드하십시오. 그것을 통해 실행하십시오 : java -jar selenium-server.jar java -jar selenium-server.jar를 통해 매개 변수를 확인하십시오 -? (나는 생각한다!). 이 시점에서 중요한 것은 로그 파일 위치입니다.

    3) 서버는 로컬 호스트와 포트 4444에서 시작합니다 (위에서 생성 된 코드는 기본 값입니다).

    4) 위의 해당 PHP 코드로 연결을 시도하십시오. 셀렌 서버 로그를 확인하십시오. 시도한 연결에 대한 세부 정보가 있어야합니다.

    +0

    자세한 정보는 http://www.phpunit.de/manual/3.1/en/selenium.html을 참조하십시오. 동적으로 HTML을 덤프하는 것이 가능한지 확실하지 않습니다 (자바 스크립트 수정 후 마크 업이 어떻게 보이는지 알고 싶습니다). 실제로, 나는 주로 테스트와 스크린 샷에 대한 아이디어를 얻기 위해 assert *와 스크린 샷을 사용하고 있습니다. – Koobz

    +0

    감사합니다. Selenium 서버를 설치하고 cmd 창에서 시작할 수 있습니다. 비트는 "위의 PHP 코드로 연결을 시도합니다"로 혼란 스럽습니다. 즉, 어떻게 제출합니까? – Rob

    +0

    phpunit을 사용하십시오.유닉스 시스템에 pear를 설치했다면 경로에 phpunit 명령이 있어야합니다. 테스트 디렉토리로 이동하여 다음을 입력하십시오. phpunit TestName.php – Koobz

    관련 문제