我在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();
}
}
答案 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>