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

tester · November 22, 2016 · Last by Qingyaya replied at December 05, 2018 · 5260 hits

用例信息

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

问题描述

  • 想实现通过单元测试框架(unittest、pytest)读取“test”开头用例的方式,进行测试
  • 经验不足,目前能想到的是:单元测试框架中,只写一个test方法来读取所有的用例
  • 这样的话,测试报告要单独重新写,不能很好的利用单元测试框架生成报告了
  • 这种情况下,有什么好的办法么?
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 16 条回复 时间 点赞

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

个人看法

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

#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中

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

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

给楼主一点我的建议吧:

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

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

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

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

我现在的case:

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

#7楼 @leoch 自己开发的

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

10Floor has been deleted

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

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

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

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

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

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

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up