我正在使用selenium和c#为网站编写自动化测试。我还在学习selenium和c#,并在这里和那里遇到问题。我不确定什么是好方法。 c#中的app.config文件是一个好主意,可以在网站中存储所有对象的xpath吗?或者将数百个这些对象定义存储在像app.config这样的xml文件中不是一个好主意。此外,现在,我有:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Machine" value="localhost"/>
</appSettings>
</configuration>
并且,我在我的类中使用一个方法来获取此app.config文件中的值:
public string GetAppConfig(string key)
{
return ConfigurationManager.AppSettings[key].ToString();
}
这是从app.config检索值的好方法吗?或者有更好的方法吗?
提前感谢您的帮助。我真的很困惑,因为我应该做什么来存储xpaths。我不想做类似的事情:
Selenium.Click(\\id="...."\)
因为如果以后网站中的xpath发生变化,很难改变。
答案 0 :(得分:2)
尽可能使用内置的ConfigurationManager
,如果您不需要,请避免自己滚动。您可以将此帮助程序类设置为静态,以便可以直接调用它而无需创建新实例。
请注意,在您的代码中,如果该密钥不存在,它将引发异常,具体取决于您可能想要捕获它的要求吗?
答案 1 :(得分:0)
您可以使用配置文件,但必须处理unessessary xml。
我个人会写一个简单的文件解析器,它读取key = property(逐行):
Can .NET load and parse a properties file equivalent to Java Properties class?