存储 URL 字符串以进行自动化测试的最佳方法是什么?

What is the best approach to store URL strings for automated testing?

在过去的几个月里,我一直在使用 C# 中的 Selenium 为 Web 应用程序开发测试自动化包。

在某些测试中,我需要验证驱动程序是否达到了预期 URL。到目前为止,我一直将预期的 URLs 存储在 .resx 文件中,但有人告诉我这不是一个很好的方法。

我是编程新手,所以如果这看起来微不足道,我很抱歉。

编辑:

澄清一下,我正在寻找 store URL 的方法。我不想对它们进行硬编码,但我认为 .resx 文件也不是一个很好的选择。

您可以使用 Page Object Pattern 并将页面的 URL 作为页面对象中的 const string。这就是我在 Selenium 测试中一直采用的方式。

在对 this question

的回复中提供了一些更有用的信息

您可以通过页面对象上的静态方法公开常量 url,然后使用它对当前 url.

的 Web 驱动程序进行断言

编辑: 根据以上评论,您似乎担心 URLs

有一个真实来源

你可以有一个静态的 URL 工厂,像这样:

public static class UrlFactory
{
    public static string URL1 { get{return "www.url.com";}}
    //repeat as necessary
}

然后,当您设置页面对象时,可以通过调用 UrlFactory.Url1 将 URL 传递到构造函数中,这可以将其值分配给页面中的私有字段。然后当你测试时,你会像这样为你的断言调用相同的方法:

Assert.AreEqual(UrlFactory.Url1, _webDriver.Url)

我以前将此类信息(使用 TestComplete 时)存储在 excel 文件中。我不骗你。

我的原因是因为与我的客户共享输入与输出很容易。