存储 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 文件中。我不骗你。
我的原因是因为与我的客户共享输入与输出很容易。
在过去的几个月里,我一直在使用 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 文件中。我不骗你。
我的原因是因为与我的客户共享输入与输出很容易。