无法找到元素' specflow'的架构信息。 Visual Studio Professional 2013

时间:2015-01-13 18:52:30

标签: c# webdriver specflow

我在Visual Studio professional 2013中编译我的webdriver C#代码 我已经安装了Specflow

我收到以下错误 找不到元素'specflow'的架构信息

我的AppConfig文件具有以下设置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" />
  </configSections>
  <specFlow>
    <!-- For additional details on SpecFlow configuration options see http://go.specflow.org/doc- config -->
  </specFlow>
  <appSettings>
    ...
  </appSettings>
</configuration>

为什么抱怨无法找到specflow的架构信息?

在我的步骤定义文件中,我已经包含在课程顶部

using NUnit.Framework;
using OpenQA.Selenium;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TechTalk.SpecFlow;
using G.Selenium;

namespace WebdriverBdd
{
    [Binding]
    public class SearchSteps : SeleniumWebDriver
    {
        [Given(@"user is on g search page")]
        public void UserIsOnGSearchPage()
        {
            SeleniumWebDriver selenium_driver = new SeleniumWebDriver();
        }
    }

1 个答案:

答案 0 :(得分:1)

注意:由于您的specFlow配置部分为空,您可以删除它。在任何一种情况下,SpecFlow都将使用默认值。

  

无法找到元素'specFlow'的架构信息。

消息仅供参考。许多configSections没有架构,因为它们非常简单,非常复杂或者具有无法跟上的插件选项。

您始终可以从文档创建XML架构或使用XML文件作为示例。要从示例中创建一个(当然,可能会过度使用该示例),请打开XML文件(app.config)并选择菜单命令XML»Create Schema。

对于App.config,架构将用于整个配置。只需将其降低到specflow配置部分即可。我用我的方法做了这个,它指导代码生成MS Test而不是NUnit。然后我通过为unitTestProvider的名称创建一个枚举来使它有点兴奋。

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="specFlow">
    <xs:annotation>
      <xs:documentation>
        Customizes SpecFlow code generation. This unofficial schema is hand-crafted based on actual use.
        For additional details on SpecFlow configuration options see http://go.specflow.org/doc-config.

        Should occur zero or one times in an app.config.
      </xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:choice minOccurs="0" maxOccurs="1">
          <xs:element name="unitTestProvider">
            <xs:complexType>
              <xs:attribute name="name" type="SpecFlowUnitTestProvider" use="required" />
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:simpleType name="SpecFlowUnitTestProvider">
    <xs:restriction base="xs:string">
      <xs:enumeration value="MsTest" />
      <xs:enumeration value="NUnit" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>