AirtestProject / AirtestIDE

223 stars 38 forks source link

AirtestIDE 安装包中的 chromedriver 版本过低 #1071

Open Tsanfer opened 2 years ago

Tsanfer commented 2 years ago

详细描述问题bug: AirtestIDE 安装包中的 chromedriver 版本过低

复现步骤: 代码:

#! python3
# coding=utf-8

from airtest.core.api import *
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from airtest_selenium.proxy import WebChrome
driver = WebChrome()
driver.implicitly_wait(20)

报错 log:

"C:\Stand_alone\AirtestIDE\AirtestIDE" runner "E:\Sources\Code\Airtest-Selenium\JiChang_check.air"  --log "C:\Users\Admin\AppData\Local\Temp\AirtestIDE\scripts\767504f301e6b7d984a5020bcecba1ee"
============================================================

[Start running..]
do not connect device
save log in 'C:\Users\Admin\AppData\Local\Temp\AirtestIDE\scripts\767504f301e6b7d984a5020bcecba1ee'
[19:32:57][ERROR]<airtest.core.api> Traceback (most recent call last):
  File "airtest\cli\runner.py", line 70, in runTest
  File "E:\Sources\Code\Airtest-Selenium\JiChang_check.air\JiChang_check.py", line 5, in <module>
    driver = WebChrome()
  File "C:\Stand_alone\AirtestIDE\airtest_selenium\proxy.py", line 30, in __init__
    service_log_path=service_log_path, desired_capabilities=desired_capabilities)
  File "C:\Stand_alone\AirtestIDE\selenium\webdriver\chrome\webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "C:\Stand_alone\AirtestIDE\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:\Stand_alone\AirtestIDE\selenium\webdriver\remote\webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Stand_alone\AirtestIDE\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Stand_alone\AirtestIDE\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary
  (Driver info: chromedriver=2.37.544315 (730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7),platform=Windows NT 10.0.22000 x86_64)

======================================================================
ERROR: runTest (app.widgets.code_runner.ide_launcher.AirtestIDECase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "airtest\cli\runner.py", line 73, in runTest
  File "site-packages\six.py", line 703, in reraise
  File "airtest\cli\runner.py", line 70, in runTest
  File "E:\Sources\Code\Airtest-Selenium\JiChang_check.air\JiChang_check.py", line 5, in <module>
    driver = WebChrome()
  File "C:\Stand_alone\AirtestIDE\airtest_selenium\proxy.py", line 30, in __init__
    service_log_path=service_log_path, desired_capabilities=desired_capabilities)
  File "C:\Stand_alone\AirtestIDE\selenium\webdriver\chrome\webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "C:\Stand_alone\AirtestIDE\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:\Stand_alone\AirtestIDE\selenium\webdriver\remote\webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Stand_alone\AirtestIDE\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Stand_alone\AirtestIDE\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary
  (Driver info: chromedriver=2.37.544315 (730aa6a5fdba159ac9f4c1e8cbc59bf1b5ce12b7),platform=Windows NT 10.0.22000 x86_64)

----------------------------------------------------------------------
Ran 1 test in 7.393s

FAILED (errors=1)
[Finished]

============================================================

python 版本: Python 3.10.5

操作系统: Windows11 64bit

其他相关信息补充

如果自行下载最新 chromedriver 并指定其路径的话,就能正常运行。 即,将

driver = WebChrome()

更改为

driver = WebChrome(r'C:\Stand_alone\chromedriver.exe')

截屏

DozingWolf commented 1 year ago

我也碰到同样问题,一开始以为我自己的环境问题,更新了很多,最后看到包里面有个chromedrive。 我把新的chromedrive覆盖掉包内的文件,就可以了,应该和上面同学一样的处理效果。 chrome更新很快,是不是考虑chromedrive.exe让用户自己配置路径?