API测试。如何管理有效负载

时间:2018-07-12 11:54:34

标签: java selenium cucumber selenium-chromedriver cucumber-serenity

我想测试一个API(Post方法)。我必须通过更改所有可用参数来测试此API。对于测试用例一中的EG,我仅更改用户名,在测试用例2中,仅更改密码,此后。

我的API如下所示:

{
          "schemas": [
                         "urn:ietf:params:scim:schemas:core:2.0:User",
                         "urn:ibm:params:scim:schemas:extension:bean:agc:2.0:User"
          ],
          "name": {
          },
          "userName": "GROUPTEST12134",
          "password": "Asdfg12@sdd",
          "emails": [{
                         "value": "steve.hok123@awe.com"
          }],
          "phoneNumbers": [{
                        "value": "70422330098"
          }],

          "urn:ibm:params:scim:schemas:extension:bean:agc:2.0:User": {

          }
          }

我可以通过以下方法成功对其进行测试:

    String urlParameters = "{\"schemas\": [\"urn:ietf:params:scim:schemas:core:2.0:User\",\"urn:ibm:params:scim:schemas:extension:bean:agc:2.0:User\"],\"name\": {},\"userName\": \"GROUPTEST12138\",\"password\": \"Asdfg12@sdd\",\"emails\": [{\"value\": \"steve.hok1234@awe.com\"}],\"phoneNumbers\": [{\"value\": \"\"}],\"urn:ibm:params:scim:schemas:extension:bean:agc:2.0:User\": {}}";

    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setDoOutput(true);
    con.setRequestMethod("PUT");
    con.setRequestProperty("Content-Type", "application/scim+json");
    con.setRequestProperty("Accept", "application/scim+json");
    con.setRequestProperty("realm", "Ideas");
    con.setRequestProperty("Authorization", "Bearer " + BearerToken);

但是我正在寻找不必管理此urlParameters的方法。

能否请您提出一些想法,以实现这一目标?

1 个答案:

答案 0 :(得分:0)

3种可能性:

在代码中-GSON库非常不错。您可能会调查一下。

在文件中-我看到了通常在单独文件中维护的JSON。并不是我的偏爱,但是它可以用于高度重复使用的JSON,或者如果您有很多样板。

电子邮件-您将来可能希望从JSON中删除史蒂夫的电子邮件,并在以后的PII中清除它。