记一次简单的接口测试

作者: 胆小的米老鼠 | 来源:发表于2018-07-31 15:20 被阅读37次

    功能测试做长了,老感觉很慌,最近学习了接口测试,书上的例子比较简单,在实际工作了实现了两遍,都是登录功能,流程基本通了,慢慢扩展到jenkins 集成,自动 发送邮件。接口测试需要有接口文档,根据接口文件来创建测试用例,如果没有接口文件,就抓包工具来看一个需要填写那些字段名称。

    第一步创建测试用例,代码如下:

    import  requests,unittest,HTMLTestRunner_PY3
    
    class login(unittest.TestCase):
    
        def setUp(self):
            self.url= "替换成你自己的测试地址"
        def tearDown(self):
            pass
    
        # 正确登录
        def test1(self):
            form = {"uid": "HTSSAdmin000000", "pwd": "HTSSAdmin000000"}
            r = requests.post(self.url, data=form)
            self.assertEqual(r.status_code, 200)
    
        # 用户名为空
    
        def test2(self):
            form = {"uid": " ", "pwd": "HTSSAdmin000000"}
            r = requests.post(self.url, data=form)
            self.assertEqual(r.status_code, 200)
    
        # 密码为空
    
        def test3(self):
            form = {"uid": "HTSSAdmin000000", "pwd": " "}
            r = requests.post(self.url, data=form)
    
        # 用户名错误
    
        def test4(self):
            form = {"uid": "HTSSAdmi", "pwd": "HTSSAdmin000000"}
            r = requests.post(self.url, data=form)
            self.assertEqual(r.status_code, 200)
         # 密码错误
    
        def test5(self):
            form = {"uid": "HTSSAdmin000000", "pwd": "HTSSA"}
            r = requests.post(self.url, data=form)
            self.assertEqual(r.status_code, 200)
    
            # 用户名和密码都错误
    
        def test6(self):
            form = {"uid": "HTSSAdmin", "pwd": "HTSSAdmin"}
            r = requests.post(self.url, data=form)
            self.assertEqual(r.status_code, 200)
    #用户名输入特殊字符
        def test7(self):
            form = {"uid": "HTSSAdmin000000", "pwd": "@#@#@##¥#%¥%¥"}
            r = requests.post(self.url, data=form)
            self.assertEqual(r.status_code, 200)
    #密码输入特殊字符
        def test8(self):
            form = {"uid": "@#@#@##¥#%¥%¥", "pwd": "HTSSAdmin"}
            r = requests.post(self.url, data=form)
            self.assertEqual(r.status_code, 200)
    #用户名输入长文字
        def test9(self):
            form = {"uid": "HTSSAdmin000000HTSSAdmin000000HTSSAdmin000000HTSSAdmin000000HTSSAdmin000000HTSSAdmin000000HTSSAdmin000000HTSSAdmin000000", "pwd": "HTSSAdmin"}
            r = requests.post(self.url, data=form)
            self.assertIn("登录错误",r.text)
    
    
    

    第二步:创建执行文件,代码如下:

    #导入测试用例文件
    from  yingxinhuitong.hight_new_part.loginPage import login
    import  unittest,  HTMLTestRunner_PY3
    
    # 创建用例套件
    def suite():
        loginPageCase = unittest.TestSuite()
        loginPageCase.addTest(login("test1"))
        loginPageCase.addTest(login("test2"))
        loginPageCase.addTest(login("test3"))
        loginPageCase.addTest(login("test4"))
        loginPageCase.addTest(login("test5"))
        loginPageCase.addTest(login("test6"))
        loginPageCase.addTest(login("test7"))
        loginPageCase.addTest(login("test8"))
        loginPageCase.addTest(login("test9"))
        return loginPageCase
    
    #执行程序
    if __name__ == '__main__':
            #创建html文件,用于可视化测试报告
        with open("高新区登录页面测试.html", "wb") as fi:
            runner = HTMLTestRunner_PY3.HTMLTestRunner(stream=fi, title="测试报告", description="详情")
            runner.run(suite())
    
    

    第三步:找到创建的测试html文件打开效果如下:

    测试报告结果展示

    相关文章

      网友评论

      • hslzyd:test suite添加test case用discover方法吧,一个个加不累死啊。。。:sweat_smile:
        胆小的米老鼠:说的对,当时不是还没有学习到这个方法,持续改进,感谢!:smile:
      • 2a6ce752661b:python有点看不懂。。
        胆小的米老鼠:@看的最远的地方_7afd 测试有妹子,有爷们:smile:
        2a6ce752661b:@一个测试的成长之路 现在才知道我是0基础:sob: ,话说测试是妹子吗
        胆小的米老鼠:@看的最远的地方_7afd 这样呀,是没有python基础还是我的注释少了,你看不懂!

      本文标题:记一次简单的接口测试

      本文链接:https://www.haomeiwen.com/subject/oelhvftx.html