我正在使用selenium在UI上为我们当前的应用程序运行一些功能测试。
我想确保在正确的时间和地点显示Web项目中资源文件的字符串。
简单(我认为)我所要做的就是引用Web应用程序的程序集并声明文本selenium正在从UI读取匹配approriate资源文件中的测试。
问题是ASP.Net对资源文件进行了一些预先处理,并将它们编译成一个名为App_GlobalResources的程序集,这个程序集不是由正常构建过程创建的,所以功能测试失败,因为找不到App_GlobalResources程序集从中查找字符串。
那么,有什么建议吗?我是否需要放弃App_GlobalResources方法并执行一些我可以控制的手册?
您是否了解此问题或我是否需要提供更多信息?
答案 0 :(得分:1)
我的临时解决方案是使用SVN:Externals将resx文件的副本提取到测试项目中。
然后我可以通过
访问它们ResourceManager resource = new System.Resources.ResourceManager("My.Web.Namespace.resources.ImageUrls", Assembly.GetExecutingAssembly());
它很难看,因为我已经有了webproject的引用(我现在可以删除了......)而且我不喜欢在项目之间混合源文件。它只是想要找麻烦,但直到有人建议更好的事情,这将是必须做的。
答案 1 :(得分:1)
您是否考虑将GlobalResources移动到单独的程序集中,然后从Web项目和测试项目中引用它?这在VS 2008中很容易实现,并且在VS 2005中可以实现但有点困难。
我能够使用这种方法解决类似的问题。