2017-07-14 10 views
0

安心して使えるフレームワークでパラメータusernameとpasswordを使用して簡単なログインAPIを自動化しようとしています。 以下は私が使用しているコードです。testngでRestAssuredフレームワークを使用してログインAPIを自動化する方法

@BeforeClass 
    public void setBaseUri() {   
    RestAssured.baseURI = "https://XXXXXXXX.com";  
} 

@Test 
    public void postString() {   
    given().params("password","XXXX"). 
    .params("username","XXXX") 
    .when() 
    .contentType (ContentType.JSON) 
    .post ("/login") 
    .then().statusCode(200).log().all(); 
    } 

ステータスコード200をチェックし、応答を記録します。テストを実行すると、エラー415サポートされていないメディアが表示されます。このコードがログインAPIを自動化するかどうかはわかりません。私はインターネットで検索しようとしたが、何も働かなかった。

お願いします。

+1

はjsonとして送信されたユーザー名とパスワードですか? –

+0

はい。これはjsonとして送信されます –

答えて

0

jsonとしてユーザー名とパスワードを送信する場合は、.body()メソッドを使用する必要があります。このような何かが動作するはずです:

@Test 
public void postString() { 
    Map<String, Object> jsonAsMap = new HashMap<>(); 
    jsonAsMap.put("username", "hello"); 
    jsonAsMap.put("password", "w0rld!"); 

    given(). 
     contentType("application/json"). 
     body(jsonAsMap). 
     when(). 
     post("/login"). 
    .then().statusCode(200).log().all(); 
} 

を上記の例では、あなたがコンテンツタイプを指定するときに、安心はJSONにリクエストボディを変換しようとします。 json POST本体(request body)を設定する他の方法もあります。特に私にとっては、上記の例のようにハッシュマップを作成するのではなく、プロジェクトのオブジェクトをシリアライズします。 serialize objects 最初にやっていたことは、ユーザー名とパスワードをクエリ文字列として設定することでした。

+0

[com.sun.istack.internal.SAXException2:@XmlRootElement注釈がないため、要素として "java.util.HashMap"型をマーシャリングできません]これはエラーです。 –

+0

あなたは安心していますか? –

+0

安心3.0.3 –

関連する問題