FileHelpers-如何基于另一个字段生成一个字段?

时间:2019-04-18 17:10:46

标签: filehelpers

我正在做一些Selenium测试,想使用FileHelpers从CSV文件填充类。我想做的是构建Selenium。使用基于字段文本和上一个字段文本的FileHelpers自定义转换器。

以下是我的代码段:

using FileHelpers;
using By = OpenQA.Selenium.By;

[DelimitedRecord(";")]
public class WebElement
{
    public string SelectorString;

    [FieldConverter(typeof(ByConverter))]
    public By Selector;
}

public class ByConverter : ConverterBase
{
    public override object StringToField(string selectorType)
    {
        if (selectorType == "CssSelector")
            return By.CssSelector("");

        if (selectorType == "Id")
            return By.Id("");

        throw new ConvertException(selectorType, typeof(By));
    }
}

您会看到By选择器是用空字符串创建的,因为转换器不知道SelectorString是什么。

我想做的是这样的:

public class ByConverter : ConverterBase
{
    public override object StringToField(string selectorType, string selectorString)
    {
        if (selectorType == "CssSelector")
            return By.CssSelector(selectorString);
    ...}
...}

这将产生一个有用的Selenium.By对象。 有什么办法做这样的事吗?

或者,是否可以修改现有的By对象?我还没有找到办法。像这样:

By locator = By.Id("");
locator.SetValue("some string");

0 个答案:

没有答案