如何使用PHP比较Selenium WebDriver中元素的位置

时间:2013-12-31 18:34:36

标签: javascript php css selenium-webdriver

我在页面上有一个元素,用作显示下拉菜单的按钮。页面上有很多移动部件,在修复一些错误之前,菜单的对齐方式会因按钮而偏离几个像素。我想知道如何编写测试,因为这些位置可以改变。例如:

$this->verifyElementPositionLeft($button,348);
$this->verifyElementPositionLeft($menu,348);

无效。我想尝试做的事情如下:

$this->storeElementPositionLeft($button,'buttonLeft');
$this->storeElementPositionLeft($menu,'menuLeft');
$this->assertEquals($buttonLeft,$menuLeft);

但我不能理解SeleniumTestCase.php存储变量的方式,经过进一步调查,这些变量存储为javascript变量而不是PHP;那是对的吗?任何帮助理解如何使这项工作,或指导更多的说明性文档非常感谢。

1 个答案:

答案 0 :(得分:1)

通过SeleniumRC命令getElementPositionLeft查看代码,我能够弄清楚这是如何完成的。因此:

$buttonLeft = $this->getElementPositionLeft( $button );
$menuLeft   = $this->getElementPositionLeft( $menu );
$this->assertEquals( $buttonLeft, $menuLeft );

phpunit-selenium / PHPUnit / Extensions / SeleniumTestCase / Driver.php