phpunit과 함께 셀레늄 사용
-
당신은 궁금 할 것입니다 :“설명 된 테스트를 사용하여 웹 페이지를 어떻게 조작합니까?” 대답은“의존한다”입니다. Selenium RC (이전에 Selenium 1)를 사용하는 경우 원하는 동작을 수행하기 위해 자동 생성 된 JavaScript 코드를 페이지에 주입합니다. 셀레늄 RC는 더 이상 사용되지 않으며 유지 보수 모드에서만 지원됩니다. 셀레늄 웹 드라이버를 사용해야합니다 Selenium Webdriver (Selenium 2)를 사용할 때 테스트는 명령으로 변환되어 셀레늄 서버로 전달 된 다음 웹 브라우저 네이티브 API를 사용하여 브라우저로 전달됩니다. 응용 프로그램 설정
실제로 테스트 할 응용 프로그램이 없으므로 사용자 등록 페이지를 사용하겠습니다. 사용자는 개인 정보와 일부 청구 정보를 입력합니다. 모든 것이 좋으면 페이지가 모든 것을 출력해야합니다!. 그렇지 않으면 페이지에 유효성 검사 오류 메시지 목록이있는 구독 양식이 표시됩니다. 우리는 셀레늄 확장과 함께 phpunit을 사용하여 응용 프로그램 테스트를 시작할 것입니다. 시작하기 전에 작곡가를 사용하여 설치하십시오 우리는 명령이 셀레늄 서버로 전달되기 전에 브라우저로 전달한다고 말했습니다. Java 아카이브 실행 파일 인 Selenium 서버를 다운로드해야합니다. 서버는 java -jar selenium-server-standalone- .jar를 사용하여 실행할 수 있습니다. 우리는 자주 사용할 것이기 때문에, bin 디렉토리로 옮기고 .bashrc 또는 .zshrc 내부에서 그것에 대한 별칭을 만드는 것이 좋습니다. phpunit 및 셀레늄 PHPUNIT는 Selenium RC와 WebDriver를 모두 지원하며 그 목적을 위해 두 가지 클래스를 제공합니다. phpunit_extensions_seleniumtestcase는 rc 버전에 사용되며 phpunit_extensions_selenium2testcase는 WebDriver 버전에 사용됩니다. 따라서 시험을 시작하려면 테스트를 확장해야합니다. RC 버전이 더 이상 사용되지 않으므로 아래 예제에서 WebDriver를 사용하겠습니다. . 설정 방법은 테스트 환경을 준비하는 데 사용됩니다. 이 경우 PhPUnit에게 Selenium 서버가 실행중인 위치, 사용할 브라우저 및 응용 프로그램의 URL을 알려줍니다. Sethost 메소드는 LocalHost로 기본값을 기본값과 Setport 메소드 기본값을 4444로 끌어 올리므로 여기에서 생략 할 수 있습니다. 그러나 테스트 서버가 다른 시스템에서 테스트를 실행하는 동안 인터넷 익스플로러를 지원하는 Windows 시스템 내부에있는 경우 사용할 수 있습니다. 테스트가 완료되면 분해 방법이 호출되며 단계를 지우는 데 사용됩니다. 우리는 그것을 사용하여 브라우저를 닫고 현재 세션을 종료합니다. 데이터 제공 업체 PHPUNIT 데이터 제공 업체를 사용하면 반복하지 않고도 특정 데이터로 테스트를 공급할 수 있습니다. 문서에서 더 많은 것을 읽을 수 있습니다. <span>composer require --dev phpunit/phpunit </span><span>composer require --dev phpunit/phpunit-selenium</span>
로그인 후 복사로그인 후 복사로그인 후 복사invalidinputsprovider는 한 필드를 제외한 유효한 입력 목록을 반환하고 유효성 검사 실패 후 예상 오류 메시지를 전달합니다. <span>alias sserve="java -jar /usr/local/bin/selenium-server-standalone-<version>.jar"</span>
로그인 후 복사로그인 후 복사로그인 후 복사DOM 요소 작업 웹 페이지로 작업 할 때의 일반적인 작업 중 하나는 요소 선택입니다. PHPUNIT의 셀레늄 확장은 정말 멋진 API를 제공합니다. 클래스 이름, 태그, 이름, ID, CSS 선택기, XPath 등으로 요소를 선택할 수 있습니다.이 메소드는 다른 자식 요소, 속성 등을 선택하거나 요소를 설정하거나 얻을 수있는 phpunit_extensions_selenium2testcase_element 인스턴스를 반환합니다. 값, 업데이트 요소 CS 및 기타 여러 공통 작업. 우리 페이지에서는 다음과 같은 일을 할 수 있습니다. 당사의 데이터 제공 업체에는 입력 이름과 해당 값이 포함되어 있습니다. 우리는 양식 입력 채우기를 처리하고 제출하는 별도의 메소드를 만들 것입니다. <span>composer require --dev phpunit/phpunit </span><span>composer require --dev phpunit/phpunit-selenium</span>
로그인 후 복사로그인 후 복사로그인 후 복사유효한 양식 제출
브라우저를 특정 페이지로 가리키려면 phpunit_extensions_selenium2testcase class의 URL 메소드를 사용합니다. URL은 SetBrowserUrl 메소드에 제공된 것과 관련이 있습니다. 따라서 브라우저를 색인 페이지로 지적한 후 양식을 작성하고 제출 한 다음 예상 성공 메시지를 테스트합니다..<span>alias sserve="java -jar /usr/local/bin/selenium-server-standalone-<version>.jar"</span>
로그인 후 복사로그인 후 복사로그인 후 복사셀레늄 서버가 UP가 실행 중이라고 가정하면 PHPUNIT TESTS/ACCEPTONCE/USERSUBSCRIPTIONTEST.PHP로 테스트를 실행하십시오. 이렇게하면 새로운 브라우저 세션이 생겨 양식을 채우기 시작합니다. 우리는 모든 것이 하나의 성공적인 주장으로 전달 될 것으로 기대하고 있습니다. <span>// tests/acceptance/UserSubscriptionTest.php </span> <span>class UserSubscriptionTest extends PHPUnit_Extensions_Selenium2TestCase </span><span>{ </span> <span>public function setUp() </span> <span>{ </span> <span>$this->setHost('localhost'); </span> <span>$this->setPort(4444); </span> <span>$this->setBrowserUrl('http://vaprobash.dev'); </span> <span>$this->setBrowser('firefox'); </span> <span>} </span><span>}</span>
로그인 후 복사일부 테스트가 실패하고 테스트 기간이 너무 짧아서 무엇이 잘못되었는지 관찰하기에는 너무 짧습니다. PHPUNIT는 우리가 저장할 수있는 블로브 이미지를 반환하는 FerrentsCreenshot 메서드를 사용하여 실패한 테스트의 스크린 샷을 캡처 할 수 있습니다.
브라우저를 종료하십시오
위 내용은 phpunit과 함께 셀레늄 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

세션 납치는 다음 단계를 통해 달성 할 수 있습니다. 1. 세션 ID를 얻으십시오. 2. 세션 ID 사용, 3. 세션을 활성 상태로 유지하십시오. PHP에서 세션 납치를 방지하는 방법에는 다음이 포함됩니다. 1. 세션 _regenerate_id () 함수를 사용하여 세션 ID를 재생산합니다. 2. 데이터베이스를 통해 세션 데이터를 저장하십시오.

PHP에서는 시도, 캐치, 마지막으로 키워드를 통해 예외 처리가 이루어집니다. 1) 시도 블록은 예외를 던질 수있는 코드를 둘러싸고 있습니다. 2) 캐치 블록은 예외를 처리합니다. 3) 마지막으로 블록은 코드가 항상 실행되도록합니다. 4) 던지기는 수동으로 예외를 제외하는 데 사용됩니다. 이러한 메커니즘은 코드의 견고성과 유지 관리를 향상시키는 데 도움이됩니다.

PHP에는 4 가지 주요 오류 유형이 있습니다. 1. NOTICE : 가장 작은 것은 정의되지 않은 변수에 액세스하는 것과 같이 프로그램을 방해하지 않습니다. 2. 경고 : 심각한 통지는 파일을 포함하지 않는 것과 같은 프로그램을 종료하지 않습니다. 3. FatalError : 가장 심각한 것은 기능을 부르는 것과 같은 프로그램을 종료합니다. 4. parseerror : 구문 오류는 엔드 태그를 추가하는 것을 잊어 버리는 것과 같이 프로그램이 실행되는 것을 방지합니다.

PHP에서 포함, 요구, 포함, 요구 사항 간의 차이는 다음과 같습니다. 1) 경고를 생성하고 계속 실행합니다. 2) 치명적인 오류를 생성하고 실행을 중지합니다. 이러한 함수의 선택은 파일의 중요성과 중복 포함을 방지 해야하는지 여부에 따라 다릅니다. 합리적 사용은 코드의 가독성과 유지 관리를 향상시킬 수 있습니다.

PHP와 Python은 각각 고유 한 장점이 있으며 프로젝트 요구 사항에 따라 선택합니다. 1.PHP는 웹 개발, 특히 웹 사이트의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 간결한 구문을 가진 데이터 과학, 기계 학습 및 인공 지능에 적합하며 초보자에게 적합합니다.

PHP는 서버 측에서 널리 사용되는 스크립팅 언어이며 특히 웹 개발에 적합합니다. 1.PHP는 HTML을 포함하고 HTTP 요청 및 응답을 처리 할 수 있으며 다양한 데이터베이스를 지원할 수 있습니다. 2.PHP는 강력한 커뮤니티 지원 및 오픈 소스 리소스를 통해 동적 웹 컨텐츠, 프로세스 양식 데이터, 액세스 데이터베이스 등을 생성하는 데 사용됩니다. 3. PHP는 해석 된 언어이며, 실행 프로세스에는 어휘 분석, 문법 분석, 편집 및 실행이 포함됩니다. 4. PHP는 사용자 등록 시스템과 같은 고급 응용 프로그램을 위해 MySQL과 결합 할 수 있습니다. 5. PHP를 디버깅 할 때 error_reporting () 및 var_dump ()와 같은 함수를 사용할 수 있습니다. 6. 캐싱 메커니즘을 사용하여 PHP 코드를 최적화하고 데이터베이스 쿼리를 최적화하며 내장 기능을 사용하십시오. 7

HTTP 요청 방법에는 각각 리소스를 확보, 제출, 업데이트 및 삭제하는 데 사용되는 Get, Post, Put and Delete가 포함됩니다. 1. GET 방법은 리소스를 얻는 데 사용되며 읽기 작업에 적합합니다. 2. 게시물은 데이터를 제출하는 데 사용되며 종종 새로운 리소스를 만드는 데 사용됩니다. 3. PUT 방법은 리소스를 업데이트하는 데 사용되며 완전한 업데이트에 적합합니다. 4. 삭제 방법은 자원을 삭제하는 데 사용되며 삭제 작업에 적합합니다.
