selenium-grid结构node路由策略重写
背景
由于公司业务需求,需要利用selenium做分布式部署,经过调研,决定使用selenium-grid做基础框架。但是业务要求,针对每个远程selenium实例,都需要配置指定参数,同时也要求根据指定参数调用指定的实例,所以需要重写相关调度逻辑
实现
selenium参数意义可参考Selenium Grid中的关于Hub的参数说明
node节点的请求参数主要是通过**-capabilityMatcher来配置,查看源码,找到默认的路由逻辑
每次请求进来,都会在此处进行验证,判断是否有满足broswerName和version的selenium实例
知道了原理,修改就容易了,首先创建自定义的Matcher类,实现策略类接口,重新书写里面的逻辑即可
为方便使用,可以把启动类也重新封装
原来的启动类是GridLauncherV3,
重新实现后,按照需求定义参数,重新打包即可。
在调用方添加businessCode**参数即可启动对应的selenium实例。
如果能帮助您解决问题,请分享加点赞支持一下,谢谢!