任何一个知道如何使用硒2进行?是否有任何硒2个样本在PHP?

有帮助吗?

解决方案

快速更新: 进行不现在支持硒2


在编写本报告时,进行不支持硒2.

php-webdriverfacebook 允许完成WebDriver API被称为从PHP中的一个优雅的方式。引用:

大多数客户需要你第一次读的协议,看看有什么 可能的,然后研究的客户本身,看看如何称呼它。此 希望消除这后一步骤。

它是用来启动的硒2服务,其提供的接口 localhost:4444/wd/hub.

/usr/bin/java -jar /path/to/selenium-server-standalone-2.7.0.jar

然后运行的PHP测试的代码,其中要求该接口。例如:

<?php

require '/path/to/php-webdriver/__init__.php';

$webdriver = new WebDriver();

$session = $webdriver->session('opera', array());
$session->open("http://example.com");
$button = $session->element('id', 'my_button_id');
$button->click();
$session->close();

WebDriver API 是映射到PHP方法,比较叫 clickelement 在该实例中的要素/击API调在文件。

测试代码然后可以被包裹在经常进行测试。

这是不当地进行支持,但这是一个很健壮的方法。

其他提示

请看 http://code.google.com/p/php -webdriver-绑定/ 。这是使用JsonWireProtocol与硒的webdriver服务器通信PHP库。这是早期的版本,但它的工作原理。

目前(2017年),我建议使用 PHP-webdriver的,什么是AFAIK功能最完整的PHP语言与硒的webdriver结合相互作用。

该库在2014年被改写为支持硒2,它的API主要是基于官方的Java绑定的webdriver。这意味着你还可以用Java编写的代码示例的优势,因为它们可以被简单地通常遵循PHP。其也写在现代OOP方式和遵循标准的PSR-4的命名空间和也PSR-2编码标准。

我会推荐这个图书馆在 PHPUnit的硒 - 因为它最初设计用于硒1(尽管它现在支持硒2)和它的API强烈紧PHPUnit的。它也不支持某些webdriver的功能,并且没有及时最新与upcomin W3C规范的webdriver

PHP-webdriver的是,另一方面独立的库,但它的 PHPUnit的整合很简单 - 或者你可以使用现有的工具,如的管家,其中包括所有PHPUnit的积分,并且还提供很好的便利层和例如。允许并行简单地运行多个测试(而不需要的另一个工具,如 paratest )。

有也对项目主页中提到的其他测试框架,集成选项

PHPUnit的硒集成代码住在 github上一个单独的项目,据我可以看到它不支持硒2,所以回答你的问题是 - 不,你不能使用PHPUnit使用Selenium 2

但你可以克隆的源代码树,并使其与硒2工作。

我们创建了一个图书馆为此,我希望它帮助。它还使用id线协议,但我们的目的是使它兼容的例子,从其他语言,因此法将是非常相似。这里就是链接: https://github.com/Nearsoft/PHP-SeleniumClient

如果你喜欢它,分享,提高它或叉它:)

问候,马克。

进行webdriver绑定在谷歌的代码。有什么我们需要理解,超出这一点。

  1. 进行需要安装。(无论是通过梨包装或下载,安装手)
  2. PHP IDE如日蚀PDT已被下载,安装。
  3. 硒独立的服务器已经运行,同时执行WebDriver硒测试

我写了一个关于如何使用Selenium 2,Facebook的包装,在这里找到的教程:

HTTP://testigniter.blogspot。 co.uk/2012/01/running-selenium-2-webdriver-using.html

我recommened的 MENTA ,硒2框架需要的的webdriver 。两种封装都PSR-0兼容,所以你可以与作曲家使用它们。你可以用phpunit.xml配置硒。这里的示例

<phpunit bootstrap="tests/bootstrap.php"
         backupGlobals="false" backupStaticAttributes="false"
         strict="true" verbose="true">
    <php>
        <var name="testing.selenium.seleniumServerUrl" value="http://localhost:4444/wd/hub" />
        <var name="testing.selenium.browser" value="firefox" />
        <var name="testing.selenium.windowPosition" value="0,0" />
        <var name="testing.selenium.windowSize" value="1280x1024" />
        <var name="testing.selenium.windowFocus" value="1" />
        <var name="testing.selenium.timeoutImplicitWait" value="10000" />
    </php>
    <testsuites>
        <testsuite name="Integrationstests">
            <directory suffix="Test.php" phpVersion="5.3.0" phpVersionOperator=">=">tests/integration</directory>
        </testsuite>
    </testsuites>
    <logging>
        <log type="junit" target="build/logs/junit.xml"/>
    </logging>
</phpunit>

自举文件从testing.selenium读取配置变量。*,所以可以容易地设定新的变量。

<?php

\Menta_ConfigurationPhpUnitVars::addConfigurationFile(__DIR__ . '/../phpunit.xml');

$configuration = \Menta_ConfigurationPhpUnitVars::getInstance();
\Menta_SessionManager::init(
    $configuration->getValue('testing.selenium.seleniumServerUrl'),
    $configuration->getValue('testing.selenium.browser')
);

现在您可以轻松实现你的测试用例。这里的示例

<?php

namespace tests\integration;

use WebDriver\LocatorStrategy;

class TestSearch extends \PHPUnit_Framework_TestCase
{
    public function testGoogle()
    {
        $session = \Menta_SessionManager::getSession();
        $session->open('http://www.google.de');
        $element = $session->element(LocatorStrategy::NAME, 'q');
        $this->assertTrue($element->displayed());
    }
}

在MENTA套餐也有两个演示文件,位于

今天,深吸跳进硒和PHPUnit的。 这是可能的,你可能会发现在这里的一些例子和说明: http://phpunit.de/manual/current/en/selenium.html

的PHPUnit创建者得到了API的一些很好的例子。 随着一点点的实验和读取错误信息,你会相处。 没有带发现了一个伟大的图书馆我自己也是如此。

https://github.com/sebastianbergmann/phpunit-硒/斑点/主/测试/ Selenium2TestCaseTest.php

由于从NETTUTS与去年的教程,帮助你前进的基础: http://net.tutsplus.com/教程/ PHP /如何使用的硒-2-与-的PHPUnit /

是的, Selenium 2 (WebDriver)PHPUnit tests 很简单。但是我能想到给你的建议,首先你应该试试 Selenium IDE 因为你需要期待在 selenium command.如果你们期望在 Selenium command 如果是这样 selenium 2 (Webdriver)PHPUnit test 将更加简单。

你可以试试 selenium IDE 教程 在这里, 你可以学习 selenium 2 (Webdriver) and PHPUnit在这里,.

selenium2php

我的工作。我有Selenium1太多的测试记录硒IDE。现在,它的HTML测试转换成Selenium2。实际上,对于PHPUnit_Extensions_Selenium2TestCase。我要执行多个命令。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top