使用C#Selenium验证Sitecore中Coveo的搜索结果

时间:2016-11-21 21:24:21

标签: c# selenium sitecore coveo

我想测试以确保搜索显示正确的结果..

我尝试过以下代码,其中包含许多XPath和& amp; CssSelectors。

IWebElement body = driver.FindElement(By.XPath("//span[@class='CoveoQuerySummary']"));
return (body.Text.Contains(searchTerm)); 

我总是遇到NullReferenceException错误。我踩过它,所以我知道这不是等待问题。

我尝试过这种方法,但并没有走得太远。 (我在调试时得到了相同的NullReferenceException错误。)

        IList<IWebElement> all = driver.FindElements(By.CssSelector(".CoveoResultList"));
        String[] allText = new String[all.Count];
        int i = 0;
        foreach (IWebElement element in all)
        {
            allText[i++] = element.Text;
        }

任何和所有帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

        var temp = driver.FindElement(By.ClassName("CoveoQuerySummary"), 10);
        IWebElement body = driver.FindElement(By.ClassName("CoveoResultList"));
        if (body.Text.Contains(searchtext))
            result = true;
        Assert.IsTrue(result);

以上代码对我有用(最后!!!) - 我认为我的更大问题是/正在尝试使用(并同时学习)页面对象模型。如果我将它们放在PageObject文件中,上面的'FindElement'调用总是返回NullReferenceException。我还在学习和知道这可能需要重构 - 但它确实有效。

任何提示仍然受到赞赏!