小编Rob*_*ham的帖子

与Webdriver相比,Watir-Webdriver和Capybara是否存在性能问题?

我即将把我的测试自动化语言从Java改为Ruby(我有新工作,Ruby更适合技术堆栈).

我有很多Java和Webdriver的经验,但可以看到像Watir和Capybara这样的包装器在Ruby中的使用似乎比直接访问Webdriver API更多.

我对使用这样一个库的担忧是性能.我通常尝试将第三方网格(如Saucelabs)集成到我的测试框架中,但已经了解到,对于持续查找元素可能会对性能产生影响,缓存硒网元素对象非常重要.

如果我使用像Capybara这样的库,我是否会失去控制缓存策略的能力?我之前研究过Geb,发现该框架不断重新创建了webelements而不是缓存,并且在改变这种行为方面似乎缺乏灵活性.

我担心这些库可以帮助您避免编写样板代码,但代价是性能有效吗?

ruby selenium-grid capybara watir-webdriver selenium-webdriver

9
推荐指数
1
解决办法
1138
查看次数

通过Ruby WebDriver获取chromes控制台日志

此问题之前已在Java中得到解答(Get chrome的控制台日志)

但是,我正在使用Ruby绑定,并想知道是否提供了类似的功能?

我查看了Ruby源代码,但看不到任何提及或引用LoggingPreferences.

顺便说一句,我正在使用RemoteWebDriver并传入所需的功能对象.据推测,我想在该对象中设置日志记录首选项,但我很难看到哪里.

ruby webdriver selenium-chromedriver selenium-webdriver

7
推荐指数
1
解决办法
3048
查看次数

Selenium Hub错误地认为发生了CLIENT_STOPPED_SESSION

我正在针对Selenium Grid运行并行自动化测试.

有时,测试失败;

Session [c1d99cc1-c689-4053-b68d-51c3682c13c4] was terminated due to CLIENT_STOPPED_SESSION (org.openqa.grid.common.exception.GridException)
[remote server] org.openqa.grid.internal.ActiveTestSessions(ActiveTestSessions.java):105:in `getExistingSession'
Run Code Online (Sandbox Code Playgroud)

Selenium文档说;

CLIENT_STOPPED_SESSION  The session was stopped using an ordinary call to stop/quit on the client. Why are you using it again??
Run Code Online (Sandbox Code Playgroud)

但是,我知道客户端没有尝试停止/退出.我使用并行rspec,所以每个线程实际上是它自己的Ruby实例,所以没有问题测试方.

此外,如果我使用http:// {node_ip}:5556/wd/hub/static/resource/hub.html直接查询节点,我可以看到会话仍处于打开状态.如果已发出退出/停止,则此会话将被删除.

似乎只有Selenium Grid Hub中的会话注册表认为此会话已停止.没有证据表明会话在其他地方被停止.

Grid中是否存在已知问题,其中错误的会话已标记为已停止?

java selenium selenium-grid

6
推荐指数
1
解决办法
1718
查看次数