当前位置: 首页 > 面试题库 >

以编程方式(“在PHP内”)运行PHPUnit Selenium测试用例

江德润
2023-03-14
问题内容

如何在“ PHP内”运行测试,而不是使用“ phpunit”命令?例:

<?php
require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
class MySeleniumTest extends PHPUnit_Extensions_SeleniumTestCase {

    protected function setUp() {
        $this->setBrowser("*firefox");
        $this->setBrowserUrl("http://example.com/");
    }

    public function testMyTestCase() {
        $this->open("/");
        $this->click("//a[@href='/contact/']");
    }

}

$test = new MySeleniumTest();
//I want to run the test and get information about the results so I can store them in the database, send an email etc.
?>

还是我必须将测试写入文件,通过system()/ exec()调用phpunit并解析输出?:(


问题答案:

只需使用随附的驱动程序即可。

require_once 'PHPUnit/Extensions/SeleniumTestCase/Driver.php';
//You may need to load a few other libraries.  Try it.

然后,您需要像SeleniumTestCase一样进行设置:

$driver = new PHPUnit_Extensions_SeleniumTestCase_Driver;
$driver->setName($browser['name']);
$driver->setBrowser($browser['browser']);
$driver->setHost($browser['host']);
$driver->setPort($browser['port']);
$driver->setTimeout($browser['timeout']);
$driver->setHttpTimeout($browser['httpTimeout']);

然后:

$driver->open('/');
$driver->click("//a[@href='/contact/']");


 类似资料:
  • 我使用java类从excel文件动态生成testNG xml。我使用allure-cli在测试执行结束时生成allure报告。 我正在使用maven-surefire插件进行以下配置。 当测试由maven目标和阶段触发时,我能够生成包含完整日志和屏幕截图的诱惑力报告,这些日志和屏幕截图由诱惑力注释(@step、@attachments、@Story…)附加。 但是,当java类(生成testNG

  • 我的问题很简单。我来自Python世界,在那里在程序中执行Selenium测试代码非常简单,只需编写以下内容: 当使用PHP时,事情变得越来越难:我写了类似的东西 ...当我执行phpUnit MyTest.php时,它会起作用。 但我想做的是用PHP代码实例化我的测试类,并“以编程方式”执行我的Selenium命令,比如: 这里很烂:( PHP致命错误:未捕获异常“PHPUnit_Extensi

  • 我有很多用Java编写的cucumber .feature文件。 看起来它们是并行运行的。 我如何以单线程的方式一个接一个地运行cucumber测试? 运行测试配置为:

  • 问题内容: 我正在尝试通过Java类运行JUnit测试: 问题是我的JUnit测试需要当前在JUnit测试本身中进行硬编码的数据库连接。 我正在寻找一种以编程方式(上面)运行JUnit测试的方法,但是将数据库连接传递给我在运行测试的Java类中创建的数据库连接,而不是在JUnit类内进行硬编码。 基本上像 然后在classToRun中: 我知道@Parameters,但是它在这里似乎并不适用,因为

  • 我创建了一个应该创建和执行testng xml文件的类。 这将生成下一个XML文件: 执行时不执行测试用例。总测试运行:0,失败:0,跳过:0 如果我将XML作为TestNG套件运行,它就会正常工作。 值得注意的是,当手动运行它时,在控制台中我在执行测试之前: 但在执行开始前使用上面的类运行时: 但这可能是因为使用了CMD。 测试: testng版本:6.14.3 谢谢 更新 我添加了详细级别,我

  • 问题内容: 我有一个Spring Batch应用程序,我从开始。但是现在我必须将此应用程序嵌入到我们的公司环境中。在那里,我们必须使用自己的启动器应用程序。对于此启动器应用程序,我需要一个带有main方法的启动类,该类将在启动时以及必须在其中启动Spring Batch的地方调用。 是使用此启动器手动分配和运行Job 的唯一方法,还是Spring Batch中有一个支持该类的类(或有人知道一个示例