0

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

我已经使用 XPaths 和 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;
        }

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

4

1 回答 1

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。我仍在学习并知道这可能需要重构 - 但它有效。

任何提示仍然值得赞赏!

于 2016-12-20T19:56:50.430 回答