• 现在读取 excel 的方式之后应该会变化一下,我想的是先直接读取整张表格的内容,然后再遍历数据,遍历数据的时候按照模板生成单个用例执行代码

  • 第一种的类型的,自动生成代码。

  • 是用的 requests 请求,谢谢推荐,一定去学习一下

  • 谢谢给出的建议,我的提问描述太模糊了,十分抱歉。现在我就给出的建议,具体描述一下我的问题:
    1.对于 why 的回答:目前框架的现状是可以通过读取 excel 中的接口数据,自己组装生成对应的一个测试用例(request 请求)然后执行,解析结果最后会输出测试报告。感觉维护起来比较费时,所以我想是否可以写一个用例模板,然后先获取表格所有的数据,再按照模板输出一个个测试用例,提高工作效率。现在我苦恼的是如何写这样一个模板,用什么方式让数据按照模板生成一个测试用例
    2.对于 what 的回答:希望达到的效果是也如上一个问题所描述的那样,可以支持先读取 excel 中所有的数据之后,批量的生成一个个独立的测试用例(即一个完整的 request 请求)
    3.对于 how 的回答:
    目前 excel 的表格内容如下:

    生成的测试用例大致如下:

    class TestLogin:
        @allure.feature(' 接口测试')
        @allure.story('xxxx')
        @allure.severity('blocker')
        @allure.step('xxxxxx接口')
        def test_adv_login(self):
            # 获取用例表格
            excelPath = os.path.dirname(os.path.realpath(__file__))
            testExcel = os.path.join(excelPath, 'debug_api.xlsx')
            sheetName = 'V1.0'
    
            # 创建日志对象
            # mylog = log.MyLog()
            test = Assert.Assertions()
            data = ReadExcel(testExcel,sheetName).dict_data()
            s = requests.session()
            reponse = send_requests(s,data[0])
            print(reponse)
    
            # 断言
            allure.attach('实际结果','{}'.format(reponse['text']))
            sc = reponse['statuscode']
            assert test.assert_code(sc, '200')
    

    以上是一些具体的描述。我初步的想法是在读取文件内容之后,遍历数据的时候,按照模板生成一个个具体的用例,但是不知道该怎么下手编写模板和按照模板生成用例。希望可以通过交流获取到一些方法和意见,谢谢!

  • 接口测试的一些感悟 at 2019年11月28日

    楼主,你好。我目前根据推荐的文章搭建了一个基于 python+excel+pymysql+pytest+allure 的测试框架,现在想要优化框架,希望可以支持:根据 excel 的数据自动生成测试用例代码,还没有一个好的实现方向,特此留言请教一下楼主,谢谢