首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不生成geckodriver日志文件的情况下运行Selenium geckodriver

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

Stack Overflow用户
提问于 2021-01-03 19:12:05
回答 1查看 1.2K关注 0票数 3

我有一些使用机器人框架SeleniumLibrary测试套件。我用Firefox和geckodriver运行了这些测试。每当我运行测试套件时,都会创建一个geckodriver-*.log文件。

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

代码语言:javascript
复制
$ ls
example.robot

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

代码语言:javascript
复制
$ 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 (没有机器人)中完成,如下所示:

代码语言:javascript
复制
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()

用于最小可重现示例*.robotMy 文件

代码语言:javascript
复制
*** Settings ***
Library     SeleniumLibrary    run_on_failure=None

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

版本和操作系统信息

  • 操作系统: Linux
  • Firefox: 79.0
  • 壁虎司机: 0.26.0
  • Python: 3.6.9
  • 机器人框架: 3.2.2
  • robotframework-seleniumlibrary: 4.4.0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-03 20:15:27

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

代码语言:javascript
复制
*** 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,而不是登录到当前工作目录中的文件。

注意事项:本例使用内联蟒蛇评价,这是机器人框架3.2中的一个新特性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65553842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档