หมดเวลารับข้อความจาก renderer: 10.000

Jan 07 2020

ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อเรียกใช้สถานการณ์ของฉัน

org.openqa.selenium.TimeoutException: timeout: หมดเวลารับข้อความจาก renderer: 10.000

(ข้อมูลเซสชัน: chrome = 79.0.3945.79) ข้อมูลการสร้าง: เวอร์ชัน: '3.14.0', การแก้ไข: 'aacccce0', เวลา: '2018-08-02T20: 19: 58.91Z' ข้อมูลระบบ: โฮสต์: 'fv-az598 ', ip: '10 .1.0.4', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-1064-azure', java.version: '1.8.0_212' ไดรเวอร์ ข้อมูล: org.openqa.selenium.remote.RemoteWebDriver ความสามารถ {acceptInsecureCerts: false, browserName: chrome, browserVersion: 79.0.3945.79 , chrome: { chromedriverVersion: 79.0.3945.36

อย่างที่คุณเห็นด้วยตัวอักษรที่เป็นตัวหนาและไฮไลต์ฉันมีเวอร์ชันที่ตรงกันของ Chrome และไดรเวอร์ Chrome

ฉันยังส่งต่อข้อโต้แย้งบางอย่างไปยัง ChromeOptions ของฉันซึ่งหมายถึงความช่วยเหลือเกี่ยวกับการหมดเวลา:

        // options to prevent TIMEOUTS
        options.addArguments("start-maximized"); //https://stackoverflow.com/a/26283818/1689770
        options.addArguments("enable-automation"); //https://stackoverflow.com/a/43840128/1689770
        options.addArguments("--no-sandbox"); //https://stackoverflow.com/a/50725918/1689770
        options.addArguments("--disable-infobars"); //https://stackoverflow.com/a/43840128/1689770
        options.addArguments("--disable-dev-shm-usage"); //https://stackoverflow.com/a/50725918/1689770
        options.addArguments("--disable-browser-side-navigation"); //https://stackoverflow.com/a/49123152/1689770
        options.addArguments("--disable-gpu"); //https://stackoverflow.com/questions/51959986/how-to-solve-selenium-chromedriver-timed-out-receiving-message-from-renderer-exc
        options.addArguments("--disable-features=VizDisplayCompositor"); //https://stackoverflow.com/questions/55373625/getting-timed-out-receiving-message-from-renderer-600-000-when-we-execute-selen

แก้ไข: มันเกิดขึ้นเมื่อทำงานใน DOCKER container (โดยใช้อิมเมจนักเทียบท่าล่าสุดสำหรับเบราว์เซอร์ Chrome และ node-chrome-debug)

ความคิดใด ๆ จะได้รับการชื่นชมอย่างมาก

แบ่งปัน | ปรับปรุงคำถามนี้ | |

คำตอบ

2 DebanjanB Jan 08 2020 at 02:54

ข้อความแสดงข้อผิดพลาดนี้ ...

org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 10.000

... หมายความว่าChromeDriverไม่สามารถเริ่ม / วางไข่บริบทการเรียกดูใหม่เช่นเซสชันเบราว์เซอร์ Chrome

ปัญหาหลักของคุณคือความเข้ากันไม่ได้ระหว่างเวอร์ชันของไบนารีที่คุณใช้ดังต่อไปนี้:

  • เวอร์ชันไคลเอนต์ Seleniumของคุณคือ3.14.0ของวันที่2018-08-02T20: 19: 58.91Zซึ่งเก่ากว่าเกือบ1.5ปีและChromeDriver ที่ใช้งานพร้อมกันเป็นไปตามOSS
  • คุณกำลังใช้chromedriver = 79.0
  • คุณกำลังใช้chrome = 79.0
  • แม้ว่าchromedriver = 79.0และโครเมี่ยม = 79.0จะพร้อมกัน แต่พวกเขาจะไม่เข้ากันกับซีลีเนียมไคลเอ็นต์รุ่น3.14.0

ดังนั้นจึงมีความไม่ตรงกันอย่างชัดเจนระหว่างSelenium Client v3.14.0 , ChromeDriver v79.0และChrome Browser v79.0


วิธีการแก้

ตรวจสอบให้แน่ใจว่า:

  • JDKการปรับรุ่นเป็นระดับปัจจุบันJDK 8u222
  • ซีลีเนียมมีการปรับรุ่นระดับปัจจุบันเวอร์ชัน 3.141.59
  • ทำความสะอาดของพื้นที่ทำงานของโครงการผ่านIDEและสร้างโครงการของคุณด้วยการอ้างอิงที่จำเป็นเท่านั้น

tl; ดร

คุณสามารถค้นหาการสนทนาที่เกี่ยวข้องได้ใน:

  • หมดเวลารับข้อความจากตัวแสดงผล
  • ข้อผิดพลาด [SEVERE]: หมดเวลารับข้อความจากตัวแสดงผล: 20.000 ขณะดำเนินการ testsuite ผ่าน Selenium บน Jenkins