Selenium 求问,selenium grid 是否能做到 java rmi 的效果,在远程机器执行 java 代码

cookie · 2018年03月02日 · 最后由 cookie 回复于 2018年03月02日 · 4143 次阅读

目前公司有需求,希望把在只能本地环境执行的自动化用例集成到 jenkins 平台,测试机器通过远程控制。

问题
目前自己想到的方案是通过 selenium grid 来实现,其实这个之前自己就有尝试过,但是只采用这个的话,初步尝试之后遇到几个问题:
1.下载文件时的弹出 windows 窗口没办法处理,之前用的是 autoit 脚本,可是如果用 grid 的话,node 节点没办法去触发
2.一些对于本地下载文件的校验或者一些本地操作(使用 java 进行)没办法做
3.其实诸如上述的都是因为 grid 没办法远程执行 java 代码引起,后续还有很多类似的问题

目前想到的解决思路
1.改造 RemoteDriver 和 Grid,这个太高深了,只能想一想,目前水平不足以完成
2.额外添加一个 Java Rmi 服务,问题是这样部署测试机时又要弄多一个东西

求助
第一次发帖,希望各位大佬能给一些建议

共收到 5 条回复 时间 点赞

用的 python,不过原理相类似,仅供参考:
使用 selenium.webdriver.remote.webdriver.WebDriver 进行初始化, 要在某个 node 节点上操作,就传入该节点的 ip :

对 Jerry li 回复

node 操作的 python 代码能否贴一下,是可以达到在 node 节点运行 python 代码的效果吗?我怎么觉得这只是新建了一个连接 hub 节点的 RemoteWebdriver

selenium grid 只能执行浏览器的操作,如果想同时在多台机器上执行,可以添加多个 jenkins job,每个 job 指定不同的 slave,应该就可以了

对 cookie 回复

你是要在节点上执行 java 代码? 抱歉,我刚刚理解有误。
目前没这种使用需求,没研究过。

对 arrow 回复

哇,刚刚试了下,完美解决我现阶段的问题,谢谢

cookie 关闭了讨论 03月02日 16:18
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册。