代码之家  ›  专栏  ›  技术社区  ›  Ishita Shah Y_Sh

没有在类级别获得值

  •  0
  • Ishita Shah Y_Sh  · 技术社区  · 7 年前

    由于数据类型或静态修饰符的原因,我不确定这是什么原因,可能是什么原因导致的 By 数据类型:

    variableDeclaredClass.cs:

     public static String userGroupName;
    

    app.config声明

    <add key="userGroupName" value="Test User Group 01"/>
    

    userGroupName = ConfigurationManager.AppSettings["userGroupName"];
    

    可执行查询-Test.cs:

    By getVerify = By.XPath("//td[@class='boldText' and contains(text(),'" + userGroupName + "')]");
    

    由变量引起的查询 userGroupName 那个 getVerify 变量未获取的值 用户组名

    在调试时,我检查了这个变量,得到了变量的值( 用户组名 )作为单一实例。但是,它不包含for query( 获取验证

    调试的参考屏幕截图:

    具有以下变量的调试器检查点1: enter image description here

    enter image description here

    这是因为类级别上的静态修饰符吗?

    3 回复  |  直到 7 年前
        1
  •  1
  •   undetected Selenium    7 年前

    而不是:

    By getVerify = By.XPath("//td[@class='boldText' and contains(text(),'" + userGroupName + "')]");
    

    By getVerify = By.XPath("//td[@class='boldText' and contains(.,'" + userGroupName + "')]");
    

    或:

    By getVerify = By.XPath("//td[@class='boldText' and text()='" + userGroupName + "']");
    
        2
  •  0
  •   Ukrainis    7 年前

    我会这样做:

    string selector = $"//td[@class='boldText' and contains(text(),'"{userGroupName}"')]"
    By getVerify = By.XPath(selector);
    

    首先创建完整选择器,然后将其添加到需要它的位置。

        3
  •  0
  •   Ishita Shah Y_Sh    7 年前

    By getVerify;
    
    public void temp()
    {
    getVerify = By.XPath("//td[@class='boldText' and contains(text(),'" + userGroupName + "')]");
    }