问题标签 [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.
page-object-gem - 使用页面对象 gem 等待大型 SelectList 数组
我正在尝试在动态加载的SelectList元素中选择一个项目。
我正在使用 wait_until ,如下所示:
当我的列表只有几个项目时,这很有效。不幸的是,我的清单有时有3000项。发生这种情况时,上述等待需要几分钟才能返回(即使列表只需几秒钟即可填充)。
我也试过:
这并没有更好,我可以sleep 5
解决这个问题,但我宁愿避免这种情况。
你能推荐性能更好的等待选项吗?
ruby - 如何使用页面对象 gem 和 ruby 处理脚本标签
有了 watir,我可以获取特定脚本标签的 html
我正在寻找的字符串是唯一的,并且是较长字符串的一部分。我需要验证较长的字符串是否正确。现在我正在按照上述方法进行操作,但如果可能的话,我更愿意以页面对象的方式进行操作。我在其余代码中使用页面对象 gem 和 ruby。如果可能的话,想对这个脚本标签做同样的事情。如果不是,我会坚持使用 watir 方式。
一如既往地感谢您的帮助。
ruby - 在 Chrome 中使用 watir-webdriver 点击时未提交表单
我正在使用 ruby/cucumber/watir-webdriver 和 page-objects gem 来运行我的测试。我的测试通常在 Firefox 中运行,但决定尝试使用 chrome。虽然点击在 Firefox 中有效,但在 chrome 中无效。这是示例 html 代码:
在我的课程页面中,我将按钮声明如下:
并这样称呼它:
我确实看到按钮文本更改为“等待...”几秒钟,然后返回到“提交表单”,但似乎没有提交表单。如前所述,它适用于 firefox 并在手动单击时。似乎只是 Chrome 中的一个问题。任何想法如何解决它?我尝试单击 div,并尝试单击按钮两次但同样的问题。
一如既往地感谢您的帮助。谢谢。
ruby - 使用 `send` 检查元素是否存在
此代码应该将字符串作为输入来检查元素page_object
是否存在。脚本必须引发异常以防它发现元素,如果没有则什么也不做。
示例页面对象:
剧本:
在这种情况下,我使用字符串partner_flag
来提供函数并检查元素。Watir 失败了:
因为它需要在网页中找到该元素才能定义option
. 是否有另一种定义方法option
,或者有另一种方法来使用功能进行这种不存在检查send
?
watir-webdriver - 从页面对象定义变量我缺少什么?在 watir-webdriver 中出现未定义的错误
我正在尝试为我正在自动化的表单创建一个页面对象,并为“checkout_form”获取未定义的局部变量或方法,尽管我认为我已经定义了该变量。
这是我的页面对象页面:
在将使用我添加的页面对象的另一个页面上'require_relative“checkout-form.rb”'
我在那里设置了驱动程序:
并在此处与 pageobject 方法进行交互:
ruby - 如何从 Ruby 中的页面对象中迭代 select_list
我有一个包含位置列表项的页面对象。
我想要一个位置列表,然后选择其中一个。就像是:
非常感谢 :)
internet-explorer - Watir Webdriver IE 上的文本输入速度慢
我正在使用 Cucumber 和 Watir-Webdriver 创建一些自动化测试。我也在使用 PageObject gem。一些示例代码如下
我看到的问题是将文本输入到 IE(版本 11)中的用户名/密码字段中需要很长时间。我还用 Firefox 和 Chrome 进行了测试,文本立即输入。然而,在 IE 中,它逐个字符地输入文本,每个字符大约需要 10 到 15 秒才能输入。这大大减慢了我在 IE 中测试的运行时间。有人遇到过这种情况么?关于如何解决它的任何想法?我尝试使用 browser.speed = :zippy 选项,但这似乎没有帮助。
ruby - 如何在 ruby 中的另一个元素内搜索页面对象元素
我有一个包含 3 个 div 的地址(主地址、辅助地址、添加地址)的表单。每个 div 包含以下元素 (text_field):姓名、地址、电话。根据场景,我想编辑特定 div 的文本字段。
所以我有这种情况:
以及以下步骤定义:
现在我不确定的部分 - 地址页面
我怎样才能做到这一点,这样我就不必为所有 div 定义所有元素(div 的数量是动态的)?我需要知道的是,是否有一种方法可以搜索一个元素以使其位于另一个元素中。
谢谢 :)
编辑html 将如下所示:
第二次编辑重点是还要声明这一点:
“default.yml”看起来像这样:
我可以在哪里选择将填充哪个 div。这可能吗?
watir - 如何使用 Watir 页面对象方法单击树视图中的项目
我有以下 HTML,它表示具有两个元素 TREENODE1、TREENODE2 的树视图:
这个 id 的名称为 handler2,handler9 代表树中的加号。我的目标是能够使用 Watir 的页面对象 gem 选择其中一个加号来使树展开。以下 Ruby 代码提供对 TREENODE1、TREENODE2 两个元素的文本的访问:
unordered_list(:folders, :id => 'foldersTree')
这将返回一个字符串 TREENODE1\nTREENODE2,它可以很容易地被拆分。不知道如何获得“处理程序”项目,因此我可以单击它们以展开树节点并显示下属。有什么想法吗?
ruby - 当 find_index 使用 page_objects 返回 nil 时测试失败的正确方法
我正在使用 find_index 来查找一个元素,然后单击它的链接。但是,当索引返回 nil 时,它会单击元素 0 的链接。是否有正确的方法来失败?
这是我的代码:
理想情况下,如果找不到,我希望它失败。目前它在返回 nil 时单击元素 0。一如既往地感谢您的帮助。