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

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

目前公司有需求,希望把在只能本地环境执行的自动化用例集成到 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
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册