问题标签 [specrun]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
57 浏览

specflow - SpecFlow+ Runner 服务器:在 \packages\SpecRun.Runner.xyz\tools 中找不到“服务器”目录

我目前正在尝试按照以下说明设置 SpecFlow+ Runner 服务器:设置 SpecFlow+ Runner 服务器我在以下几点上遇到了困难:

“2. 在解决方案目录中找到“服务器”目录 \packages\SpecRun.Runner.x.y.z\tools(在安装 NuGet 包时创建)。将“服务器”目录的内容复制到您的服务器。”

我的解决方案目录中没有“服务器”\packages\SpecRun.Runner.3.0.337\tools目录。我已经安装了 Nuget SpecRun.SpecFlow.2-4-0。我还使用最新的 Nuget SpecRun.SpecFlow.3-0-0 (v3.0.337) 进行了尝试,结果相同。

不是位于这个 Nuget 中的“服务器”目录吗?我现在在哪里可以找到它?

我还在这里问了这个问题:https ://groups.google.com/forum/#!topic/specrun/YyM7YPc6Rbc

0 投票
1 回答
1339 浏览

.net-core - 运行设置文件不适用于 SpecFlow+MSTest+SpecRun.Specflow

我检查了几乎所有堆栈溢出和有关如何从 MSTest 中的 .runsettings 文件中读取参数的 Microsoft 文档,并尝试了所有方法,但没有一个对我有用。

I am using .NETCore 2.2, VS 2019, Selenium, SpecFlow+ Runner.

不适用于 SpecRun.SpecFlow nuget 包,但适用于 SpecFlow.MStest nuget 包。

我尝试按照此处所述使用它:

  1. 如何在 specflow 测试中读取测试运行设置参数值?
  2. https://docs.microsoft.com/en-us/visualstudio/test/configure-unit-tests-by-using-a-dot-runsettings-file?view=vs-2019
  3. 如何在 RunSettings 文件中访问 TestRunParameters

他们都没有为我工作。

.runsettings file:

`

我试图得到“appUrl”:

public TestContext context {get;set;};

我也试过[AssemblyIntilize]/ [TestInitialize]

我不知道 MSTest 是否支持 SpecFlow+ Runner。请帮忙。

请帮忙

0 投票
1 回答
1510 浏览

c# - 原始类型或结构无法解析:System.String hook [AfterStep] specflow C#

在我的自动化中,我无法运行自动化测试,我需要使用钩子 [AfterStep] 输入参数的方法显示错误:

原始类型或结构无法解析:System.String BoDi.ObjectContainerException

但是测试代码,我意识到当我从方法中删除字符串参数时,错误停止发生,有人可以给我一个解决这个问题的方法吗?

0 投票
1 回答
98 浏览

c# - 有什么方法可以使用 SpecFlow+SpecRun 在 html 报告中发布失败测试场景的失败历史记录?

我们可以在 SpecRun 的 HTML 报告中发布失败测试用例统计的详细信息吗?示例:分析先前执行中失败的测试用例。如果一个测试场景在过去 5 次运行中失败,则在 specrun 报告的错误详细信息部分,需要针对该测试用例显示 5。这样我们就可以分析这个测试用例失败是当前运行中的新问题还是以前构建中的问题。

我们可以使用 SpecFlow+SpenRun 进行任何设置以仅在上一次运行中运行失败的测试用例吗?

0 投票
0 回答
228 浏览

visual-studio - vstest.console.exe --testcasefilter:"FullyQualifiedName=Namespace.classname 不工作

我是 vstest 的新手,我正在尝试从命令行运行 specflow 功能文件。我使用了以下命令,但它对我不起作用。

下面是命名空间和类名:

我尝试了以下命令:

另一个:

请注意,我也尝试过使用 ClassName 并且它再次不起作用:

我只需要使用完全匹配,这就是使用 = 运算符的原因。我不想使用 ~ 包含运算符。

0 投票
1 回答
261 浏览

c# - 如何通过动态在不同环境和不同浏览器中执行specflow特征文件

我正在使用 specflow + specrun 进行自动化项目。我们有 3 个环境暂存,uat 和生产。所以我必须通过我想要运行的命令行动态传递环境,有时我必须在单个浏览器中运行脚本,并且对于某些情况多次在多个浏览器中运行,所以如何通过命令行动态传递相同的,所以我们必须通过specrun中的命令行一次处理多个环境不同的浏览器,我试图设置不同的目标,但我无法获得解决方案一次处理浏览器和环境

想要在应用程序中运行以下组合 - UAT Chrome - UAT Firefox - UAT 所有浏览器 - STG Chrome - STG Firefox - STG 所有浏览器

提前致谢

0 投票
1 回答
1575 浏览

c# - 如何在specflow的并行执行中仅在测试运行之前和之后执行一次

我必须在测试执行之前和之后运行 db 脚本,但是如果我在测试运行之前提到它会为每个线程运行多次但我只需要在测试执行中运行一次意味着它是所有线程的顶部

例如:钩子文件

在 Default.srprofile 线程数=3

运行构建时,它的显示如下

  • Thread0:“测试前运行”
  • Thread1:“测试前运行”
  • Thread2:“测试前运行”
  • Thread0:“测试后运行”
  • Thread1:“测试后运行”
  • Thread2:“测试后运行”

但是我必须在所有线程之上和所有线程之后只运行一次

0 投票
0 回答
114 浏览

specflow - SpecFlow Jenkins 运行寻找 NewtonSoft v9.0.0.0 失败

我正在 Jenkins 上建立一个新项目,但遇到了一个小问题。构建成功,但是当 specrun 开始时,所有测试都被忽略并抛出以下错误。

TechTalk.SpecRun.Framework.SpecRunException:至少一个测试线程中止。---> System.IO.FileNotFoundException:无法加载文件或程序集“Newtonsoft.Json,版本=9.0.0.0,文化=中性,PublicKeyToken=30ad4fe6b2a6aeed”或其依赖项之一。该系统找不到指定的文件。

我的 App.config 我添加了以下内容以支持新版本:

我仍然抛出错误。我已经卸载、重新安装并搜索了 9.0.0.0 但什么也没有。我有 9.0.0.1 的私有组件以及旧的 v6。StackOverflow 和其他网站上有类似的帖子,但我无法让它工作。我也尝试过从命令行执行。有什么建议么?

  • SpecFlow v1.78
  • MSBuild v3.78
  • SpecRun.Runner v3.1.44
  • SpecRun.SpecFlow.3-1-0 v3.144

升级到当前有一个错误,所以我不得不回滚。

0 投票
0 回答
55 浏览

vstest.console.exe - SpecRun / VSTest - 目录路径的内部结构是什么

我是实施 SpecRun/SpecFlow 的新手。我真的在为运行设置、配置文件和目录路径苦苦挣扎。所有这一切的最终结果是在 Azure 环境中运行我们的 Web 测试,希望将结果发布到 TFS。但我不明白为什么 SpecRun 会做它正在做的事情。我很难弄清楚如何用这个词来表达。

文档指出所有文件都与 baseFolder 相关。它声明 baseFolder 应该是 bin 文件夹(在我的情况下是 bin\debug。)所有输出都将与该文件夹相关。这是我的第一个压力来源。就个人而言,我不希望任何改变 bin 文件夹的东西。所有那种报告/日志的东西都应该写在别处,不在 bin 文件夹附近。

我的应用程序对其基本文件夹(项目的当前文件夹)敏感。据了解,当前文件夹是开始处理的位置(cd \project\process; exec 进程。)它是应用程序获取其环境设置的那个文件夹。但处理炸弹时出现以下错误:

Could not find a part of the path 'C:\classes\defaulttestdata\default_data_values.json'

是什么将当前目录从项目更改为 c:\ ?为什么要这样做。我发现自己必须重新设计传递参数的方式,以及我可以在应用程序内部做出哪些假设。

当使用 .runsetting 使用 vstest.console 开始测试时,它会变得更加复杂,这反过来又引用了一个配置文件。指定名称 .srprofile,它位于项目文件夹中。但是,处理炸弹因为找不到它:

> vstest.console bin\debug\rti.accidents.web.webtesting.dll --Settings:console.runsettings

Could not find file 'C:\Code\Branches\NIEDO2\V4\Accidents\RTI.Accidents.Web.WebTesting\bin\debug\specrun.srprofile'

它是如何知道从哪里获取 bin\debug 文件夹以进行查看的?配置文件说 specrun.srprofile,而不是 bin\debug\specrun.profile?

我不知道输出和日志的去向。经过我所有的尝试,我找到了 c:\TestResults、c:\TestResults 和 c:\bin\debug\TestResults。有时有输出;有时不是。

在 Visual Studio 中,一切都表现得非常好。它运行所有 hunky dory,将输出放在我想要的相对于项目(而不是 bin)的位置。

有没有人成功使用 vstest.console 愿意分享他们的 .runsettings 和 .srprofile 的副本,这样我就可以看到这一切是如何结合在一起的。有没有其他人提出“你没有写回应用程序 bin 文件夹”的论点。在某些情况下,受保护的空间并且您不希望报告/日志占用 ac:\ 驱动器。

抱歉,只是觉得自己像个白痴有点沮丧。

0 投票
1 回答
597 浏览

c# - 使用 specflow Specrun 构建硒解决方案时出现错误

我是 selenium 和 specflow specrun 的新手。我正在使用一个框架来进行自动化测试。我在 c# 中使用 specrun 作为我的测试运行和 specflow。在构建解决方案时出现以下错误。