首页 > 开发 > Php > 正文

在Mac OS上搭建PHP的Yii框架及相关测试环境

2020-02-21 20:42:37
字体:
来源:转载
供稿:网友

YII集成了单元测试和功能测试,借助phpunit和selenium实现。笔者在配置过程中遇到了不少麻烦,纪录在此。

必要概念
selenium
selenium是个著名的自动化测试工具,可以调起本地的浏览器来完成测试,所以可以用来自动化测试web项目。selenium分为服务端和客户端,服务端使用java开发,所以需要一个jdk,服务端在启动时,会启动一个http服务,客户端通过与服务端进行http通信,向服务端发起测试请求,服务端会自动调起浏览器完成测试。测试人员负责编写客户端脚本,支持大部分主流的编程语言,当然实际上这是由于开源社区强大的威力,为不同的语言开发了针对selenium的接口程序而已,服务端和客户端之间的协议笔者并没有研究,因为这并不重要。

phpunit
phpunit是php语言的测试框架和工具,在进行单元测试的时候是使用它的框架,在进行功能测试的时候是使用它的工具。基于这个测试框架,有人在此基础上做了selenium的php接口程序,作为phpunit的扩展存在。

YII框架如何集成
Yii在phpunit的基础上,为测试做了一些简单的封装。因此,使用Yii来进行测试的时候,需要依赖上述两者。

环境安装
Firefox
selenium-server能够识别的浏览器并不多,似乎是IE和Firefox,所以在OSX上先安装好Firefox浏览器。安装浏览器跟一般的软件安装没有大的区别,这里不累述了。

JDK
由于selenium-server是使用java开发的,我们需要先安装好JDK,百度搜索JDK下载安装即可。不再累述。

selenium-server
首先来安装selenium的server版本。在osx下,可以使用brew来安装,比较方便:

$ brew install selenium-server-standalone

由于selenium-server的源在googleapis上,所以需要翻墙才能进行操作,事实上,如果不翻墙,其他步骤也比较困难。

安装完成后的提示:

To have launchd start selenium-server-standalone at login:  ln -sfv /usr/local/opt/selenium-server-standalone/*.plist ~/Library/LaunchAgentsThen to load selenium-server-standalone now:  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.selenium-server-standalone.plistOr, if you don't want/need launchctl, you can just run:  selenium-server -p 4444

这里明确告诉我们通过如下命令来启动服务端

$ selenium-server -p 4444

正如所见,通常selenium-server侦听4444端口,如果希望修改端口,那么相应的Yii处需要修改一下配置。

phpunit
弯路
个人理解,phpunit是一个工具和框架的集合,工具归工具,框架归框架。从官网的文档看,phpunit的工具部分,是以phar包的形式发布的,而框架部分是通过pear管理的。那么先来记录一下这两个概念。没有兴趣的可以跳过这节。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表