c# - ScenarioContext.Current 是使用上下文注入的过时错误
问题描述
我一直在关注一个旧的 selenium 教程,但由于这个错误,我无法执行该程序。这是我的代码:
namespace ProductAutomation.Utils.Hooks
{
[Binding]
public class ScenarioHooks
{
private readonly ScenarioContext _scenarioContext;
public ScenarioHooks(ScenarioContext scenarioContext)
{
_scenarioContext = scenarioContext;
}
[BeforeScenario]
public void StartWebDriver()
{
if (_scenarioContext.Current.ScenarioInfo.Tags.Contains("Chrome"))
{
DriverController.Instance.StartChrome("--disable-extensions");
}
}
}
}
我收到以下错误:
ScenarioContext.Current 已过时。请通过上下文注入获取 ScenarioContext。
ScenarioContext.Current 不能通过实例引用访问;改为使用类型名称来限定它
解决方案
您需要更换:
if (_scenarioContext.Current.ScenarioInfo.Tags.Contains("Chrome"))
和:
if (_scenarioContext.ScenarioInfo.Tags.Contains("Chrome"))
我还建议通过 ContextInjection 获取 DriverContext。
参考
您可以在以下位置找到一些相关的讨论:
- ScenarioContext.Current 已过时。如何获取 ScenarioContext.Current.ScenarioInfo.Title 和 ScenarioContext.Current.StepInfo.Text
- ScenarioContext.Current 已过时。如何使用上下文注入
tl; 博士
您可以在ScenarioContext中找到详细的文档
推荐阅读
- triggers - On Change Select 不会在 Safari 中触发 Click 事件
- python - 如何用 NAN 值替换每列中的不同值?
- angular - 无法绑定到“matTooltipPosition”,因为它不是“按钮”的已知属性
- python-3.x - 将编译后的 python 3.7 正则表达式存储在数据库中
- r - 获取单个乳胶文件而不是 PDF 以获取 R 包的文档
- python - 熊猫数据框的行到列
- javascript - 无法使用 web3js 从智能合约中读取数据
- c# - 你如何设置 MvxSuspensionManager
- c# - 使用实体框架和 PostgreSQL 的 SaveChanges 错误
- c++ - 即使是小尺寸图像(小于 200~像素),opencv::findContours 也会崩溃