【发布时间】:2014-07-21 22:08:21
【问题描述】:
我正在使用 Canopy,但无法使用 waitFor 方法。
我正在尝试这样使用它:
waitFor noBlockUI
noBlockUI 函数在哪里:
let noBlockUI () =
(someElement "div.blockUI").IsNone
现在 waitFor 调用位于 F# 模块中的函数中,我正在从 C# 项目中调用该函数。
我发现我必须将 FSharp.Core 添加到我的 C# 项目中才能使任何调用正常工作。有几个 Microsoft 为 FSharp 编写的 NuGet 包:
如果我使用 4.0.0 包,那么当执行带有 waitFor 的方法时,我会收到此错误:
System.MissingMethodException:找不到方法:'Microsoft.FSharp.Core.FSharpOption`1 canopy.core.someElement(System.String)'。
但是如果我使用 4.3.0.0 包,那么当我尝试运行我的测试时,我会立即得到:
System.TypeInitializationException : '.$canopy.core' 的类型初始化程序引发了异常。 ----> System.IO.FileLoadException:无法加载文件或程序集“FSharp.Core,版本=4.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)
有什么想法可以让waitFor 工作吗?
【问题讨论】:
-
暂时我回到了我最初写的C#代码等待上面的条件。不过,仍然希望找到 F# 解决方案。
标签: f# canopy-web-testing