RobotFramework関数がデフォルトのUnicodeタイプではなく文字列として引数を受け入れるようにする方法

binithb

私が使用している(既存の)Pythonライブラリはユニコードではなく文字列を期待しているため、文字列引数を取ることが期待される新しいRFライブラリを作成しています。もちろん、文字列のみをサポートする既存の関数を呼び出す前に、各Unicodeを文字列に変換できます。

import ConfigParser

class RFConfigParser:

def get (self,section, option):
    print type (section) #prints unicode
    section = str (section) #works but I dont want to do this
    return self._config.get (section, option) #this pre-existing function expect a string input

問題は、似たような関数がたくさんあることです。これらの関数のそれぞれで、このユニコードから文字列への変換サーカスを呼び出す必要があります。

RF関数が文字列形式で直接受け入れるように、これを行う簡単な方法はありますか?

もう1つの質問は、デフォルトのUnicodeがRobotFramework機能またはRIDE機能をサポートしていることです。(私はRIDEを使用しているので、この問題が発生します)

ハリ

ライブラリに渡す前に、Evaluateキーワードを使用して、これらのUnicode文字列を通常の文字列にキャストできます。

このようなもの:

lib.py:

def foo(foo):
    print type(foo)

test.txt

*** Settings ***
Library           lib.py

*** Test Cases ***
demo
    ${bar}    Evaluate    str('bar')
    foo    ${bar}

最善の解決策は、正確な状況によって異なります。たぶん1つの解決策は、そのキャストを実行するキーワードを記述してから、ライブラリ関数を呼び出すことです。おそらく最良のオプションは、Unicode文字列を受け入れるようにライブラリを変更することです。場合によります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ