【发布时间】:2011-01-17 18:44:16
【问题描述】:
在为 .Net 应用程序创建测试时,我可以使用 White 库来查找给定类型的所有元素。然后我可以将这些元素写入一个 Xml 文件,以便它们可以被引用并用于 GUI 测试。这比手动记录每个元素的信息要快得多,所以我想对使用 Selenium 的 Web 应用程序做同样的事情。我还没有找到这方面的任何信息。
我希望能够搜索给定类型的每个元素并保存其信息(位置/XPath、值和标签),以便稍后将其写入文本文件。
这是我想要达到的理想工作流程:
navigate_to_page(http://loginscreen.com)
log_in
open_account
button_elements = grab_elements_of_type(button) # this will return an array of XPaths and Names/IDs/whatever - some way of identifying each grabbed element
该代码可以运行一次,然后我可以在任何元素发生更改、添加或删除时重新运行它。
然后我可以让另一个自定义函数遍历数组,以我以后可以轻松使用的格式保存信息;在这种情况下,一个包含常量列表的 Ruby 类:
LOGIN_BUTTON = "//div[1]/loginbutton"
EXIT_BUTTON = "//div[2]/exitbutton"
然后我可以编写如下所示的测试:
log_in # this will use the info that was automatically grabbed beforehand
current_screen.should == "Profile page"
现在,每次我想与新元素交互时,我都必须手动转到页面,选择它,用 XPather 打开它,然后将 XPath 复制到我希望我的代码查看的任何文件中。这会占用大量原本可以用于编写代码的时间。
【问题讨论】:
标签: ruby-on-rails selenium automated-tests