如何在不同的解决方案中重用CodedUITest项目中的Specflow步骤

时间:2018-02-21 11:54:08

标签: coded-ui-tests specflow

我们在CodedUITest项目之上有Specflow层。我们在一个CodedUITest项目(CodedUITestProject1)中有一些常见的步骤,我们希望在不同的解决方案中使用另一个CodedUITest项目(CodedUITestProejct2)。

我们创建了CodedUITestProject1的dll,并在CodedUITestProejct2中添加了它的引用。还更新了CodedUITestProject2的App.config文件以使用外部程序集中的绑定,但是不起作用。对此有任何想法。

<specFlow>
    <!-- For additional details on SpecFlow configuration options see http://go.specflow.org/doc-config -->
  <!-- For additional details on SpecFlow configuration options see http://go.specflow.org/doc-config --><unitTestProvider name="MsTest" />
  <plugins>
  <add name="CodedUi" type="Generator" path="." />
  </plugins>
<stepAssemblies>
    <stepAssembly assembly="CodedUITestProject1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  </stepAssemblies>

  </specFlow>

2 个答案:

答案 0 :(得分:0)

在涉及其他步骤程序集时,Visual Studio集成存在一些错误。 因此语法高亮,智能感知和&#34;转到定义&#34;有时可能无法正常工作 尝试从%temp%。

中删除specflow-stepmap *文件

运行时没有问题。

答案 1 :(得分:0)

如果在使用项目中没有完成代码使用,VS有时会自行决定不复制引用的DLL。 static navigationOptions = { header: null }; 如果VS已经决定你不需要它,那么它应该会丢失。

如果是这种情况,那么您可能需要在钩子中(或代码中的任何位置)从CodedUITestProject1.dll创建一个类型的虚拟实例,因此VS可以看到您正在使用来自Double check your bin folder for CodedUITestProject1.dll的内容。项目构建完成后,您可以删除已输入的虚拟代码。

另一种选择可能只是参考 - &gt; CodedUITestProject1.dll - &gt;属性 - &GT;将CodedUITestProject1设为copy local。 (未确认其解决问题)。

注意:使用来自外部DLL导航的BDD步骤(步骤中的F12)不起作用。