我创建了一个Selenium Grid代理,我想记录每一个命令完成,问题是我找不到一种方法来获取命令的响应例如“GetTitle”命令后,我想要返回“标题”。Selenium Grid Proxy:如何获得命令执行后的响应
0
A
回答
0
你想在哪里做这个日志记录?如果您尝试在自定义代理服务器上记录此日志,那么这些日志将仅在运行集线器的计算机上可用。那是你要的吗 ?如果是的话,那么这里就是你应该做的是:
内org.openqa.grid.internal.listeners.CommandListener#afterCommand
一个重载的变体(此方法应该是在你建立你的DefaultRemoteProxy
扩展对象提供),从javax.servlet.http.HttpServletRequest
中提取此信息通过阅读它的实体价值,然后将其转化为适当的有效载荷。
下面是从org.openqa.grid.selenium.proxy.DefaultRemoteProxy
您的定制版afterCommand()
(或)beforeCommand()
方法怎么能是这样的:
org.openqa.grid.web.servlet.handler.SeleniumBasedResponse ar = new org.openqa.grid.web.servlet.handler.SeleniumBasedResponse(response);
if (ar.getForwardedContent() != null) {
System.err.println("Content" + ar.getForwardedContent());
}
如果这不是你想要的,那么你应该看借力EventFiringWebDriver
。看看下面的博客,了解如何使用EventFiringWebDriver
。 EventFiringWebDriver
不需要在网格侧进行定制,它只是需要您使用EventFiringWebDriver
,它将包含一个现有的RemoteWebDriver
对象,并且您注入的侦听器将帮助您获取该对象。
- http://darrellgrainger.blogspot.in/2011/02/generating-screen-capture-on-exception.html
- https://rationaleemotions.wordpress.com/2015/04/18/eavesdropping-into-webdriver/(这是我的博客)下面我说说即使不使用
EventFiringWebDriver
而是工作与装饰CommandExecutor
这将记录所有这些信息给你。
相关问题
- 1. 获得Java中命令行的响应
- 2. 通过Java的ssh装置,执行命令并获得命令响应
- 3. 如何在RLE中获得IDLE中最后执行的命令?
- 4. Selenium Grid Hub关闭命令
- 5. 如何获得命令行
- 6. Selenium GRID测试执行
- 7. SerialPort发送命令并获得响应
- 8. 如何获得jquery POST命令的响应状态?
- 9. 如何获得调用redis命令的响应
- 10. 在lxc容器中执行命令并得到响应
- 11. 如何得到shell执行的响应
- 12. 如何获取在命令行执行的命令?
- 13. 使用命令行获得arduino的响应
- 14. 如何获得由sshkit执行的最终命令
- 15. 如何获得使用Testcontainers执行的命令退出代码?
- 16. arduino和esp8266 - 如何获得AT命令响应变量
- 17. 如何在vbscript变量中获得Plink命令响应?
- 18. 如何在后台执行shell命令
- 19. 如何在7天后执行命令?
- 20. 如何在后台执行shell命令?
- 21. 如何执行shell命令在Python中的命令后获取输出和pwd
- 22. Selenium - 如何在WebDriverWait wait.until运行时执行命令
- 23. 从命令行使用telnet无法获得http响应
- 24. Selenium-PHPUnit,Selenium Grid
- 25. 如何在执行命令(SSHLibrary)中获得确认
- 26. 执行第一个命令后,我将如何执行另一个SELECT命令?
- 27. 如何在启动时执行其他所有命令后执行命令?
- 28. 如何获得在命令行
- 29. TASM如何获得命令行参数?
- 30. 如何获得命令行参数“和”
我想在自定义代理中执行此操作。 我没有问题的请求(其中有命令类型:点击,网址..)但我无法得到该命令的响应,例如getTitle命令我想访问返回的“标题”。 –
@ElheniMokhles - 我已经更新了我的答案,向您展示了如何完成此操作的代码片段。 –
执行getForwardedContent()时,我总是得到null(都在beforeCommand和afteCommand中) –