Selenium Webdriver 在 Ruby 中找不到"navigate"元素



我是新手,所以这可能是显而易见的,但我正在努力让我的测试运行"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/")

最新更新