问题标签 [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 投票
2 回答
2260 浏览

ruby - 使用 Ruby 的 PageObject - 在文本字段中设置文本仅适用于主文件

我正在自动化一个网站,该网站有一个页面,其中包含由单选按钮选择的选项列表。选择其中一个收音机时,会显示一个文本字段和一个选择列表。

我创建了一个文件 (test_contracting.rb),通过它我执行测试 (ruby test_contracting.rb) 和一些其他类来代表我的页面。

在我的类 ContractPage 上,我有以下元素声明:

我在 ContractPage 中创建了一个设置域配置的方法,如下所示:

当我从 test_contracting.rb 调用方法 configure_domain 时,它会选择单选按钮,但不会用值填充字段。参数正确地进入了方法。我已经使用“puts”检查了它。即使我将参数更改为像“bla”这样的通用字符串,它也不起作用。恼人的一点是,如果我在 test_contracting.rb 上调用完全相同的组件,它就可以工作。

我发现工作是在 configure_domain 方法中,实现以下内容:

然后它起作用了。

我用作参考的 PageObjects 模块的文档可以在这里找到:http ://rubydoc.info/github/cheezy/page-object/master/PageObject/Accessors#select_list-instance_method

你们对为什么页面对象自动生成的设置对象值的方法在这个范围/上下文中不起作用有任何解释吗?

顺便说一句,一位朋友用 Java 尝试过同样的事情,但也失败了。

0 投票
3 回答
2679 浏览

ruby-on-rails - Capybara 与页面对象 gem 的集成

是否可以使用页面对象 gem 和 capybara 来自动化 Ruby on Rails 测试?当我在启动测试后尝试访问页面对象时,我收到以下错误:

这是有道理的,因为我认为我必须将水豚的浏览器实例传递给页面对象,不确定是否有其他人之前尝试过。

0 投票
3 回答
767 浏览

ruby - 页面对象中的重复复选框未定义?

我正在尝试单击使购买按钮出现的复选框。当我尝试使用它时,我收到“NoMethodError: undefined method 'eula' for Cart:0x101f54810”错误。我认为这可能是因为有两个相同的复选框,但我不确定。

HTML:

我的课:

更新:我正在更改对象类型以使其正常工作。Element 是我尝试的最后一种类型。我将示例改回复选框(我最初的尝试)。感谢您指出了这一点。

0 投票
3 回答
2001 浏览

ruby - 动态页面网址

我有一个带有动态 URL 的页面。我们称之为查看帖子页面。帖子 1的网址是site.com/post/1帖子 2的网址是site.com/post/2

这就是我目前所做的,以检查我是否在正确的页面上。

这页纸:

黄瓜步骤:

有没有更好的办法?您甚至会费心检查整个 URL,还是只检查site.com/post/一部分?

我正在使用最新的页面对象gem (0.6.6)。

更新

更大的问题是直接进入具有动态 URL 的页面。

这页纸:

黄瓜步骤:

我现在要做的是将 Cucumber 步骤更改为:

如果页面有办法知道它的 ID,那就太好了,但我还没有想出如何去做。

0 投票
1 回答
2058 浏览

ruby-on-rails - 对 Cucumber 上的多个功能使用相同的浏览器实例时出错

我在为 Cucumber 驱动程序创建浏览器实例时遇到问题。如果我在“Before do”内的 env.rb 上创建对象:

…工作正常,为每个功能打开一个新浏览器并在“完成后”关闭它。

这会减慢执行速度,因为新浏览器会启动并关闭每个功能。但是,如果我从“Before do”中创建@browser,以便为所有功能提供相同的浏览器会话,则会出现以下错误:

...根本不启动任何测试。我正在使用页面对象 gem,ruby-on-rails ......

你能告诉我我在做什么错吗?非常感谢!

0 投票
2 回答
1247 浏览

watir - 如何避免复选框弃用的页面对象

我从一年开始就使用黄瓜,几周后我就在其中添加了 page-object-gem。当我执行测试时,我收到消息:

弃用警告
您正在commentPage.rb:23:in `block in delete_comment'中调用一个名为checkbox 的方法。
此方法在页面对象中不存在,因此它被传递给驱动程序。
此功能将在不久的将来删除。
请更改您的代码以调用正确的页面对象方法。

(我对其他情况也有同样的看法,但这个“微不足道”的例子应该更容易解释)

我寻找一种方法来避免这种情况,但这似乎很复杂。

对于测试,我正在检查一个页面,上面有一张桌子。每行显示一行,我需要检查特定行的复选框。

我在 pageObject 中的代码:

我是否需要对我的桌子进行预处理才能在测试期间使用它?

0 投票
2 回答
6378 浏览

watir - 如何在 PageObject 中使用 css 获取元素

在我添加测试的项目中,我有一些复杂的“获取”元素。
我的 textarea 的 html :

目前,我使用这条线来设置值

在 PageObject 中,我应该声明元素并使用它:

但是当我使用时出现此错误:

我哪里错了?

0 投票
1 回答
999 浏览

ruby - 在 Ruby PageObject 中获取对象计数

我有一个页面,它是其他几个元素的列表。我想为此页面创建页面对象,并能够计算这些列表对象并通过它的计数器对对象执行一些操作。

所以现在我有一个类,看起来像这样

因此,例如,第一个提要项具有类似 xpath

第二:

ETC

如何通过 Page-object 中的编号获取具有相似 xpath 的项目?

0 投票
2 回答
376 浏览

ruby - 让 Cucumber 步骤在另一个步骤中验证由页面对象设置的变量

我正在使用 Cheezy 的 PageObject 来设置一些黄瓜测试。我的所有设置都非常像 Jeff Morgan 的书“Cucumber & Cheese”。

现在我有一个页面对象“PublishPage”设置,它有一个设置变量@tag 的方法。例如我在文件 publish_page.rb

在黄瓜步骤中,我有一个步骤on_page(PublishPage).tag,然后在另一个步骤中我有on_page(PublishPage).verify_tag。在我的 env.rb 文件中,我有require 'rspec-expectations'.

问题是,当我运行此代码时,我收到一条错误消息undefined method 'include' for #<PublishPage:xxxxxx>。但是,如果我将 verify_tag 方法中的代码移动到步骤中,一切正常,除了它无权访问@tag ...

0 投票
1 回答
866 浏览

page-object-gem - PageObject::Accessors 中可以有 divs 方法吗?我的解决方法可以吗?

在页面对象中,我希望以特定方式访问多个 div。

这是对匹配的第一个 div 的访问:

如果 div 存在于 PageObject::Accessors 中,这将是访问多个匹配的 div:

到目前为止,我已经尝试过:

任何人都可以建议在页面对象中执行此操作的更好方法吗?

提前致谢...