设计主测试用例的字段
主测试用例的字段一般包含用例标识的字段、请求信息的字段和响应信息的字段,响应信息的字段一般作为接口用例执行结果的断言字段;另外由于本书的接口涉及cookies信息及接口之间的关联信息,所以需要加上cookies字段及接口关联字段。基于以上规则,ZrLog系统主测试用例的字段设计如表1所示。
表1主测试用例的字段
设计配置信息的字段
配置信息的字段一般用来存放接口自动化框架中所需要的各类环境配置信息,具体需要哪些字段,在实际中可根据项目需求灵活设置,在ZrLog系统中对配置信息设置了4个常用字段,如表2所示。
表2配置信息的字段
设计执行结果记录的字段
执行结果记录的字段主要用来存放测试用例执行的最终结果及相关的信息。具体需要设置哪些字段可根据项目情况灵活决定。在ZrLog系统中对执行结果记录设置了以下常用的5个字段,如表3所示。
表3执行结果记录的字段
设计主测试用例内容并解决关联关系
接口测试用例与功能测试用例本质上并无区别,常用的设计方法有:有效、无效、边界、错误推测、场景法、正交法等。接口测试包括单接口测试和多接口测试,单接口测试是指针对单个接口的用例设计,而多接口测试是指针对多个接口的用例设计,一般是基于正向的业务流程去设计用例,并且要处理上下游接口的关联关系。
基于此规则,对于文章手把手教你设计接口自动化测试用例:提取接口信息并分析的5个接口,共设计出11个测试用例。其中登录接口为单接口,一共设计了7个用例;其他的4个接口为多个接口,一共设计了4个用例。主测试用例的内容及结构如2所示。
■1主测试用例的内容及结构
■2主测试用例的内容及结构
用例分析如下。
第1个测试用例为登录接口的测试用例,使用了错误的密码进行登录,登录过程无须携带cookies,所以cookies字段设置为空,登录失败后,预期的业务状态码为如果服务端响应的业务状态码不为则代表此测试用例执行没有通过。
第2个测试用例为登录接口的测试用例,请求主体信息中不携带密码这个参数,登录过程无须携带cookies,所以cookies字段设置为空,预期的业务状态码为如果服务端响应的业务状态码不为则表明此测试用例执行没有通过。
第3个测试用例为登录接口的测试用例,请求主体信息中使用了错误的用户名,登录过程无须携带cookies,所以cookies字段设置为空,预期的业务状态码为如果服务端响应的业务状态码不为则表明此测试用例执行没有通过。
第4个测试用例为登录接口的测试用例,请求主体信息中用户名参数使用非字符串类型的数据,登录过程无须携带cookies,所以cookies字段设置为空,预期的业务状态码为如果服务端响应的业务状态码不为则表明此测试用例执行没有通过。
第5个测试用例为登录接口的测试用例,请求主体信息中不携带用户名参数,登录过程无须携带cookies,所以cookies字段设置为空,预期的业务状态码为如果服务端响应的业务状态码不为则表明此测试用例执行没有通过。
第6个测试用例为登录接口的测试用例,请求主体信息中用户名为空字符串,登录过程无须携带cookies,所以cookies字段设置为空,预期的业务状态码为如果服务端响应的业务状态码不为则表明此测试用例执行没有通过。
第7个测试用例为登录接口的测试用例,请求主体信息中使用了正确的用户和密码进行登录,登录过程无须携带cookies,所以cookies字段设置为空,登录成功之后服务端响应的预期的业务状态码为0。如果服务端响应的业务状态码不为0,则表明此测试用例执行没有通过。用户登录成功之后,会在服务端产生cookies信息。在relation字段中设置了token=cookiess.admin-token,它代表的含义是取得cookies信息中的admin-token字段的值,并把这个值赋给变量token,以便下游接口引用token变量而得到cookies的秘钥。
第8个测试用例为发布文章接口的测试用例,在cookies字段中设置了{'admin-token':'${token}'},这说明发布文章过程中需要携带cookies信息,且cookies信息中键为“admin-token”,其值引用了登录接口中所设置的token这个变量。从request_body字段的信息中可以看到发布文章的标题为“付出”,文章别名为“付出”。在文章发布成功后,将会产生文章的id号和文章的alias,所以又在relation字段中设置了id_name=body.id,alias_name=body.alias,它代表的含义是取到响应正文中的id号,并把它赋给变量id_name;同时取到响应正文中的alias,并把它赋给变量alias_name,以便下游接口可以引用这两个变量。当文章发布成功之后,服务端响应的预期业务状态码为0。如果服务端响应的业务状态码不为0,则表明此测试用例执行没有通过。
第9个测试用例为修改文章接口的测试用例,在cookies字段中设置了{'admin-token':'${token}'},这说明修改文章过程中需要携带cookies信息,且cookies信息中键为“admin-token”,其值引用了登录接口测试用例中所设置的token这个变量。从request_body字段的信息中可以看到,文章的id号引用的是发布文章接口测试用例中设置的id_name这个变量的值,文章的alias引用的是发布文章接口测试用例设置的alias_name这个变量,也就是说要修改的文章是id为id_name的文章,并且在修改过程中把文章的标题修改成了“付出才能杰出”。在文章修改成功之后,服务端响应的预期业务状态码为0。如果服务端响应的业务状态码不为0,则表明此测试用例执行没有通过。
第10个测试用例为删除文章接口的测试用例,在cookies字段中设置了{'admin-token':'${token}'},这说明文章过程中需要携带cookies信息,且cookies信息中键为“admin-token”,其值引用了登录接口测试用例中所设置的token这个变量。从request_body字段的信息中可以看到,要删除的文章的id号引用的是发布文章接口测试用例中设置的id_name这个变量的值,这说明要删除的文章是id为id_name的文章。在文章删除成功之后,服务端响应的预期业务状态码为0。如果服务端响应的业务状态码不为0,则表明此测试用例执行没有通过。
第11个测试用例为查询文章接口的测试用例,在cookies字段中设置了{'admin-token':'${token}'},这说明查询文章过程中需要携带cookies信息,且cookies信息中键为“admin-token”,其值引用了登录接口测试用例中所设置的token这个变量。因为此接口的请求方式为GET请求,所以request_body字段中信息为空,请求的参数直接放在url中。由于文章已删除,查询的结果为空才是正常的,服务端响应的预期业务状态码应该为0。如果服务端响应的业务状态码不为0,则表明此测试用例执行没有通过。
设计配置信息的内容
本框架中所涉及的配置信息是被测环境服务器的IP地址,在配置信息中设置服务端的IP地址,其原因在于可以将服务器的IP地址从接口地址中分离出来,主要是因为一旦服务器的IP地址要改变,只需要在配置信息的字段进行更改便可,而不需要到每个接口用例当中对url中的IP地址进行一一更改,以实现公共数据的分离。在实际项目中具体需要在配置信息的字段中设置哪些内容,可根据项目需求灵活设置。ZrLog系统配置信息字段的内容如3所示。
■3配置信息字段的内容
执行结果记录的内容
执行结果记录字段的内容是由程序运行之后自动填充,无须手工填写。
参考建议
好了学习也就到此结束了想了解更多相关知识请关注我吧!下面是小编想对读者大大们写的一封信哦!记住要认真读哦!
扫描二维码,备注“csdn999”小姐姐邀你一起学习哦~~和志同道合的测试小伙伴一起讨论测试技术吧!
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点