gpt4 book ai didi

python - 在不生成 geckodriver 日志文件的情况下运行 Selenium geckodriver

转载 作者:行者123 更新时间:2023-12-05 04:55:08 24 4
gpt4 key购买 nike

我有一些 Robot Framework使用 SeleniumLibrary 的测试套件.我使用 Firefox 和 geckodriver 运行这些测试。每当我运行测试套件时,都会创建一个 geckodriver-*.log 文件。

例如,在我运行我的测试套件之前,我只有我的 .robot 文件:

$ ls
example.robot

然后我运行机器人,并生成 geckodriver 日志文件:

$ robot --output NONE --log NONE --report NONE example.robot 
<output of running test suite>
$ ls
example.robot geckodriver-1.log

如果我重新运行测试套件,则会创建一个 geckodriver-2.log 文件,并且第三次运行该套件会生成一个 geckodriver-3.log 文件,等等。

如何在不创建任何 geckodriver 日志文件的情况下运行我的测试套件?

我知道这一定是可能的,因为它可以通过将 service_log_path 设置为 /dev/null 在常规 python(没有 Robot)中完成,如下所示:

from selenium import webdriver
import shutil

driver = webdriver.Firefox(
executable_path=shutil.which('geckodriver'),
service_log_path='/dev/null'
)
driver.get('https://stackoverflow.com/')
driver.quit()

我的 *.robot 文件,用于最小的可重现示例

*** Settings ***
Library SeleniumLibrary run_on_failure=None

*** Test Cases ***
Example Test Case
Open Browser https://stackoverflow.com/ Firefox
Close Browser

版本和操作系统信息

  • 操作系统:Linux
  • 火狐:79.0
  • 壁虎驱动程序:0.26.0
  • python :3.6.9
  • 机器人框架:3.2.2
  • robotframework-seleniumlibrary:4.4.0

最佳答案

解决方案是为 Open Browser 设置 service_log_path 参数os.path.devnull 的关键字,如下所示:

*** Settings ***
Library SeleniumLibrary run_on_failure=None

*** Test Cases ***
Example Test Case
Open Browser https://stackoverflow.com/ Firefox service_log_path=${{os.path.devnull}}
Close Browser

然后 geckodriver 将记录到 os.path.devnull 而不是当前工作目录中的文件。

注意:本例使用inline python evaluation ,Robot Framework 3.2 中的新功能。

关于python - 在不生成 geckodriver 日志文件的情况下运行 Selenium geckodriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65553842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com