ValueError: url is invalid

robotframework
本ページはプロモーションが含まれています

はじめに

以前にrobotframeworkのWebSocketClientを使った際にエラーが出ましたが、今回はその時と似た状況でのエラーについてです。
(WebSocketClientはpythonのwebsocket-clientをrobotframework上でも使えるようにしたものです)

ソースコード&エラー

エラーはWebSocketClientにあるサンプルソースを動かそうとした時に起きました。
サンプルソースは次の通りです。

# socket_test.robot
*** Settings ***
Library WebSocketClient

*** Variables ***

*** Keywords ***

*** Test Cases ***
Echo
    ${my_websocket}= WebSocketClient.Connect 127\.0\.0\.1
    WebSocketClient.Send ${my_websocket} Hello
    ${result}= WebSocketClient.Recv ${my_websocket}
    Should Be Equal Hello ${result}
    WebSocketClient.Close ${my_websocket}

これを実行すると

==============================================================================
Socket Test
==============================================================================
Echo | FAIL |
ValueError: url is invalid
------------------------------------------------------------------------------
Socket Test | FAIL |
1 test, 0 passed, 1 failed
==============================================================================

とエラーに。

エラー内容はシンプルで
「URLが無効です」
となります。

理由も単純で11行目のIPアドレスのエスケープシーケンスである「/」が不要でした。
これを除去すると問題なく動くようになりました。

さいごに

今回はWebSocketClientのサンプルソースを利用した際に起きたエラーについてでした。
robotframeworkは「.」などはエスケープが必要ですが、WebSocketClientの引数では不要です。
今回はエラーから原因が予想しやすかったですが、こうした表記の違いはrobotframeworkはよくあるので注意が必要ですね。
(WebSocketClientは公式サイトに記載がほぼないのも今回のエラーの原因でした)

この記事がお役に立ったのなら嬉しいです。
最後までお読みいただきありがとうございます。

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました