[#50752] [質問] rescue節で、他パッケージのメッセージ出力を抑止したい — Takahiro Yamaguchi <yamataka@...08.itscom.net>

10 messages 2019/05/02

[ruby-list:50761] Re: [質問] rescue節で、他パッケージのメッセージ出力を抑止したい

From: yamataka@...08.itscom.net
Date: 2019-05-06 07:10:16 UTC
List: ruby-list #50761
山口です。

斎藤さん、サポートありがとうございます。

On Sat, 04 May 2019 01:00:04 +0900,
Tadashi Saito wrote:
...
> というのがあるので、やはり selenium-webdriver gem側が相当あやしいように思います。
> もしご自身で、deprecatedな定数を直接触っていないのであれば、

deprecatedな定数を直接触っていないです。

> * プロセスの再起動をしていない等、古いバージョンのgemを使ったままになっている
>   (これは実行環境によるので、何とも言えないところです)

yama@yamaguchi-no-MacBook-Air ~/b/a/test> cat version-selenium-webdriver.rb 
# coding: utf-8
require 'selenium-webdriver'

p Selenium::WebDriver::VERSION

yama@yamaguchi-no-MacBook-Air ~/b/a/test> ruby version-selenium-webdriver.rb 
"3.142.0"

で、

yama@yamaguchi-no-MacBook-Air ~/b/a/test> gem list -b '^selenium-webdriver$'

*** LOCAL GEMS ***

selenium-webdriver (3.142.0)

*** REMOTE GEMS ***

selenium-webdriver (3.142.0)

より、最新版の 3.142.0 が使われています。

> * 間接依存している他のgemが古い方の定数を使っている
> くらいしか、残りの可能性はない気がします。

これに、起因しているのかもしれませんね。

> 
> 参考までに、自分は以下の3行のプログラムを実行してみました
> 
> require 'selenium-webdriver'
> wait = Selenium::WebDriver::Wait.new(timeout: 0)
> wait.until { sleep(1) }
> 
> が、deprecationの警告は出ませんでした。
> 
> Traceback (most recent call last):
>     1: from sample.rb:5:in `<main>'
> /home/tadashi/git/selenium-sample/vendor/bundle/ruby/2.6.0/gems/selenium-webdriver-3.142.0/lib/selenium/webdriver/common/wait.rb:73:in
> `until': timed out after 0 seconds (Selenium::WebDriver::Error::TimeoutError)

yama@yamaguchi-no-MacBook-Air ~/b/a/test> cat check-selenium-webdriver.rb 
# coding: utf-8
require 'selenium-webdriver'

wait = Selenium::WebDriver::Wait.new(timeout: 0)
wait.until { sleep(1) }

yama@yamaguchi-no-MacBook-Air ~/b/a/test> ruby check-selenium-webdriver.rb 
Traceback (most recent call last):
	1: from check-selenium-webdriver.rb:5:in `<main>'
/Users/yama/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/selenium-webdriver-3.142.0/lib/selenium/webdriver/common/wait.rb:73:in `until': timed out after 0 seconds (Selenium::WebDriver::Error::TimeoutError)

出力は同じですね。

> またこういう時、Bundler(Gemfile,Gemfile.lock)を使うと、依存するgemのバージョンを固定・明示できて便利です。

Bundler 紹介ありがとうございます。
使う程のシビアな環境でもないので...

> もちろん、他の方が挙げてくださった方法で「出力を無視する」というのも、アリだと思います。

こちらで対処しようかと思います。

サポート大変ありがとうございました。

In This Thread

Prev Next