我有一个页面,其中存在行数并且它是动态的。 我想验证显示1到18行的文本。 但它不应该硬编码。 它应该返回实际存在的行数。
答案 0 :(得分:0)
由于您已经提到了语言,我在C#中为您提供了一个示例,您可以执行以下操作
IWebElement location = Browser.Driver.FindElement(table locator));
ReadOnlyCollection<IWebElement> totalRow = location.FindElements(By.TagName("tr"));
将给出存在的行数
totalRowtotalRow.Count;
如果您有更多帮助,请告诉我
答案 1 :(得分:0)
以下是使用Java的类似示例:
int rowCount = 0;
rowCount = driver.findElements(By.xpath("//table/tr").size();
System.out.println("number of rows: "+rowCount);
答案 2 :(得分:0)
首先,您应该抓住显示显示1到18行的计数的WebElement,并尝试使用正则表达式从字符串中捕获数字并将其存储在变量中。
要提取数字,您可以参考 - https://stackoverflow.com/a/2367418/2482430
稍后您可以找到基于合适的XPath或CSS Locator的所有可用元素,如下所示
List<WebElement> elements = driver.findElements(By.xpath("//table//tr"));
或
List<WebElement> elements = driver.findElements(By.cssLocator("table tr"));
最后你可以做如下的Assert,
Assert.assertTrue(elements.size() == totalRowsCount);