问题标签 [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.
ruby - 只需在 Cucumber 特征文件之前执行一次步骤(每个特征可能有 diff 步骤)
我只想在每个黄瓜功能文件之前执行一次特定步骤。一个黄瓜特征文件可以有多个场景。我不希望在每个场景之前执行背景步骤。每个功能文件都可以有一个步骤(每个功能不同),该步骤只执行一次。所以我不能在钩子之前使用那个步骤,因为我每 20 个功能都有一个特定的步骤。小黄瓜示例如下所示:
我希望你们能理解我的问题。我在我的框架中使用 Ruby Capybara Cucumber。
capybara - 水豚在 Site Prism 的页面对象上的 fill_in 不起作用
我正在将功能规范重写为页面对象,但fill_in
方法有问题。
代码如下:
页面对象:
规格:
输入字段定义如下:
当我运行测试时,我收到以下错误:
但是,可以找到此字段:
我想这可能与fill_in
使用find
CSS 时的使用方式有关。
有没有办法尽可能接近最终用户与表单的交互方式来处理它?我不想使用login_page.email.set 'wrong@mail.com'
,因为set
不关心该字段是否实际上是可点击/可填充的并且未被某些元素隐藏。
ruby - 来自页面声明的未初始化常量 SitePrism
我正在尝试使用 Capybara、Cucumber 和 SitePrism 建立一个基本框架,但是当我开始测试时,我不断收到错误消息“未初始化的常量 SitePrism (NameError)”。
宝石文件:
环境文件
登录页面
登录类
该错误与“class LoginPage < SitePrism::Page”有关。RubyMine 也找不到要访问的 SitePrism 声明。我在设置中遗漏了什么吗?
ruby - # 未定义的方法“步骤”(无方法错误)
我的黄瓜功能文件使用如下场景大纲:
抛出以下错误消息:
我正在使用 cucumber 1.3.19 并在挂钩之前的 env.rb 文件中,我在下面使用抛出错误的位置:
site-prism - 您如何设置站点棱镜中的隐式等待时间?
留给它自己的设备 Site-prism 不使用隐式等待。在网站上,它显示您可以通过设置来允许隐式等待 use_implicit_waits = true
。但是,该站点没有显示如何实际设置隐式等待值,并且 ruby 文档没有显示任何有用的信息。任何帮助,将不胜感激。
ruby-on-rails - 在 ruby siteprism 中重用步骤定义的最佳方法是什么
我在尝试使用 siteprism 创建可重用的步骤定义时遇到一些问题,比如说功能文件是
然后我的步骤定义将是
我想让 arg1 是动态的,这个逻辑将检查它是否为真
然后在我的页面 def 将是
我遇到的问题是这个expect(@common_page. @ref .text) .to eq (arg1)
映射错误@ref 需要使用它得到的数据,如“stackover”、“ask”和“question”,并在 CommonLib 页面 def 中映射
ruby - 在单击元素时需要帮助(元素在点 (62, 459) 处不可单击) - Capybara Ruby Selenium Automation
尝试单击按钮元素时,我的控制台中出现以下错误消息:
下面是我的代码:
我已尝试重试 5 次以使用救援单击它,但没有帮助。
下面的代码在我试图在点击之前移动到该元素的地方也不起作用。
任何解决方案将不胜感激。
ruby - 过时的元素引用:元素未附加到 DOM - 需要等到元素/元素可见/使用 SitePrism 启用
我想使用 wait_until 方法,直到我的元素可见。目前我正在使用 Siteprism 方法,如下所示。这是一个内置的 Siteprism 方法,但看起来它的性能不佳,因为它间歇性地抛出错误(DOM 中不存在对象)。
所以我想使用水豚的查找方法。可证明这是一个更好的最简单的解决方案。但是我在定义 CSS 时遇到了麻烦。正如我在 ruby 类中定义 css 一样。我想在下面的代码中使用该变量。我怎样才能做到这一点?
我想要这样的东西:
看起来它不起作用,而是在下面抛出这个错误:
需要帮助.....或任何其他解决方案将不胜感激..
javascript - 执行脚本页面水豚转换站点棱镜
我正在尝试将工作的水豚代码转换为站点棱镜。
站点棱镜文件
规格文件
错误
ruby - 在 SitePrism Capybara 框架中,为什么我们使用@符号创建一个对象?
我只是想找出为什么我需要将它定义为实例变量?为什么不是本地的?我知道@home 可以在所有 step def 方法中共享。没有这个还有其他具体原因吗?请帮助我了解除我所知之外的原因。