在selenium中使用文件属性是否值得?

时间:2018-02-20 11:23:56

标签: java json selenium properties qa

我考虑在selenium项目中使用属性。在java类或属性文件或其他技术(如YAML或JSON)中编写配置文件会更好吗?

2 个答案:

答案 0 :(得分:1)

没有一般的“最佳实践”,必须每次都进行评估。

如果您不想让用户更改任何值,Java类作为配置值是合理的。

如果您使用外部配置系统,则取决于您的需求和项目的需求。属性很简单,易于在java中使用(开箱即用),但缺乏表达能力。

其他格式(如JSON,XML或YAML)确实具有表现力,但需要更多努力才能在项目中包含和处理。

我建议你遵循简单的KISS原则(保持简单,愚蠢)。使用满足您要求的最少的格式。

这就是说,如果你对一个简单的密钥很好==>值映射,然后坚持属性文件。如果您需要更多层次结构,请使用您认为最合适的结构或您正在使用的应用程序的其他接口。

答案 1 :(得分:0)

是。使用属性/配置文件是值得的。我建议你在项目中实现多个属性文件。

一个文件将存储所有与框架相关的数据,其中包括驱动程序,浏览器,屏幕截图位置,报告位置,基本URL以及更多相关参数的路径。

另一个文件将存储与应用程序测试相关的数据,其中包括用户/密码,测试帐户和相关信息。

如果您正在使用Selenium-JAVA,建议使用 .properties 扩展名创建这些文件,而不是使用JSON / XAML。如果您正在使用API​​,则建议JSON将有效负载发送到服务器或从服务器接收响应。为此目的,将响应存储在JSON文件中是有意义的。如果您需要为API端点存储预定义的JSON模式,则建议使用YAML。

谈到属性文件,存储在属性/配置文件中的数据将是key-value对。有一点需要注意,您不使用任何引号来定义键或值。请看下面的示例:

#Set driver path
GECKO_DRIVER_PATH=./lib/drivers/geckodriver
CHROME_DRIVER_PATH=./lib/drivers/chromedriver
PHANTOMJS_DRIVER_PATH=./lib/drivers/phantomjs

请注意,如果您的有限数据或数据仅限于某个扩展,则配置/属性文件非常有用。如果不是这种情况,强烈建议使用@DataProviders或Apache POI等第三方工具。