首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >寻找用于验证html片段的API/工具

寻找用于验证html片段的API/工具
EN

Stack Exchange QA用户
提问于 2014-12-01 16:16:27
回答 2查看 105关注 0票数 2

我们的UI设计人员想要验证他们指定的HTML是否应该出现在页面上,实际上是.jsp生成的页面。他们需要指定一组特定的HTML节点,其规则为“此节点集显示1-3次”,此节点集必须出现“此节点必须包含这些固定属性和这些可变属性”。每个规则将有一个测试案例,在一个页面上有多达100个测试案例。

我已经使用Java中的Selenium自动导航到了有关的页面。在页面上,是否有一个很好的Java或自动化工具来执行这些类型的基于规则的DOM验证?

我考虑的另一种方法是为每个预期结果编写一个xpath表达式。我担心的是它们可能很难读懂。另外,我想将这些规则的创建交给UI开发人员,我不知道他们是否能够(很容易)在xpath中创建它们。

EN

回答 2

Stack Exchange QA用户

发布于 2015-05-01 18:51:27

下面是Java解决方案的草图:

代码语言:javascript
运行
复制
List<WebElement> list = driver.findElements(By.xpath("//*[contains(text(),'" + text + "')]"));
verifyThat(list.size(), both(greaterThanOrEqualTo(1).and(lessThanOrEqualTo(3)));

在我使用的地方:

  • 获取匹配节点列表的标准WebDriver方法
  • verifyThat,与assertThat相反,它是一个软断言:它不会在第一个失败之后终止测试,而是会报告页面失败的所有表达式。
  • Hamcrest matchers允许您编写更复杂的断言(例如“此节点集出现1-3次”),并提供改进的故障报告。

注意,您的UI开发人员可以通过Inspect element -> Copy XPath为选定的元素创建带有Chrome的->表达式。但是,自动生成的表达式可能很难阅读,但是您需要运行小型可用性实验室来理解这一点。

我不认为使用Selenium是最快的解决方案,但是您已经在使用Selenium,您可以使用Selenium访问应用程序和页面状态,因此这是最简单的解决方案。如果您需要更快的解决方案,则需要直接在HTTP和HTML级别上工作,例如使用RestAssured框架。

票数 1
EN

Stack Exchange QA用户

发布于 2014-12-02 09:18:30

我认为您可以使用Apache JMeter作为工具,它就像断言一样

  • 响应断言
  • 超文本标记语言断言
  • XPath断言

处理你的支票。

JMeter是一种基于协议的工具,因此它能够比Selenium更快地处理您的用例,此外,您还可以使用命令行无头模式、Ant、Maven、Jenkins插件或其他方式运行您的测试。

有关如何处理JMeter断言的更多信息,请参见如何在三个简单的步骤中使用JMeter断言指南。

票数 0
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/10431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档