ideal中上面有一个绿色的锤子是干嘛的_PHP自动化测试锤子-PHPUnit&Uopz

PHP自动化测试概述

PHP是一种偏脚本化的语言,了解过ES6的朋友会发现PHP和ES6其实语法和一些特性上已经很接近了,对于我这种一直学Java的人来讲,觉得PHP和ES6语法上基本没太大区别。由于PHP的这种脚本化的特性,编码的风格一个人一个样,令其难以进行测试,这应该是每个想对PHP搞自动化测试,特别是其中单元化测试的人都会遇到的问题。我最近在公司接了个任务,要对项目中的一些很复杂的回路脚本进行自动化测试,希望组内所有人Merge代码的时候,会自动跑测试Case,这篇文章就是分享我在做这个任务时所找到的锤子。

锤子一: PHPUnit

PHPUnit是大家马上就会找到的一个锤子,关于它官方提供了PHPUnit-Book,里面介绍了其提供的测试工具和一些测试基本理念,大家可以花一天左右的时间系统的看完这个文档,我这里就不做赘述了。我举一个 理想情况 下的PHPUnit测试的例子:

fcefcf695bbd5647919dd5472f7aaf71.png

上图展示的是测试MyFoo类中的doSomething方法,这个方法实际是调用了传入的MyBar类中的doSomethingElse方法,在这种情况下,我们只需要利用PHPUnit提供的测试替身工具,构建一个MyBar的测试替身,然后Mock掉其中的doSomethin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP自动化测试工具有很多,其一个比较常用的是PHPUnitPHPUnit一个用于PHP单元测试的测试框架,它提供了一些功能来编写和运行测试用例。PHPUnit可以与Selenium WebDriver结合使用来执行Web应用程序的自动化测试。 在PHPUnit使用Selenium WebDriver需要使用php-webdriver库。php-webdriver是一个PHP客户端库,它提供了一个简单的接口来与Selenium WebDriver进行交互。使用php-webdriver和PHPUnit,你可以编写自动化测试用例来测试Web应用程序的各个方面,如用户界面、表单验证等。 下面是一个使用php-webdriver和PHPUnit编写的简单的自动化测试用例: ```php <?php use PHPUnit\Framework\TestCase; use Facebook\WebDriver\Remote\RemoteWebDriver; use Facebook\WebDriver\WebDriverBy; class MyTest extends TestCase { protected $webDriver; public function setUp() { $capabilities = array(\WebDriverCapabilityType::BROWSER_NAME => 'chrome'); $this->webDriver = RemoteWebDriver::create('http://localhost:4444/wd/hub', $capabilities); } public function tearDown() { $this->webDriver->quit(); } public function testTitle() { $this->webDriver->get('http://www.example.com'); $this->assertEquals('Example Domain', $this->webDriver->getTitle()); } public function testLink() { $this->webDriver->get('http://www.example.com'); $link = $this->webDriver->findElement(WebDriverBy::tagName('a')); $link->click(); $this->assertEquals('Example Domain', $this->webDriver->getTitle()); } } ``` 在这个示例,我们首先使用了PHPUnit的TestCase类来定义测试用例,然后在setUp()方法创建了一个RemoteWebDriver实例,该实例与Selenium WebDriver通信。在tearDown()方法,我们退出WebDriver会话。 在testTitle()方法,我们使用WebDriver访问了一个网站,并检查了页面标题是否正确。在testLink()方法,我们模拟了用户点击页面上的链接,并检查了新页面的标题是否正确。 通过php-webdriver和PHPUnit,我们可以轻松地编写和运行自动化测试用例来测试Web应用程序的各个方面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值