gpt4 book ai didi

javascript - 使用 Selenium Webdriver 的 ExtJS 测试自动化

转载 作者:行者123 更新时间:2023-11-30 08:01:25 24 4
gpt4 key购买 nike

我对使用 Selenium Webdriver 自动执行 ExtJS 应用程序的测试用例有疑问。

两年前,我被要求使用 HP UFT 自动化相同的 ExtJS 应用程序。我通过为 ExtJS 组件开发自定义 UFT 插件来做到这一点。现在我被要求继续自动化,但使用 selenium webdriver 而不是 UFT。今天,我尝试了一些控件,发现 Selenium 无法使用 xpath 识别一些控件,例如 ExtJS 树节点、ExtJS 选项卡等。

当我在其中输入定位器值时,我看到 firepath 将我带到正确的控件。但是,如果我在 Java 代码中使用相同的定位器值,则会收到 Selenium 引发的 nosuchelement 异常。

这是我在列表中选择特定节点的代码。

<div>
<span class="x-tree-node-text">Circuit</span>
</div>

By.xpath("//span[contains(text(),'Circuit')])[1]") // there are two circuits like

我使用 Selenium 进行自动化的工作会很困难吗?我只学过Java。我应该学习新技术来自动化这个应用程序吗?

请告诉我。

最佳答案

ExtJS 在使用 Selenium 进行自动化方面堪称动物。我已经用 CSS 和 jquery 选择器完成了几个 ExtJS 应用程序。 Jasmine 是推荐的方法,但我没有研究它,因为我没有发现需要。如果您包含 sizzle 库,它将允许您使用非常有用的 jquery 选择器。要选择您通过 jquery 提供的元素,它将是:

$("span.x-tree-node-text:contains('Circuit')")

我在手机上,无法提供链接,但可以考虑将 sizzle 添加到您的框架中。它将极大地提高您自动化 ExtJS 的成功率。

您提供的选择器不起作用,因为您为没有 id 的 div/span 指定了 id。

我还遇到了 ExtJS 的计时问题,其中 Selenium 没有等待 dom 完成加载,然后就会崩溃。解决方案是添加对 ExpectedConditions.visibilityofElementLocated 的等待。

关于javascript - 使用 Selenium Webdriver 的 ExtJS 测试自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31864953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com