Selenium PHP 환경 설정 방법: 1. 최신 스레드 안전 버전의 PHP zip 패키지를 다운로드합니다. 2. "php.ini-development" 복사본을 복사하고 이름을 "php.ini"로 바꾸고 설치에 넣습니다. 3. 시스템 변수 설정 아래 경로는 "D:Softwarephp-7.2.28-Win32-VC15-x64;"입니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, Dell G3 컴퓨터.
셀레늄 PHP 환경을 설정하는 방법은 무엇입니까?
Windows 환경에서 PHP+셀레늄 환경 구축
최근에 자동화 테스트를 시작하고 싶었고, 이전에 UI 테스트 부분에서 코드셉션을 사용하는 방법에 대해 쓴 적이 있습니다. 이제 관련 환경을 구축해 보겠습니다.
1. PHP 다운로드 주소 http://windows.php.net/download로 이동하여 최신 스레드 안전 버전의 PHP zip 압축 패키지를 다운로드하고 압축을 푼 다음 설치하려는 경로입니다. (win7 시스템은 php7.4 버전을 사용할 수 없으며 VCRUNTIME140.dll이 누락되었다는 메시지가 표시됩니다.)
2 PHP 설치 디렉토리에 들어가서 php.ini-development 복사본을 복사하세요. 이름을 php.ini로 바꾸고 설치 경로 아래에서 ;extension_dir=ext를 열어서 주석을 제거하고 값을 PHP 설치 경로 ext로 변경합니다.
3. 컴퓨터->속성->고급 시스템 설정->환경 변수->시스템 변수 아래 경로를 마우스 오른쪽 버튼으로 클릭하고 편집을 클릭한 후 PHP 경로 D:Softwarephp-7.2.28-Win32-VC15를 추가합니다. -x64;
이제 PHP 설치가 완료되었습니다. 그림과 같이 cmd를 열어 해당 버전을 볼 수 있습니다.
공식 웹사이트 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html에 들어가서 적합한 버전을 찾아 jdk를 다운로드하세요.
셀레늄 파일 다운로드 http://selenium-release.storage.googleapis.com/index.html (셀레늄 다운로드 주소) selenium-server-standalone-3.8.0의 jar 패키지 파일을 다운로드하세요. jar, 버전을 직접 선택할 수 있습니다.
해당 버전의 chrom 및 chromedriver의 경우 다음을 수행할 수 있습니다. 각 버전의 메모를 확인하세요. Chrome 버전 번호는 chrome://settings/help
를 통해 확인할 수 있습니다. 참고: 다운로드한 드라이버 파일은 PHP
데모 작성 후 테스트할 수 있습니다. 먼저 다운로드한 Selenium jar 패키지 파일을 실행하고 cmd 명령줄에 Selenium 파일이 있는 디렉터리를 입력한 후 다음 명령을 실행합니다(참고: 구성해야 함). 두 번째 단계에서는 java 실행 환경 변수) java -jar selenium-server-standalone-3.8.0.jar. 명령줄에 다음 프롬프트가 나타나면 시작이 성공한 것입니다.
example.php 실행 시 주의사항: 정의되지 않은 인덱스: D:testvendorfacebookwebdriverlibRemoteRemoteWebDriver.php의 178행 ELEMENT,
조사 결과 최신 버전의 Selenium 통신 프로토콜 변경으로 인해 발생했습니다. 시작 시 관련 매개변수 제어를 추가할 수 있습니다.
java -jar selenium-server-standalone-3.8.0.jar -enablePassThrough false至此,通过编写example.php文件便可实现简单的自动登录流程。
exum.php를 실행하기 전에 ekwing 아래의 공급업체 디렉터리를 phpDirver 디렉터리에 복사해야 합니다.
example.php를 수정하여 다른 웹사이트에 대한 자동 로그인을 실현할 수 있습니다. PHP는 다음과 같습니다.
<?php // An example of using php-webdriver. // Do not forget to run composer install before. You must also have Selenium server started and listening on port 4444.namespace Facebook\WebDriver;use Facebook\WebDriver\Remote\DesiredCapabilities;use Facebook\WebDriver\Remote\RemoteWebDriver;require_once('vendor/autoload.php');// This is where Selenium server 2/3 listens by default. For Selenium 4, Chromedriver or Geckodriver, use http://localhost:4444/$host = 'http://localhost:4444/wd/hub';$capabilities = DesiredCapabilities::chrome();$driver = RemoteWebDriver::create($host, $capabilities);$driver->manage()->window()->maximize();// navigate to Selenium page on Wikipedia$driver->get('http://www.baidu.com/Login/s?name=lzxx');// write 'PHP' in the search box$driver->findElement(WebDriverBy::id('name')) // find search input element->sendKeys('xxxx'); // fill the search box$driver->findElement(WebDriverBy::id('xxxx')) ->sendKeys('88888888');//$driver->submit(); // submit the whole form // wait until 'PHP' is shown in the page heading element //$driver->wait()->until( // WebDriverExpectedCondition::elementTextContains(WebDriverBy::id('firstHeading'), 'PHP') //); // print title of the current page to outputecho "The title is '" . $driver->getTitle() . "'\n";// print URL of current page to outputecho "The current URL is '" . $driver->getCurrentURL() . "'\n";// find element of 'History' item in menu //$historyButton = $driver->findElement( // WebDriverBy::cssSelector('#jsLoginBtn') //);$historyButton = $driver->findElement( WebDriverBy::id('jsLoginBtn') );// read text of the element and print it to outputecho "About to click to button with text: '" . $historyButton->getText() . "'\n";// click the element to navigate to revision history page$historyButton->click();// wait until the target page is loaded$driver->wait()->until( WebDriverExpectedCondition::titleContains('教师首页') );// print the title of the current pageecho "The title is '" . $driver->getTitle() . "'\n";// print the URI of the current pageecho "The current URI is '" . $driver->getCurrentURL() . "'\n";// delete all cookies //$driver->manage()->deleteAllCookies(); // add new cookie$cookie = new Cookie('cookie_set_by_selenium', 'cookie_value');$driver->manage()->addCookie($cookie);// dump current cookies to output$cookies = $driver->manage()->getCookies();print_r($cookies);$driver->get('http://www.ekwing.com/exam/teacher/selflist');// close the browser //$driver->quit();
다툼: Selenium은 PHP 언어의 통합 프레임워크를 지원하지 않기 때문에 Selenium을 사용하여 프로젝트에서 기능 테스트를 수행하려면 다양한 스크립트를 직접 결합해야 합니다. 이는 거의 작성과 같습니다. 프레임워크.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 셀레늄 PHP 환경을 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!