phpunit常见问题分析

Charlotte ·
更新时间:2024-11-13
· 678 次阅读

具体实现中出现的问题:

将录制的脚本转成PHPUNIT在服务器端运行总失败。

开始要作如下工作:

1.在setUp()函数中添加语句:每次脚本运行,都将清空数据库的语句

`/home/www/selenium-php/yuezhan/rebuilddb.sh`;注意:用倒斜杠,数字1左边的键

//根据项目需要而修改;

2. 将默认的浏览器代码修改:

将$this->setBrowser("*chrome");

改成$this->setBrowser("*firefox");

可以不用修改代码的方法:

Selenium工具àOptionsàOptionsà选择Formats选项卡à

                      选择PHP-PHPUNITà将Environment里的浏览器改成firefox即可,

这样子录制的脚本转化成PHP后,也不用修改此部分代码了。

3.在第2点的基础上,在上面添加两句代码:

    $this->setHost("192.168.8.24");

                $this->setPort(4445);          //此句可以不加,根据自己服务器端口而定

4.录制的脚本中如有上传图片的路径。

  也要根据服务器所在的环境作修改。如在同一环境下可不作修改。不在同一环境下,要将图片路径修改成服务器环境中图片所在的路径下。

5.录制的脚本一定要从登录开始录制。在没有解决COOIKE之前,必须这么做。

运行脚本时,

常见问题1:报错:ERROR: There was an unexpected Alert! [ajax错误].

错误原因:AJAX错误,没有找到ALERT提示的框架,因而报异常错误

解决方法一:$this->click("css=input[type=submit]");这是一个“下一步”按钮。

          进入的页面中,有AJAX。

          可以此句前面添加:setSpeed(1000)让其执行速度变慢1秒。

       具体php代码:

         $this->setSpeed("1000")        //从下一句开始,执行速度放慢

         $this->click("css=input[type=submit]");

         $this->waitForPageToLoad("30000");

         $this->type("name=player[player1][name]", "元一");

         $this->setSpeed("0")          //恢复到正常执行速度



phpunit

需要 登录 后方可回复, 如果你还没有账号请 注册新账号