【发布时间】:2014-08-20 23:33:31
【问题描述】:
我尝试对 PHP Unit & Selenium 服务器进行一些测试。 我有一个难以置信的问题,我不知道为什么。
我正在使用最新的 Selenium 支架服务器 2.42.2。当我运行服务器时,它显示:
root@test:/home/jakub# java -jar /usr/local/bin/selenium-server-standalone-2.42.2.jar
Jun 30, 2014 4:32:53 PM org.openqa.grid.selenium.GridLauncher main
INFO: Launching a standalone server
16:32:53.398 INFO - Java: Oracle Corporation 24.51-b03
16:32:53.399 INFO - OS: Linux 3.12-1-amd64 amd64
16:32:53.413 INFO - v2.42.2, with Core v2.42.2. Built from revision 6a6995d
16:32:53.508 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver
registration is skipped: registration capabilities Capabilities [{platform=WINDOWS,
ensureCleanSession=true, browserName=internet explorer, version=}] does not match
with
current platform: LINUX
16:32:53.563 INFO - RemoteWebDriver instances should connect to:
http://test.jacon.cz:4444/wd/hub
16:32:53.564 INFO - Version Jetty/5.1.x
16:32:53.565 INFO - Started HttpContext[/selenium-server/driver,/selenium-server
/driver]
16:32:53.566 INFO - Started HttpContext[/selenium-server,/selenium-server]
16:32:53.566 INFO - Started HttpContext[/,/]
16:34:07.013 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@7cbae009
16:34:07.014 INFO - Started HttpContext[/wd,/wd]
16:34:07.022 INFO - Started SocketListener on 0.0.0.0:4444
16:34:07.023 INFO - Started org.openqa.jetty.jetty.Server@17056563
Selenium 服务器似乎运行正常。但是当我尝试使用 PHPUnit 在 php 中运行简单测试时,它说它无法连接到 Selenium 服务器。
root@test:/home/jakub# /usr/local/bin/phpunit --verbose sel.php
PHPUnit 4.1.3 by Sebastian Bergmann.
SS
Time: 73 ms, Memory: 3.25Mb
There were 2 skipped tests:
1) loginTest::testLoginTrue
The Selenium Server is not active on host http://test.jacon.cz at port 4444.
2) loginTest::testLoginFalse
The Selenium Server is not active on host http://test.jacon.cz at port 4444.
OK, but incomplete, skipped, or risky tests!
Tests: 2, Assertions: 0, Skipped: 2.
我通过 netstat -apn | 进行了检查grep 4444 如果 Selenium 服务器正在侦听端口 4444 并且它正在侦听。有人知道如何解决这个问题吗?我用谷歌搜索,但没有任何结果。
顺便说一句。这是php中的测试代码:
<?php
class loginTest extends PHPUnit_Extensions_Selenium2TestCase
{
protected $captureScreenshotsOnFailure = TRUE;
protected $screenshotsPath = '';
protected $screenshotsUrl = '';
protected function SetUp()
{
$this->setBrowser('chrome');
$this->setBrowserUrl('http://test.jacon.cz/');
//$this->setPort(4444);
//$this->setTimeout(2);
$this->setHost("http://test.jacon.cz");
}
public function testLoginTrue()
{
$this->url('/sms');
$this->byName('username')->value('Kristyna');
$this->byName('password')->value('*****');
$this->byCssSelector('form')->submit();
$url = $this->url();
$this->assertEquals('Statistics', $this->title(), 'Přihlášení neproběhlo');
$this->assertStringEndsWith('sms/', $this->url(), 'Přihlášení neproběhlo');
}
public function testLoginFalse()
{
$this->url('/sms');
$this->byName('username')->value('abcdefgh');
$this->byName('password')->value('123456');
$this->byCssSelector('form')->submit();
$url = $this->title();
$this->assertEquals('Login to SM', $this->title(), 'Přihlášení proběhlo');
}
}
?>
希望您能提供帮助。谢谢。
【问题讨论】:
-
我没有遇到同样的问题,但我更幸运的是扩展
PHPUnit_Extensions_SeleniumTestCase而不是PHPUnit_Extensions_Selenium2TestCase。 -
感谢提示,但没有任何成就。
-
您是否尝试运行 Selenium Grid?
-
不,我正在运行标准 selenium 独立服务器,运行命令中没有任何参数。