问题标签 [page-object-gem]

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 回答
203 浏览

ruby - 为什么此返回“无法将 nil 转换为字符串”

我正在使用与 Jeff Morgan 的书“Cucumber & Cheese”几乎完全相同的设置,并且我有一个这样的页面对象

当我在 Cucumber 步骤中运行以下命令时,每个命令都有自己的步骤,它会说cannot convert nil to string. 我知道这与实例变量@tag 有关,但我不确定为什么。

0 投票
3 回答
2342 浏览

ruby - 如何从 Support 文件夹中的 class.rb 调用页面对象

我正在使用页面对象 gem。假设我有一个页面对象,features/bussines/pages/booking_page.rb例如:

...并且我使用位于以下位置的“工具”类features/support/tools.rb

...但是这种方法失败了,因为不允许从类调用对象:

很确定我在使用类中的页面对象的过程中遗漏了一些概念,但没有意识到问题所在。你能告诉我这里可能出了什么问题吗?

非常感谢!

==============================

Justin 找到了调用类崩溃的原因。最终类代码结果:

以及对函数的调用:

为什么它对我不起作用?两个主要原因:

  • 我没有将浏览器对象传递给类 <== REQUIRED
  • 我没有将 PageObject::PageFactory 包含在“on”方法的类 <== REQUIRED 中。

谢谢大家!

0 投票
1 回答
167 浏览

ruby - 为什么这个 Ruby While 语句不起作用

背景:这是使用页面对象和 Rspec。页面,对象设置正确。基本上发生的事情是它跳过while语句并直接检查label页面上存在的变量。

它应该做的是检查label变量是否在页面上,如果没有,则等待 20 秒并刷新页面,然后再次检查最多 30 次,如果它在第 30 次失败,那么它应该一起失败。如果它找到它,那么它应该再次检查并通过它。

我认为正在发生的事情是 ifcurrent_page.text.should include label总是返回 TRUE,但我不确定。如果需要更多信息,请告诉我。

0 投票
1 回答
4197 浏览

ruby - 如何获取 page_object 元素的属性值?

想象一下我有一个像这样的图像:

获取其类值的方法可能是:

行。我正在使用 page_object gem,假设我将图像作为元素,例如:

要获取属性值,我可以使用:

...但我收到了弃用警告:

如何class使用 page_object 元素获取值?当然答案很简单,但我没有找到。你能告诉我路吗?

先感谢您!

0 投票
3 回答
816 浏览

ruby - 如何获取 page_object 元素的 html 源代码?

想象一下,我有一个 div(用 Watir 语言):

我需要里面的 html 代码来做一些“神奇的正则表达式”:)。获取 div html 代码的方法可能是:

行。我正在使用 page_object gem,假设我将 div 作为元素,例如:

要获取里面的 html,我可以使用:

...但我收到了弃用警告:

如何使用 page_object 元素获取 html 代码?正如我之前提出的一些类似问题,当然答案很简单,但我查看了 Cheezy 书、整个 stackoverflow 和页面对象 ruby​​doc 信息,但我没有找到它。你能告诉我路吗?

先感谢您!

0 投票
1 回答
166 浏览

ruby - 生成字段数量已知的页面对象

我正在使用RubyWatir-webdriverPage-object gemat 进行自动化测试。

只是想知道人们如何处理一个在文本字段数量方面本质上是动态的页面。我目前正在工作的页面有'key' / 'value'配对列表,可以根据需要添加任意数量。

我知道我可以用类似的东西访问说第五个

但是用大量可能不存在的项目填充支持页面感觉有点混乱。

我缺少更好的方法吗?

0 投票
2 回答
157 浏览

ruby - 猴子修补 PageObject::PageFactory#visit_page 是个好主意吗?

一位开发人员最近询问我们的测试是否可以在每次打开页面时执行一些 javascript。有关详细信息,请参阅错误 44299

执行 javascript 很简单:

我们正在使用page -object#visit_page打开页面。确保每次打开页面时执行上述示例中的 javascript 的一种简单方法是对该#visit_page方法进行猴子修补。

alias_method链(来自问题4470108)看起来是一种简单的方法。

有没有更好的办法?

0 投票
1 回答
1768 浏览

ruby - Scraping Table with Nokogiri and need JSON output

So, I have a table with multiple rows and columns.

There is also another table:

Notice that the employee order may be random between the tables.

How can I use nokogiri to create a json file that has each employee as an object, with their total hours and revenue?

Currently, I'm able to just get the individual table cells with some xpath. For example:

Edit:

Using the page-object gem and the link from @Dave_McNulla, I tried this piece of code just to see what I get:

Nothing's being returned, however.

Data: https://gist.github.com/anonymous/d8cc0524160d7d03d37b

There's a duplicate of the hours table. The first one is fine. The other table needed is the accessory revenue table. (I'll also need the activations table, but I'll try to merge that from the code that merges the hours and accessory revenue tables.

0 投票
1 回答
140 浏览

page-object-gem - 从 page-object-gem 调用 prompt 方法时出现 JavaScript 错误

./features/support/pages/frames_page.rb

./features/step_definitions/web01_steps.rb

应用网址

0 投票
2 回答
1229 浏览

ruby - 公共页面元素 - 它们可以被继承吗?

在 cucumber/Watir-webdriver/page-object 环境中,我需要验证常见页眉和页脚链接的存在和功能。虽然这些都应该是相同的,并且有效,但我想将它们包含在所有相关页面上。

我正在尝试跟上 DRY 编码,并希望最大限度地减少识别 Web 应用程序上共享的页眉/页脚元素所需的次数。

我想我可以通过在 support/ 文件夹中包含一些“common_links.rb”来做到这一点:

我正在尝试将上述内容包含在support/pages/activities_page.rb. 当我尝试加载调用它的黄瓜功能时,我收到以下错误:

我还尝试创建一个“CommonPage”类,并从中继承,但我得到了一个未初始化的常量错误。CommonPage 类与模块相同。

尝试使用这些方法中的任何一种都没有成功。

有没有人成功地在一个文件/模块/类中声明公共链接(如页眉/页脚),然后从另一个类中使用它们?

任何方向将不胜感激。