RobotFrameworkリモートサーバーとJavaライブラリ
-
28-10-2019 - |
質問
誰かがRobotFrameworkとJavaリモートサーバーを使用しましたか?
Javaキーワードをリモートサーバーで動作させるのに問題があります。キーワードを取得するために失敗するために例外を投げました。これにより、ロボットが失敗しますが、ログに表示されるメッセージを取得する代わりに、「処理XML-RPCリターン値が失敗しました」というメッセージを取得します。
したがって、私の次の試みは、アサーションを使用しようとすることでしたが、サーバーはnullポインターの例外をスローさせます。
これが私が作成した方法です。
Public void filesShouldBeEqual(String path1, String path2){
File f1 = new File(path1);
File f2 = new File(path2);
int value = f1.compareTo(f2);
if(value > 0 || value < 0){
Assert.assertFalse("Files are not equal", false);
} else if (value == 0){
Assert.assertTrue("Files are equal", true);
}
}
解決
GoogleグループのRobot Frameworkユーザーグループへのより良い応答の投稿を得ていたでしょう。
「XML-RPCの処理値が失敗した」というメッセージを引き起こした例外を投げた元のコードに関する情報を投稿した場合に役立ちます。
参考までに、リモートサーバーの最新リリース/変更により、リモートライブラリを簡単に作成できるようになります。
https://github.com/ombre42/jrobotremoteserver
そして、あなたの問題の背景のために、次のように関連する可能性のある既知の問題のリストがあります
http://code.google.com/p/jrobotremoteserver/issues/detail?id=2
また、リモートライブラリは、ここに記載されているように、実装のためのいくつかのガイドラインに従う必要があります。
最後に、サーバーに含まれている例は、そのサーバーを使用してJavaリモートライブラリを適切に実装する方法の良い例を示しています。
あなたのサンプルコードはおそらくこの方法で最もよく実装されています:
Public static void filesShouldBeEqual(String path1, String path2) throws Exception{
File f1 = new File(path1);
File f2 = new File(path2);
int value = f1.compareTo(f2);
if(value > 0 || value < 0){
throw new Exception("Files are not equal");
}// else if (value == 0)
//"Files are equal", automatically = pass by the framework after executing keyword
System.out.println("Files are equal");
}