硒列表排序顺序比较C#

时间:2018-11-05 03:25:42

标签: c# selenium

我有一个典型的网页,其中包含要过滤的复选框,然后有一个下拉列表,按从低到高和从高到低的顺序进行排序。下面的列表/ xpath代码返回25个价格不同的元素。

我想做的是断言,当我从低到高选择排序选项时,我的价格应该看起来像$ 10,$ 10,$ 12,$ 15等。我在这里的下一步是什么?自从我使用list以来,已经有一段时间了,我的想法正在空白。

我认为我上次使用了Linq,对结果进行了排序并进行了比较,但是经过3个小时的观察,我已经死了。

建议?

        public List<string> GetInitialSortByPrice ()
        {
        List<String> item = new List<string>();
        IReadOnlyList<IWebElement> cells = 
        Browser.FindElements_byXpath("//h4[@class='price']");
        foreach (IWebElement cell in cells)
        {
            item.Add(cell.Text);
        }
        return item;
        }

解决方案......

            List<String> item = new List<string>();
            IReadOnlyList<IWebElement> cells = 
            Browser.FindElements_byXpath("//h4[@class='price']");
            foreach (IWebElement cell in cells)
            {
                item.Add(cell.Text.Replace("$", ""));
            }
            List<decimal> listA = item.Select(s => 
            decimal.Parse(s)).ToList();
            List<decimal> listB = listA.OrderBy(x => x).ToList();

            Assert.IsTrue(listA.SequenceEqual(listB));

这是降序排列的:

            List<decimal> listB = listA.OrderByDescending(i => i).ToList();

0 个答案:

没有答案