php Seleniumをローカルマシンで使用し、Jenkinsにプッシュすると奇妙なケースが発生しました。 localhostまたは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が正常に動作し、テーブルスクロールが移動することです。しかし、私はジェンキンスにコードをコミットし、リモートマシン上で私のテストを見ると、何とかgetLocationOnScreenOnceScrolledIntoViewメソッドが動作しません。スクローラーは移動されません。したがって、ビューがスクロールされない場合、すべてのデータは収集されず、テストは失敗します。 JenkinsのgetLocationOnScreenOnceScrolledIntoViewに関する制限はありますか?どのようにlocalhostテストが動作していますが、同じテストがJenkinsで動作していませんか?
追加情報が必要な場合は、私にお知らせください。私が提供します。ありがとう