1

SWIG を使用して、テスト ライブラリとして Robot Framework の C++ からラッパーを生成しています。キーワードが含まれていないため、RF は警告を発行します。

テスト対象のシステムは、VS ウィザードによって作成された Win32 DLL、LibLogin2 です。デフォルトで関数をエクスポートします。

LIBLOGIN2_API int fnLibLogin2(void);

// This is an example of an exported function.
LIBLOGIN2_API int fnLibLogin2(void)
{
    return 42;
}

プロジェクトにインターフェイス ファイルを追加します。

/* LibLogin2.i */
 %module LibLogin2
 %{
  extern int fnLibLogin2(void);
 %}

 extern int fnLibLogin2(void);

LibLogin2.py、LibLogin2_warp.cxx、_LibLogin2.pyd は Release|x64 で正常にビルドされています。

次のような RF テスト ケースがあります。

*** Settings ***
Library LibLogin2.py


*** Test Case ***
Trivial
    ${value} =  fnLibLogin2
    Should Be Equal ${value}    ${42}

Robot Framework を起動すると、次のエラーが表示されます。

pybot LoginTests.tsv [警告] インポートされたライブラリ 'LibLogin2.py' にはキーワードが含まれていません

LibLogin.py の最後の行をコメントアウトすることで、これを回避できます。

def fnLibLogin2():
  return _LibLogin2.fnLibLogin2()
#fnLibLogin2 = _LibLogin2.fnLibLogin2

毎回すべてのキーワードをコメントアウトしなければならないのは面倒です。

ご意見をお聞かせください!

これが私の構成です:

Windows 8 64 ビット Visual Studio 2012 Python 2.6.6 ロボット フレームワーク 2.7.5 swigwin-2.0.8

4

0 に答える 0