问题标签 [site-prism]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
371 浏览

ruby - 需要从 RUBY CAPYBARA 中的 SitePrism WebElement 获取 css 选择器吗?

我需要从我的自动化脚本中的 SitePrism WebElement 检索 css 选择器。下面是 SitePrism 中的一个 WebElement。

如果我想从此 webelement 中检索 XPath,我可以在下面执行此操作,这将返回该元素的 Xpath:

但是如果我想在我的脚本中检索 css 选择器(“#unique_id .some_class_name”)。我怎样才能做到这一点?寻找这样的东西。

需要你的帮助....我正在使用 SitePrism Capybara Ruby 框架。

0 投票
1 回答
35 浏览

ruby - 无法在 ruby​​ cucumber 中使用具有通用方法的 rspec 打印通用味精

使用黄瓜站点棱镜。我正在导航到一个页面并想要检查该页面上存在的所有元素。我使用了此代码,但无法打印此通用消息。

“@sign_in”是我定义了所有登录元素的类的对象“表”包含所有元素名称

0 投票
0 回答
366 浏览

capybara - 在使用 siteprism 中的部分时无法找到元素的 css

代码没有显示任何其他错误基本结构,卡在使用下面部分的基本功能

错误

无法找到 css“下拉 css”(Capybara::ElementNotFound)

0 投票
1 回答
707 浏览

html - Capybara/Poltergeist 无法通过 css 选择器找到元素

当我使用 selenium_webdriver 并显示 firefox 时,工作正常;现在我迁移到无头浏览器,并在我的自动化测试中配置 Poltergeist/PhantomJS,但无法正常工作。Capybara / Poltergeist 不再找到元素。

我用siteprism映射了我的元素,这里是我的例子:element: link, "a[href='\my_link']"

当我的测试运行时,抛出这个错误: Capybara::ElementNotFound: Unable to find css "a[href='/my_link']"

但是当我使用方法find_allcapybara/poltergeist 找到我的元素时:

这是我对 Poltergeist 驱动程序的配置:

步骤.rb

应用程序.rb

结尾

主页.rb

实用程序.rb

:inspector => true在我的 Poltergeist 注册驱动程序中使用,打开 chrome 来查看我的页面;

我使用 chrome 控制台document.querySelectorAll("a[href='/link_3']")来选择这个元素。

并返回正确的元素; [<a class=​"foobar" title=​"Title" href=​"/​link_3​">​text​&lt;/a>​]

如果有人帮助我,我真的很感激;

谢了。

0 投票
1 回答
140 浏览

ruby - 有没有办法生成当前页面上的 Siteprism 对象的数组或哈希

对于 POM,我还是新手(ish),但我发现语法和一般结构非常强大,所以现在我正在寻找高级技术。

我有一个动态页面,并且对于每个部分,我都在运行以下代码/伪代码

我想做的是这样的。

有什么想法吗?

0 投票
2 回答
1093 浏览

ruby-on-rails - 如何在 SitePrism 部分的集合中搜索与特定条件匹配的部分

我已将元素定义sections为包含单个元素的列表以对数据表进行建模。Sections 集合的每个 Section 对应于表的一行,每个elementSections 定义对应于该行的一列。

我想在 Sections 集合中搜索对应于具有给定 id 的行的 Section,然后单击该行的元素。

不幸的是,我找不到搜索返回的 Section 对象数组的方法PageObjectClass.<sections_name>

相反,如果我将行集定义为elementsthenPageObjectClass.<elements_name>返回一组 Capybara 元素,我可以在这些元素上执行findCapybara 但我不能使用 SitePrismsection.element语法。

使用该elements.find语法似乎有一种代码味道,因为到目前为止,用于访问元素的 CSS 已在 PageObject 类定义中抽象出来——现在我必须在测试代码中引用特定元素的 CSS 才能单击它。

我在这里想念什么?为什么SitePrism在线讨论中使用数据表的例子这么少,为什么没有更多的人遇到这个问题?

我遇到的唯一参考是https://github.com/natritmeyer/site_prism/issues/91

这个建议有什么结果吗?

0 投票
0 回答
59 浏览

ruby - Chromedriver 需要很长时间才能加载资源

我的自动化测试套件偶尔出现故障,因为页面上的某些资产需要很长时间才能加载。每次都是不同的,所以我的问题是:这似乎是应用程序配置或 chromedriver 的问题?

0 投票
2 回答
334 浏览

ruby - 无法创建新页面:SitePrism 页面出现未初始化的常量错误

有几个类似的问题,但我的问题似乎不同,因为我基本上是在复制当前正在工作的文件。

我加入了一个团队,其中最后一个人留下了一个黄瓜/红宝石框架,设置如下:

  • lib/pages/page1.rb
  • 其中 page1.rb = 类 PageOne < SitePrism::Page
  • 他们只是创建一个新对象:@new_page_one = PageOne.new

我已经搜索了整个代码,看看他是否在任何地方都有“要求”或“包含”“page1.rb”、“page1”或“PageOne”,但他没有,但即使这样,当一个尝试创建一个新对象。

所以,现在我想创建一个新类,我只是将工作文件复制并粘贴到同一位置,并将所有文件重命名如下:

  • lib/pages/page2.rb
  • 其中 page2.rb = 类 PageTwo < SitePrism::Page

我遇到的问题是,当我尝试创建一个新对象时出现此错误:-@new_page_two = PageTwo.new

知道为什么第一个有效而在这种情况下复制/粘贴无效吗?你有什么可以建议我试试我的结局吗?

0 投票
1 回答
1220 浏览

capybara - 是否可以使用 SitePrism 单击第 N 个元素?

我刚从 SitePrism 开始,我有一个网站,其中元素被动态添加到页面中并且没有任何类型的 id、名称等......我能想到的最简单的方法是通过它们的“文本”找到它们',例如。继续按钮

我在尝试:

并且 SitePrism 失败并显示以下内容:

有没有办法让我用 SitePrism 指定我要单击的元素?我已经找到了一些使用 Capybara 本身的方法,但我没有设法看到 SitePrism 的等价物。

0 投票
1 回答
124 浏览

capybara - 无法找到 ReactModal 作为部分 - ArgumentError:参数数量错误

SitePrism 一直在为我的自动化项目工作,直到我需要处理一个特定的 ReactModal 对象,该对象可以与直接 capybara find 命令一起使用,但不能在 SitePrism 中使用。我真的很感激这个问题的任何帮助。

在 pry 调试器中调用 find 会起作用

pry(#RSpec::Core::ExampleGroup::Nested_1)> 找到“div:nth-child(18) > div > div > div”

=> # "div:nth-child(18) > div > div > div"

pry(#RSpec::Core::ExampleGroup::Nested_1)> find find "div:nth-child(18) > div > div > div"

=> # "div:nth-child(18) > div > div > div"

但是调用 SitePrism 对象 @videos_page.clipping 会导致错误

pry(#RSpec::Core::ExampleGroup::Nested_1)>@videos_page.clipper ArgumentError:来自 /Users/kpham/.rvm/gems/ruby-2.3.0@social 的参数数量错误(给定 2,预期为 0) /gems/site_prism-2.9/lib/site_prism/element_container.rb:28:in 初始化'

pry(#RSpec::Core::ExampleGroup::Nested_1)>@videos_page.clipping ArgumentError:来自 /Users/kpham/.rvm/gems/ruby-2.3.0@social 的参数数量错误(给定 2,预期为 0) /gems/site_prism-2.9/lib/site_prism/element_container.rb:28:ininitialize'