通常,我在端口3000上使用Rails开发服务器。
水豚/黄瓜使用Capybara.server_port = 31337
。如果我从默认驱动程序交换到selenium,则看起来它尝试在端口80上进行连接。
我想了解:
如果有人举了一个env.rb配置示例,可以帮助您,请告诉我!
谢谢!
如果使用硒,则应在测试环境中启动Web服务器。您可以在与开发不同的端口上启动它。然后,您应该将Capybara配置为使用该端口:
Capybara.run_server = true #Whether start server when testing
Capybara.server_port = 8200
Capybara.default_selector = :css #:xpath #default selector , you can change to :css
Capybara.default_wait_time = 5 #When we testing AJAX, we can set a default wait time
Capybara.ignore_hidden_elements = false #Ignore hidden elements when testing, make helpful when you hide or show elements using javascript
Capybara.javascript_driver = :selenium #default driver when you using @javascript tag
# Other option is:
# Capybara.javascript_driver = :webkit
如果您不想每次在运行黄瓜方案之前都启动服务器,建议您使用capybara
webkit
驱动程序。所有JavaScript方案都将在后台运行。它还将在连续集成服务器上工作。
如果您在Linux平台上,则capybara-
webkit需要X服务器才能运行。要设置它,您可以使用无头宝石。这是黄瓜的无头配置:
# place code below in features/support/headless.rb
if Capybara.current_driver == :webkit
require 'headless'
headless = Headless.new
headless.start
at_exit do
headless.destroy
end
end
~/tests>uname-a Linux ghopper-K52F 4.10.0-40-generic#44-Ubuntu SMP Thu 11月9日14:49:09 UTC 2017 x86_64 x86_64 x86_64 gnu/Linux 我想用chromedriver启动服务器 null 附言。我在另一台电脑上做同样的事情,对我来说一切都很好。我认为问题出在环境上,而不是服务器的配置上
问题内容: 我有一个设计为在禁用JavaScript时仍能正常运行的应用程序,因此我想编写一些涵盖这些情况的规范。 我将Selenium(Firefox)与Capybara一起使用,并且正在注册一个禁用JavaScript的新驱动程序(通过Selenium的属性) 功能规格实际上无法禁用JavaScript。在测试过程中弹出浏览器窗口并用暂停时,我可以肯定地单击我知道需要JavaScript的项目
我开发了一个Maven应用程序,当我从Netbeans运行它时,它运行良好,但当我尝试使用jar文件时,它生成了以下错误: 组织。阿帕奇。cxf。服务工厂ServiceConstructionException:无法解析null“”的绑定。 我认为我的文件配置不正确。
问题内容: 我正在尝试运行selenium服务器,并出现错误: 没有-r(反正是什么?) 我应该如何启动服务器? 如何设置非默认端口来收听? 这两篇文章:1 2-关于语法矛盾。我认为。 问题答案: 如果要指定端口,请执行 从3.8.1开始,不再需要指定驱动程序:
问题内容: 关于如何使用Capybara / Selenium / Rspec 执行javascript测试的例子很多,您可以在其中编写如下测试: 但是,使用 minitest时, 您无法传递第二个参数来指示selenium执行测试。 有没有人对如何做到这一点有任何想法? 问题答案: 嗯,我注意到文档中有几行似乎说以上内容只能在Rspec中完成 但是,如果您使用的是 RSpec或Cucumber
Configuring Notary Depending on the environment and purpose of running Notary services, there are two options: using docker-compose when running locally or running each service separately, usually thr