0

我正在使用Selenium2TestCase对象在站点上运行一些测试。我正在尝试将这些测试模块化,以便于编写和新的测试和可读性。

由于我对 Selenium WD 和 PHPUnit 的了解有限,并且明显缺乏在线可用的有用信息,我开始着手将我的测试拆分为单独的“页面”对象。我不知道这是否是最好的解决方案,或者它在技术上是否可行。

这是我目前所拥有的简化版本...

class Selenium2TestCase_Extension extends PHPUnit_Extensions_Selenium2TestCase
{
    public function testPages(){

        $pages = array('about', 'contact');

        foreach($pages as $page){

            // Can I instantiate and run the tests in About_Test from here???
        }
    }
}

class About_Test extends PHPUnit_Extensions_Selenium2TestCase 
{
    public function testTitle(){
        $this->url('/about');

        $this->assertEquals("About Us", $this->title());
    }

}

class Home_Test extends PHPUnit_Extensions_Selenium2TestCase
{
    public function testTitle(){
        $this->url('/home');

        $this->assertEquals("Welcome", $this->title());
    }

}

我不确定我是否在这里尝试不可能的事情,或者任何帮助将不胜感激!

4

1 回答 1

0

是的,您可以使用execorsystem或类似的东西。但这似乎不是正确的方法。

XY 问题吗?

你可以

  1. 使用来启动一些测试。
  2. 将这些测试存储在一个单独的文件夹中,并使用命令行界面对其运行测试。
  3. 使用命令行界面只运行想要的测试。
  4. (在您的情况下)使用数据提供者并只编写一个测试。
于 2013-11-01T00:42:28.433 回答