java在使用seleniumwebdriver运行测试时访问远程计算机剪贴板上的数据
我有如下设置:
Machine 1 - Ubuntu - selenium hub
Machine 2 - Ubuntu - selenium node
Machine 3 - Windows 8.1 - selenium node
为了执行测试,我使用RemoteWebDriver并在hub上配置Jenkins CI
问题:我正在测试的URL有一个按钮,单击该按钮可将数据复制到剪贴板除非粘贴,否则最终用户看不到数据我关心的是,在本地运行时,我能够使用以下方法获取系统剪贴板数据:
strScript = (String) Toolkit.getDefaultToolkit().getSystemClipboard()
.getData(DataFlavor.stringFlavor);
但在远程机器上从jenkins触发代码时,我无法获取内容并收到以下错误:
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
很明显,它正试图在jenkins服务器上获取数据,但存在某些显示问题。但我的要求是在点击按钮后获取存储在远程机器上的数据
有什么解决办法吗
谢谢
# 1 楼答案
如果Selenium网格环境在您的控制之下,并且您拥有设置节点的特权,那么下面将介绍如何构建它
下面的示例应该解释所有这一切(我使用的是selenium 3.141.59)
正在使用的依赖项
自定义servlet如下所示
这里让我们假设我们的servlet属于名为“servlets.jar”的jar。 以下是如何启动节点
使用命令启动集线器
这是一个将使用所有这些的示例