在过去的几个月里,我一直在使用C#中的Selenium为Web应用程序开发测试自动化包。
在某些测试中,我需要验证驱动程序是否到达了预期的URL。到目前为止,我一直在将预期的URL存储在.resx文件中,但我被告知这不是一个非常好的方法。
我对编程很陌生,所以如果这看起来微不足道,我很抱歉。
修改
只是为了澄清我正在寻找存储网址的方法。我不想让它们硬编码,但我也不认为.resx文件是一个非常好的选择。
答案 0 :(得分:1)
您可以使用Page Object Pattern并在页面对象中将页面的网址设为const string
。这就是我在Selenium测试中一直这样做的方式。
您可以通过页面对象上的静态方法公开常量url,然后使用它来对Web驱动程序当前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)
答案 1 :(得分:0)
我以前在excel文件中存储了这种信息(当使用TestComplete时)。我没骗你。
我的理由是因为很容易与我的客户共享输入与输出。