使用pabot并行执行robotframework用例

网友投稿 1757 2022-10-02

使用pabot并行执行robotframework用例

使用pabot并行执行robotframework用例

主要观点:使用pabot并行运行robotframework,可以解决:robotframework执行案例时间长的问题

解决执行案例时间长的方案:

目的:

缩短案例的运行时间

两种方法:

将大的项目分成几个子模块,测试案例也是分为几个子模块,这样进行分布式测试在一台机子上开启多个进程进行测试

解决方案:

使用pabot类库:

pabot 通过开启多个进程以Suite为单位并行运行robotframework测试案例,并且对于进程之间资源共享的问题也有锁机制。

安装:

pip install robotframework-pabot

pabot命令行参数

--processes [NUMBER OF PROCESSES] ——> 并行的线程数(最大是机器CPU的数目)--pabotlib启动PabotLib远程服务器。这支持在并行测试执行之间进行锁定和资源分配。--pabotlibhost [HOSTNAME] ——> 远程服务器的主机名(默认是127.0.0.1)--pabotlibport [PORT] ——> PabotLib远程服务器端口号(默认为8270)--resourcefile [FILEPATH]可以包含用于分配资源的共享变量的文件的指示符。这需要与pabotlib选项一起使用。

实际测试:

这里新建一个pabotdemo文件夹,下面包含有3个测试用例文件(即:3个Suite),每个文件中包含有3个Test(即:3个测试用例)。每个测试用例都是执行相同的步骤sleep 10s。如果在RF中运行9个Test,每个Test耗时10s,那就需要90s。

下图为在RF中运行的测试结果:

使用pabot开启2个进程:pabot --processes 2 PabotDemo,耗时:63s

使用pabot开启3个进程:pabot --processes 2 PabotDemo,耗时:32s

上面简单测试,没有进程间的资源共享,所以没加锁,具体使用可以参考:​​https://github.com/mkorpela/pabot​​

注意:Pabot并行运行是以Suite为单位运行的,因为项目的案例结构有的Suite中案例个数100多个,有的只有几个,这样就导致案例少的Suite几个可能已经运行完了,案例多的Suite可能才刚开始,并不能发挥并行运行的最大效果,分布不均,所以需要对案例进行调整,将案例多的Suite进行拆分,这样也能开启多个进程。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:小程序中如何管理session?(微信小程序管理)
下一篇:git基本操作(入门)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~