首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试使用Selenium Webriver的right_click时出错

尝试使用Selenium Webriver的right_click时出错
EN

Stack Overflow用户
提问于 2016-09-27 05:24:20
回答 1查看 60关注 0票数 0

我使用的是Ruby/Cucumber

我的页面:

代码语言:javascript
复制
class DemoContextMenuPage
    include PageObject
    include DataMagic

    page_url 'http://the-internet.herokuapp.com/context_menu'

    h5(:context_menu_title, :css => '.example > h3:nth-child(1)')
    div(:context_menu_hotspot, :id => 'hot-spot')
end

我的步骤:

代码语言:javascript
复制
When /^I right click context menu hot spot$/ do
    on(DemoContextMenuPage).context_menu_hotspot_element.right_click
end

我的特点是:

代码语言:javascript
复制
Scenario: Verify right click menu
    Given I am on the context menu page
    When I right click context menu hot spot

结果:# (NoMethodError)的未定义方法`context_click

watir-webdriver only selenium-webdriver Se=2.53.4、watir=0.9.3没有问题

EN

回答 1

Stack Overflow用户

发布于 2016-09-28 21:43:26

这是Page Object gem中的一个错误。您可以从page object's Selenium implementation中看到它是这样做的:

代码语言:javascript
复制
def right_click
  element.context_click
end

context_click不是为硒元素定义的方法。

Watir source code中可以看到,上下文单击需要使用操作构建器来完成:

代码语言:javascript
复制
driver.action.context_click(@element).perform

不幸的是,似乎没有一种方法可以从Selenium::元素中获取Selenium::WebDriver。我认为您需要从页面对象调用上下文单击:

代码语言:javascript
复制
on(DemoContextMenuPage) do |page|
  e = page.context_menu_hotspot_element.element
  page.browser.action.context_click(e).perform
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39712647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档