文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

selenium php环境怎么搭建

2024-04-02 19:55

关注

本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。

selenium php环境怎么搭建?

windows环境下的PHP+selenium环境搭建

最近想要入门自动化测试,之前也写过使用codeception进行单元测试和接口测试,UI测试部分我选择了selenium框架,接下来我们来进行相关环境的搭建。

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、右键计算机->属性->高级系统设置->环境变量->系统变量下的Path,点击编辑,在后面加上PHP的路径D:\Software\php-7.2.28-Win32-VC15-x64;

至此,PHP安装完成,可打开cmd查看对应的版本,如图:

进入官网,https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,找到适配的版本,下载jdk。

chrom和chromedriver的版本对应可查看每个版本里面的note,chrome的版本号可通过chrome://settings/help查看

注意:下载完成的驱动文件要放在php的根目录下

在执行example.php的时候,Notice: Undefined index: ELEMENT in D:\test\vendor\facebook\webdriver\lib\Remote\RemoteWebDriver.php on line 178,

经查,是因为较新版本的selenium的通信协议变动导致的,可在启动时加上相关的参数控制:

java -jar selenium-server-standalone-3.8.0.jar -enablePassThrough false至此,通过编写example.php文件便可实现简单的自动登录流程。
登录后复制

运行exam.php之前,需要将ekwing下vendor目录复制一份到phpDirver目录下

可修改example.php实现别的网站自动登录,example.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在项目中进行功能测试的话,需要自己将各个脚本组合,差不多就是写个框架了。

以上就是selenium php环境怎么搭建的详细内容,更多请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯