我在尝试获得一个在selenium环境下运行黄瓜的例子时遇到了麻烦。我在跑
阅读https://github.com/jnicklas/capybara上的doco
,看来要在selenium下运行示例,我需要做的只是以下操作:
第1步:使用@javascript为场景添加前缀
@javascript
Scenario: User does x
...
步骤2:配置env.rb,以告知capybara使用哪个驱动程序:
Capybara.javascript_driver = :selenium
当我跑步时:
bundle exec cucumber feature/myfeature.feature
我得到以下内容:
Using the default profile...
F------------F
Failing Scenarios:
cucumber features/myfeature.feature:7 # Scenario: User does x
1 scenario (1 failed)
12 steps (12 skipped)
0m0.012s
没有Firefox窗口。没有。它运行,悬挂和死亡。
因此,要检查Capybara和seleniumwebdriver是否正常工作,我编写了以下代码:
require 'capybara'
require 'capybara/dsl'
Capybara.default_driver = :selenium
class Test
include Capybara
def dotest
visit('http://www.stackoverflow.com')
end
end
Test.new.dotest
并使用以下命令运行它:
bundle exec ruby /tmp/test.rb
这样可行。Firefox打开窗口,然后浏览到http://codingdict.com/。
那么,如何获取诊断信息以了解Cucumber/Capybara的危害呢?
我正在运行OSX10,Ruby 1.8.7和Firefox 3.6.13。
好吧…我发现了我的问题。Cucumber碗中的某个地方依赖于DatabaseCleaner,当您使用 Selenium 驱动程序时,该依赖关系就会被触发一次。失败声明:
F______________F
告诉我失败是在设置和拆卸中发生的。黄瓜没有报告该异常,即使使用-b,它也无济于事。
我如何发现问题:
将ruby-debug添加为gem依赖项
将要求“ html" target="_blank">ruby-debug”添加到env.rb
我在env.rb中添加了以下语句:
Before do breakpoint; 0 end
使用bundle exec运行该功能。调试器启动了。
输入 cat StandardError,当抛出“StandardError”时,它将告诉调试器断点。StandardError是Cucumber中所有错误的基类。我们要做的是找出错误的出处和原因。
输入 cont 告诉调试器恢复
将数据库清理程序添加为gem依赖项之后,一切都消失了。Firefox开始启动,一切开始如广告中所述。
我已经看过并尝试了几乎所有关于这个话题的其他帖子,但运气不好。 我使用的是python 3.6,所以我使用的是以下AMI
我试图捕获并存储svg元素中出现的一些文本,例如 我有一个我正在使用的方法,它适用于其他元素,但Selenium WebElement类方法getText不会为上述svg元素返回任何文本。 下面是上述示例的xpath 我可以使用findElement(By.xpath(myXpath)),但是当我调用. getText()时,它不会返回任何值,也不会抛出任何错误。 我有没有做错什么,或者可能有其他
我正在用eclipse 3.0(Firefox浏览器)运行一个简单的java程序。。但在运行之后,我发现以下错误: 线程“main”java中出现异常。lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver设置。壁虎。驱动系统属性; 有人能给我在火狐上运行的变通方法吗?注意:在所有程序运行正常之前,但是在火狐升级后,会出错。
我最近开始使用空手道。我有一个现有的项目,有步骤与cucumber,现在我正在编写测试使用空手道。由于空手道是建立在cucumber上的,我仍然不能运行我的自定义编写的步骤定义。
拖放操作不适用于selenium 3.8。 下面是该元素的JS代码 这就是我尝试过的。但这只是选择元素。保持和放弃是不会发生的。 我也试过这个。 也尝试过机器人。每次我只能看到源元素和目标元素都被选中。但不是被拖拽掉的。 还尝试了dragAndDrop ActionsChain。那也没用。
我编写了以下代码来禁用ChromePDF查看器,以便在Chrome打开链接时,PDF文件可以在C:\下载文件夹中自动下载。 不幸的是,我相信PDF查看器没有被正确禁用。以下是我打开PDF url时使用此代码得到的结果: 有没有其他解决方案可以在Chrome中自动下载文件?