当前位置: 首页 > 知识库问答 >
问题:

使用Dojo ID测试Selenium WebDriver[重复]

莘光华
2023-03-14

我开发了一个自动化框架,用于测试用Dojo构建的应用程序。我遇到的困难是Dojo动态生成ID的方式。因此,ID与XPath一样不稳定。更改、添加或删除页面上的元素也会导致元素的ID更改。这导致自动化中断。我敢肯定,如果不检查每个页面上的每个元素并做一些超出我专业知识的编码,可能没有100%的解决方案。然而,我在这里要求更有经验的程序员给出你的建议,在这种情况下,获取测试元素的最佳方式是什么(破坏最少的解决方案)。现在我正在用身份证抓取它们。

共有1个答案

彭宏义
2023-03-14

定位元素的最佳方法是将绝对xpath与相对xpath结合起来。所以基本上,你要做的是,页面上不改变的容器将接收绝对xpath。然后会出现和消失的元素,会收到相对的xpath。

你能提供超文本标记语言吗?然后我可以给你一些例子。

 类似资料:
  • 在我的公司,我使用SeleniumWebDriver进行自动化测试来自动化Web应用程序,但我直接使用id、xpath和所有工具,而不遵循任何框架,因此现在我遇到了一些问题,必须设计数据驱动的框架。 请建议我如何在eclipse下设置DatadrivenFramwework。要遵循哪些步骤和所有步骤。 谢谢

  • 有没有任何一个测试REST API的使用硒网络驱动程序Maven TestNG。请分享信息或样本项目

  • 我有一组只在Visual Studio本地执行的UI测试。决定将它们集成到TFS中,并在每晚的构建中执行测试运行。 你知道我做错了什么吗?

  • 问题内容: 我想使用TestNG以特定顺序运行Selenium WebDriver(Java)测试类。 例如。我有3个类,例如Test1,Test2和Test3。我要按Test2,Test1和Test3的顺序运行。是否可以不分组? 我尝试了以下方式,但是我以其自己的顺序(字母顺序)运行。 还有其他方法吗?如果没有分组,这可能吗? 问题答案: 只需使用 preserve-order =“ true”

  • 我使用数据提供者方法和测试方法(测试方法中带有ITestContext参数)。一个简化的例子如下: 我的Retry类和RetryListener类如下: } 预期:当测试失败时,TestNG调用重试,然后数据提供程序应将相同的值返回给测试方法。 观察到:数据提供者返回相同的值,但测试方法没有运行,重试终止,下一个测试开始(数据提供者现在将返回新值) 但我的重试没有输入测试方法(测试方法不需要(in

  • 我正在使用JSFiddle对fetch API进行一些测试,但我每次都会收到CORS源块。 有没有办法绕过它?我正在获取的服务器localhost,我应该做些什么来接受JSFiddle的请求,还是有更简单的方法来完成它,而不需要接触我的服务器配置? 以下是一个示例: