selenium-grid 和 pytest-xdist的区别和结合

selenium-Grid的使用场景

Selenium-Grid用于通过使用多台机器并行运行测试来加速测试通过的执行。例如,如果您有一套100个测试,但是您设置Selenium-Grid以支持4个不同的计算机(VM或单独的物理计算机)来运行这些测试,那么您的测试套件将在(大致)四分之一时间内完成就像你在一台机器上顺序运行测试一样。对于大型测试套件和长期运行的测试套件(例如执行大量数据验证的测试套件),这可以节省大量时间。一些测试套件可能需要数小时才能运行。

Selenium-Grid还用于支持针对多个运行时环境的运行测试,特别是针对不同的浏览器同时运行。例如,可以设置虚拟机的“网格”,每个虚拟机支持要测试的应用程序必须支持的不同浏览器。因此,机器1具有Internet Explorer 8,机器2,Internet Explorer 9,机器3最新的Chrome,以及机器4最新的Firefox。运行测试套件时,Selenium-Grid会接收每个测试浏览器组合,并根据所需的浏览器分配每个测试。

此外,可以拥有所有相同浏览器,类型和版本的网格。例如,一个可以有4台机器的网格,每台机器运行3个Firefox 12实例,允许可用的Firefox实例的“服务器场”(在某种意义上)。当套件运行时,每个测试都会传递给Selenium-Grid,后者将测试分配给下一个可用的Firefox实例。以这种方式获得测试通过,其中可以想到12个测试同时并行运行,显着减少了完成测试通过所需的时间。

Selenium-Grid非常灵活。可以组合这两个示例以允许每种浏览器类型和版本的多个实例。诸如此类的配置将提供快速测试通过完成的并行执行以及同时支持多种浏览器类型和版本

pytest-xdist的使用场景

平常我们手工测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟。如果一个测试人员执行需要1000分钟才能执行完,当项目非常紧急的时候,
我们会用测试人力成本换取时间成本,这个时候多找个小伙伴把任务分成2部分,于是时间缩减一半。如果是十个人一起执行,1000个用例理论上只需100分钟就能完成,时间缩短到了1/10。大大节省的测试时间,为项目节省了时间成本。

两者区别和结合

selenium-grid的每个node 执行用例是串行
pytest-xdist 的每个cpu 执行是并行
所以两个一起用,selenium-grid 并行多个Node,每个Node用pytest-xdist并行用例会很快
 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值