Appium [python] excel 用例与单元测试框架 (如:unittest、pytest) 如何结合?

匿名 · 2016年11月22日 · 最后由 Qingyaya 回复于 2018年12月05日 · 5968 次阅读

用例信息

  • 用例管理:excel
  • 用例读取:通过遍历的方式读取
  • 用例样式:见下图

问题描述

  • 想实现通过单元测试框架(unittest、pytest)读取 “test” 开头用例的方式,进行测试
  • 经验不足,目前能想到的是:单元测试框架中,只写一个 test 方法来读取所有的用例
  • 这样的话,测试报告要单独重新写,不能很好的利用单元测试框架生成报告了
  • 这种情况下,有什么好的办法么?
共收到 16 条回复 时间 点赞

1.excel 不适合做数据驱动,可以用 xml,数据库等这样的方式
2.可以参数化 unittest,class 放测试用例,直接调用相应的 class 即刻

个人看法

—— 来自 TesterHome 官方 安卓客户端

匿名 #2 · 2016年11月23日

#1 楼 @lose 多谢你的建议,我也正在研究你写的 python 框架,我看你就是用参数化 unittest 实现的,不过我想实现的是直接读取的 excel 用例而不是重新封装一个,不过还没想到要怎么弄。

@testly 表格重度使用者来看下

#1 楼 @lose

  • 第一步我写个方法你自己参考下:

    def load_tests():
    test_file_strings = glob.glob('test_*.py')
    module_strings = [str[0:len(str)-3] for str in test_file_strings]
    suites = [unittest.defaultTestLoader.loadTestsFromName(str) for str
          in module_strings]
    testSuite = unittest.TestSuite(suites)
    return testSuite
    if __name__ == '__main__':
    unittest.TextTestRunner(verbosity=2).run(load_tests())
    
  • 测试报告一般

    • 用 HTMLTestRunner 自己扩展
    • 手动拼写 html,比如 pyh 这个模块
    • 写到 excel 中
匿名 #6 · 2016年11月23日

#4 楼 @lose 非常非常感谢,我正在想的东西,你已经写出来了,我去试试先

#3 楼 @Lihuazhang @Tank007 我是 excel 的重度用户,不过现在已经迁移到测试平台(落库)了

给楼主一点我的建议吧:

既然是数据驱动,我的思路目前是 做到数据与代码隔离 ,代码不能跟业务强相关~!吧业务关联性体现在 excel 里面!

执行的问题:可以把数据装到队列里面进行排列组合然后进行一 一 遍历

测试报告的问题:长久来看自己定制自动化测试报告无法避免的,写起来也不难.

我很早前的 case(参考一下吧):

我现在的 case:

#6 楼 @testly 请教下,你现在用的这个是什么测试平台啊?

#7 楼 @leoch 自己开发的

匿名 #9 · 2016年11月23日

#8 楼 @testly 厉害,你的测试报告也是自己写的么?没找到合适的解决办法,也准备自己写报告了

17楼 已删除

#8 楼 @testly 好赞,另外,驱动测试用例执行的代码也要定制么?

#11 楼 @shixue33 驱动执行也是通用的方法,不仅用例是数据驱动,执行哪些用例也有对应的 Config 配置

#12 楼 @testly 但是看你的截图,在前端可以选择用例来执行。所以还有配置文件来设定批量执行的用例?

#13 楼 @shixue33 自己开发了一个 单步调试的 Tools 接口

#14 楼 @testly testly 不知道你是用的什么语言?

很有用的框架思路,感谢大佬分享,想请教一下,目前我是用 python 的 unit test 写测例,使用 csv 文件做的数据驱动,但是目前有个问题让我不知道如何改善自己的框架,接口的响应结果我需要做全字段的校验,这导致我现在是一个接口至少一个脚本编写校验规则,无法做到多接口的数据驱动,这个要怎么破?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册