想学 Python 做大规模自动化测试,各位前辈有指教么

null
想学 Python 做大规模自动化测试,各位前辈有指教么

11 回复

接口可以尝试,ui 就算了


想搞大规模自动化测试,Python确实是个好选择,生态成熟,上手也快。核心就两块:测试框架并发/分布式执行

1. 测试框架选型 别自己造轮子,用成熟的。pytest是现在的主流,插件多,写起来简单。unittest是标准库,有些老项目在用。直接上pytest就行。

2. 处理“大规模” 单机跑不动就得并行。pytest-xdistpytest的并行插件,一行命令就能让用例在多个CPU核心上跑。

pytest -n auto  # auto自动检测CPU核心数

如果资源还不够,或者要跨机器,得上分布式。用pytest + Celery或者pytest + Selenium Grid(做Web UI自动化时)这类组合。不过分布式本身是个复杂话题,得慢慢啃。

3. 基础代码示例 一个最简单的pytest用例长这样,保存为test_sample.py

# test_sample.py
def add(a, b):
    return a + b

def test_add():
    assert add(2, 3) == 5
    assert add(-1, 1) == 0

在终端用pytest test_sample.py -v就能跑。

4. 学习路径建议

  • 第一步:把pytest官方文档和教程过一遍,把夹具(fixture)、参数化(parametrize)这些核心概念搞懂。
  • 第二步:在你当前的项目里挑个简单的模块,用pytest给它写单元测试,先跑起来。
  • 第三步:等用例多了,再研究pytest-xdist做并行,感受下速度提升。
  • 第四步:真有跨机器、调度需求了,再去琢磨Celery或专门的测试平台。

总结:从pytest入手,用xdist解决并行,逐步深入。

从底层开始,先把单元测试做好

规模有多大?为什么要做自动化测试?需要达到什么样的效果?除非产品稳定 最少后面半年没有打算变动,不然的话不建议做 ui 方面的自动化测试。接口变动较小可以试试。

自动化测试不是用 CI 去解决么

。。。
啥也不说,做什么自动化呢?接口? UI ?

windows 程序的测试

“最少后面半年没有打算变动,不然的话不建议做 ui 方面的自动化测试”。。。。产品都不变动了,那就更不需要测试了。

也不能这样说。如果是个大型系统,框架比较稳定后,后面一直再加功能,对于原有功能回归,做 UI 自动化还是比较有意义的。

robotframework ( Python )驱动 sikuli ( JAVA )

谢谢,我先看看

回到顶部