0

私は統合/e2e テストを作成していますが、何らかの理由でセレン ドライバー コマンドが chromedriver で動作しているように見えませんが、Firefox ドライバーと Firefox ヘッドレス ドライバーでは問題なく動作しています。

試したコマンド: moveByOffsetdoubleClick

GebのInteractメソッドの両方を試しました

interact {
 doubleClick(centerClickable)
}

そして、webdriver に直接アクセスします。

def driver = browser.getDriver()
Actions action = new Actions(driver)
WebElement element= driver.findElement(By.className("vis-drag-center"))
def doubleclick = action.doubleClick(element).build()
doubleclick.perform()

どちらの方法も、Firefox ドライバーで機能します。どちらもクロムドライバーでは機能しません。

GebConfig.groovy ファイルは次のように設定されます。

import io.github.bonigarcia.wdm.WebDriverManager
import org.openqa.selenium.Dimension
import org.openqa.selenium.chrome.ChromeDriver
import org.openqa.selenium.chrome.ChromeOptions
import org.openqa.selenium.firefox.FirefoxDriver
import org.openqa.selenium.firefox.FirefoxOptions

def chromeWebDriverVersion = '70.0.3538.67'

def driverFirefox = {
  WebDriverManager.firefoxdriver().setup()
  def driver = new FirefoxDriver()
  driver.manage().window().setSize(new Dimension(width, height))
  return driver
}

// ChromeDriver reference: https://sites.google.com/a/chromium.org/chromedriver/
// Download and configure ChromeDriver using https://github.com/bonigarcia/webdrivermanager
def driverChrome = {
  WebDriverManager.chromedriver().version(chromeWebDriverVersion).setup()
  def driver = new ChromeDriver()
  driver.manage().window().setSize(new Dimension(width, height))
  return driver
}

environments {
  firefox {
    driver = driverFirefox
  }
  chrome {
    driver = driverChrome
  }
//driver = driverFirefox
driver = driverChrome

クロムのバージョン2.43も試しました。

追加情報:

  • マック・モハベ
  • セレン v 3.7.0
  • geb v 2.2
  • spockcore v 1.1-groovy-2.4
  • グルーヴィーな v 2.4.5
  • webdrivermanager v 3.0.0

誰かが興味を持っている場合、テストが行​​っていること: クリックして vis.js 要素を選択します。1 秒間スリープ状態になり (コードはここには含まれていません)、ダブルクリックして開く/アクティブにします。またはそれをドラッグします。

セレンのアクションとは別に、chromedriver と geb ではすべて正常に動作します。doubleClick と moveByOffset (要素に移動しないでください!) が必要になったのは今だけです。正しく動作させるために問題が発生しています。

ここで同様の質問を見つけましたが、同じ問題かもしれません。そうでないかもしれない。しかし、解決策は提供されていません: Chrome の Selenium Web Driver DragAndDropToOffset が機能しない?

どんな助けでも大歓迎です。

4

2 に答える 2