在localhost或Jenkins

时间:2016-07-12 11:38:46

标签: php selenium jenkins

一旦我在本地机器上使用它并且一旦推送到Jenkins,我就得到了使用php Selenium的奇怪案例。

所以我有这个功能

public function tableContent()
{    
    $data = array();
    $rows = TableBase::getAllTableRowsById($this->getWebdriver(), self::TABLE);
    foreach ($rows as $row) {
        //The problematic part
        $row->getLocationOnScreenOnceScrolledIntoView();
        array_push($data, $this->getRowCellValuesByHeaderName($row));
    }

    return $data;
}

此功能通过整个表格进行,每行收集数据。然后它返回数组数组。问题是,当我在本地计算机上运行此代码时,getLocationOnScreenOnceScrolledIntoView正常工作并移动表滚动条。但是当我将代码提交给jenkins然后我在远程机器上看我的测试时,某种方式getLocationOnScreenOnceScrolledIntoView方法无效。滚动条未移动。因此,如果未滚动视图,则不会收集所有数据并且测试失败。 关于Jenkins上的getLocationOnScreenOnceScrolledIntoView有什么限制吗?为什么localhost测试工作正常,但同样的测试不适用于Jenkins?

如果您需要任何其他信息,请告诉我,我会提供。谢谢

1 个答案:

答案 0 :(得分:0)

看起来它是渲染问题。 Jenkins正在虚拟机上运行,​​这就是代码"得到""丢失