相关疑难解决方法(0)

使用Selenium Python API绑定从Chrome获取console.log输出

我正在使用Selenium通过Python API绑定在Chrome中运行测试,而我无法确定如何配置Chrome以使console.log加载测试的输出可用.我看到WebDriver对象上有get_log()log_types()方法,我看过Get chrome的控制台日志,它显示了如何用Java做事.但我没有LoggingPreferences在Python API中看到相当于Java的类型.有没有办法完成我需要的东西?

python logging selenium google-chrome

55
推荐指数
2
解决办法
5万
查看次数

获取chrome的控制台日志

我想构建一个自动化测试,所以我必须知道chrome控制台中出现的错误.

有一个选项来获取控制台中出现的错误行?

要查看控制台:右键单击页面中的某个位置,单击"检查元素",然后转到"控制台".

javascript c# asp.net-mvc selenium

25
推荐指数
2
解决办法
3万
查看次数

无法从远程Chrome浏览器获取浏览器控制台日志

我正在使用selenium的python语言绑定.正在测试的应用程序是WEBRTC应用程序,它将调试信息写入浏览器的控制台日志.运行测试时需要获取这些日志信息.当浏览器在同一系统上运行时,我能够获取日志,但是当我在远程浏览器上使用Grid运行相同的代码时,即使它们出现在浏览器中,也不会返回日志.在将节点配置到集线器时,我也尝试使用-browserConsoleLog选项,但即使这样也不起作用.

chrome_opts=webdriver.ChromeOptions()
desired_caps = chrome_opts.to_capabilities()
desired_caps.update({'loggingPrefs':{ 'browser':'ALL'}})
Run Code Online (Sandbox Code Playgroud)

通过启用如上所示的日志记录首选项,我可以在本地运行时从浏览器获取console-api和网络日志,如下所示:

driver=webdriver.Chrome(desired_caps)
driver.get(app_url)
logs = driver.get_log("browser") 
# returns all the console-api, network and browser logs as I read from one of the posts
for log in logs:
   if log.get('source')=='console-api':
       print log.get('message')
Run Code Online (Sandbox Code Playgroud)

但是当我使用与远程浏览器相同的所需功能时,如下所示,get_logs不会返回控制台日志,尽管它出现在浏览器控制台中
driver=webdriver.Remote(command_executor=hub_url,desired_capabilities=desired_caps)

有帮助吗?

python selenium selenium-grid selenium-chromedriver selenium-webdriver

22
推荐指数
0
解决办法
746
查看次数

如何在Capybara + ChromeDriver中显示JS错误?

我有一个使用RSpec + Capybara的集成测试设置。我们最近从PhantomJS切换到了无头的Chromedriver,但我想不到不再显示javascript错误。

有没有一种方便的配置Chromedriver的方法,以便在capybara测试的日志输出中显示javascript错误?

访问我发现的javascript错误的方法(请参阅下文)都有点麻烦,或者不是我要找的东西。

  • 设置一个明确的日志输出路径,如本答案所述
  • 如本要点所述,通过驱动程序界面访问(减少的)错误日志

javascript capybara selenium-chromedriver

2
推荐指数
2
解决办法
1768
查看次数