我是新手,所以这可能是显而易见的,但我正在努力让我的测试运行"navigate"元素。或对象。不管是什么。下面是我的代码:
require "selenium-webdriver"
require "rspec"
# TEST: Sign up for blog
describe "Blog application" do
describe "signup to the blog application" do
it "confirm that a user can successfully signup" do
driver = Selenium::WebDriver::Firefox
# Go to signup form
driver.get "https://selenium-blog.herokuapp.com/signup"
# Fill out and submit form
username_field = driver.find_element(id: 'user_username')
username_field.send_keys("user")
还有更多的测试,但它与我的问题无关。我错过了什么?我需要安装另一个gem或驱动程序吗?我到处找这个答案,就是找不到。
我也试过用:
driver.navigate.go
也失败了。表示无法找到"导航"。
元素。谢谢你的帮助!
您缺少所需web驱动程序的初始化。然而,你没有发布你的当前版本的硒,所以我认为这是最后一个版本。
以下是Selenium::WebDriver
的文档说明。
.for(browser) ⇒ Driver
.for(browser, opts) ⇒ Driver
使用给定浏览器的正确桥创建一个新的Driver实例有一个特殊的参数没有传递给桥接器:listener。你可以为这个选项传递一个监听器来获得WebDriver事件的通知。传递的对象必须响应#call或实现AbstractEventListener的方法。
在你的例子中你需要改变你的驱动变量
driver = Selenium::WebDriver.for(:firefox)
# ...
WebDriver文档
这是一个简单的代码,应该可以帮助你
require 'selenium-webdriver'
driver=Selenium::WebDriver.for :firefox
driver.navigate.to("https://www.google.com/")