gpt4 book ai didi

java - Assert + Selenium 4 相对定位器

转载 作者:行者123 更新时间:2023-12-02 09:12:08 25 4
gpt4 key购买 nike

我想知道是否可以在我的断言中使用新的 Selenium 4 相对定位器。

例如类似的事情:

Assert.assertTrue("", myWonderfulLogo.above(myWonderfulNavBar));

有一种弯曲的方法可以做到这一点,但我想知道是否有更直接的方法:https://github.com/angiejones/selenium-relative-locators/blob/master/src/test/java/books/RelativeLocatorsTests.java

提前致谢!

最佳答案

如果您的目标是编写一个测试来查看您的 myWonderfulLogo 是否位于 myWonderfulNavBar 之上,那么相对定位器可以帮助您,尽管它们需要转换为 Web元素第一。所有相对定位器所做的都是进一步限制常规位置(xpath、按 id、按名称、CSS 选择器等)。

例如,如果我想查找具有特定 id 的元素,但我只想查找位于某个其他元素之上的元素(而不是搜索整个文档),相对定位器就适合这样做。

假设您的 myWonderfulLogo 具有以下 html:

<img id="logo" ... />

并且您的 myWonderfulNavBar 具有以下 html:

<nav id="nav" ... />

然后编写一个测试以确保您的 Logo 位于导航栏上方,您可以编写如下内容:

var myWonderfulLogo = driver.findElements(By.id("logo").above(By.id("nav")));
Assert.assertTrue(myWonderfulLogo.size() > 0);

如果您的 Logo 不在导航栏上方,findElements 将找不到任何元素,因此比较它是否大于 0 意味着至少找到了一个元素。希望这有助于解释事情。

值得思考的额外内容:您的测试在不同设备/屏幕尺寸上的表现如何?有了这个新的补充,测试开发人员在测试响应式网站时将有更多的考虑:)

关于java - Assert + Selenium 4 相对定位器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59314268/

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