【发布时间】:2013-03-28 14:35:31
【问题描述】:
我正在按照 PageObject 模式使用 Selenium Webdriver 开发一个自动化框架,其中有 2 层:
- 测试类(测试规范)
- PageObject 类(测试实现)
我的测试类包含 TestNG 注释方法(@Test、@BeforeTest、@AfterTest 等),我在其中创建 PageObject 类的对象并调用这些类中的方法,这些方法实际上将与 AUT 交互。
我将数据传递给测试的方式是包括:
- 中元素的所有定位器(css/xpath/class/id 定位器) 申请。
- 所需的所有测试数据
在属性文件中(例如:testDataSet1.properties)。我正在创建属性文件的HashMap<String, String> 并将其作为参数传递给所有页面对象,这些页面对象将从哈希映射中读取数据并在脚本中使用它们。我根本没有从测试类传递测试数据。
我的问题是,我不确定在 PageObjects 中读取测试数据是否合适。我感觉这种方法非常不灵活,因为我将测试数据绑定到 PageObjects 而不是将其绑定到测试。因此,当我需要执行数据驱动的测试/在多次迭代中运行自动化套件时,这是行不通的。因为,目前如果我每次都需要使用不同的数据,我需要手动去更改哈希图中指定的键,这将从属性文件中获取不同的值。
有什么建议吗?
【问题讨论】:
标签: selenium webdriver testng pageobjects