问题标签 [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.
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 尝试过同样的事情,但也失败了。
ruby-on-rails - Capybara 与页面对象 gem 的集成
是否可以使用页面对象 gem 和 capybara 来自动化 Ruby on Rails 测试?当我在启动测试后尝试访问页面对象时,我收到以下错误:
这是有道理的,因为我认为我必须将水豚的浏览器实例传递给页面对象,不确定是否有其他人之前尝试过。
ruby - 页面对象中的重复复选框未定义?
我正在尝试单击使购买按钮出现的复选框。当我尝试使用它时,我收到“NoMethodError: undefined method 'eula' for Cart:0x101f54810”错误。我认为这可能是因为有两个相同的复选框,但我不确定。
HTML:
我的课:
更新:我正在更改对象类型以使其正常工作。Element 是我尝试的最后一种类型。我将示例改回复选框(我最初的尝试)。感谢您指出了这一点。
ruby - 动态页面网址
我有一个带有动态 URL 的页面。我们称之为查看帖子页面。帖子 1的网址是site.com/post/1
,帖子 2的网址是site.com/post/2
。
这就是我目前所做的,以检查我是否在正确的页面上。
这页纸:
黄瓜步骤:
有没有更好的办法?您甚至会费心检查整个 URL,还是只检查site.com/post/
一部分?
我正在使用最新的页面对象gem (0.6.6)。
更新
更大的问题是直接进入具有动态 URL 的页面。
这页纸:
黄瓜步骤:
我现在要做的是将 Cucumber 步骤更改为:
如果页面有办法知道它的 ID,那就太好了,但我还没有想出如何去做。
ruby-on-rails - 对 Cucumber 上的多个功能使用相同的浏览器实例时出错
我在为 Cucumber 驱动程序创建浏览器实例时遇到问题。如果我在“Before do”内的 env.rb 上创建对象:
…工作正常,为每个功能打开一个新浏览器并在“完成后”关闭它。
这会减慢执行速度,因为新浏览器会启动并关闭每个功能。但是,如果我从“Before do”中创建@browser,以便为所有功能提供相同的浏览器会话,则会出现以下错误:
...根本不启动任何测试。我正在使用页面对象 gem,ruby-on-rails ......
你能告诉我我在做什么错吗?非常感谢!
watir - 如何避免复选框弃用的页面对象
我从一年开始就使用黄瓜,几周后我就在其中添加了 page-object-gem。当我执行测试时,我收到消息:
弃用警告
您正在commentPage.rb:23:in `block in delete_comment'中调用一个名为checkbox 的方法。
此方法在页面对象中不存在,因此它被传递给驱动程序。
此功能将在不久的将来删除。
请更改您的代码以调用正确的页面对象方法。
(我对其他情况也有同样的看法,但这个“微不足道”的例子应该更容易解释)
我寻找一种方法来避免这种情况,但这似乎很复杂。
对于测试,我正在检查一个页面,上面有一张桌子。每行显示一行,我需要检查特定行的复选框。
我在 pageObject 中的代码:
我是否需要对我的桌子进行预处理才能在测试期间使用它?
watir - 如何在 PageObject 中使用 css 获取元素
在我添加测试的项目中,我有一些复杂的“获取”元素。
我的 textarea 的 html :
目前,我使用这条线来设置值
在 PageObject 中,我应该声明元素并使用它:
但是当我使用时出现此错误:
我哪里错了?
ruby - 在 Ruby PageObject 中获取对象计数
我有一个页面,它是其他几个元素的列表。我想为此页面创建页面对象,并能够计算这些列表对象并通过它的计数器对对象执行一些操作。
所以现在我有一个类,看起来像这样
因此,例如,第一个提要项具有类似 xpath
第二:
ETC
如何通过 Page-object 中的编号获取具有相似 xpath 的项目?
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 ...
page-object-gem - PageObject::Accessors 中可以有 divs 方法吗?我的解决方法可以吗?
在页面对象中,我希望以特定方式访问多个 div。
这是对匹配的第一个 div 的访问:
如果 div 存在于 PageObject::Accessors 中,这将是访问多个匹配的 div:
到目前为止,我已经尝试过:
任何人都可以建议在页面对象中执行此操作的更好方法吗?
提前致谢...