Java Selenium在作为套件运行测试时未找到元素

Java Selenium在作为套件运行测试时未找到元素,java,selenium,testing,Java,Selenium,Testing,当我以团队的形式运行硒元素时,我遇到了一个奇怪的问题。 让我更详细地描述我的问题。当我从ide运行一个测试时,一切都正常。但当我试着把它们作为一个组运行时,第一个测试总是通过,但之后测试就失败了。在每个测试中,我都会找到并单击相同的按钮。xPath没有问题,因为在chrome控制台中找到了元素。 每次测试后,我都有一个方法,就是将网站返回到主位置。 Ach和我正在测试的元素位于iFrame中 让我复制粘贴一些示例代码 Api类别: public class SiteImpl implemets

当我以团队的形式运行硒元素时,我遇到了一个奇怪的问题。 让我更详细地描述我的问题。当我从ide运行一个测试时,一切都正常。但当我试着把它们作为一个组运行时,第一个测试总是通过,但之后测试就失败了。在每个测试中,我都会找到并单击相同的按钮。xPath没有问题,因为在chrome控制台中找到了元素。 每次测试后,我都有一个方法,就是将网站返回到主位置。 Ach和我正在测试的元素位于
iFrame

让我复制粘贴一些示例代码

Api类别:

public class SiteImpl implemets BasicSite {
.
.
.
static {
    swtichToTestedFrame();
}

private SiteImpl() {};

public static SiteImpl get() {
    return new SiteImpl ();
}

@Override
public void clickCreateButton() {
    Utils.findElementByXpathAndParam(XPath.DIV_TITLE_XPATH, BUTTON_TITLE).orElseThrow(
            () -> new NoSuchElementException("Create button does not exist")).click();
}

private static void swtichToTestedFrame() {
    WebElement iFrameElement = Utils.findElementByXpath(XPath.IFRAME_XPATH).orElseThrow(() -> new NoSuchElementException("iFrame does not exist"));
    XdmWebDriver.getWebDriver().switchTo().frame(iFrameElement);
}
}
假设所有的测试都是这样的,正如我前面提到的,只有第一个测试通过了。事件,如果所有事件都相同

 @Test
 public void test() {
   ExportManagerImpl.get().clickCreateTask();
 }
显然有前后两种方法。代码明显简化了

org.openqa.selenium.NoSuchElementException: Create button does not exist
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'
System info: host: 'xxxx', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_162'
Driver info: driver.version: unknown

我建议您在构造函数中调用
swtichtotesdframe()
,而不是静态块


请提供您是如何将测试分组的,以及完整的@Before和@Test文件。这将有助于我更好地理解它。

我建议您在构造函数处调用
swtichtotesdframe()
,而不是静态块


请提供您是如何将测试分组的,以及完整的@Before和@Test文件。这将有助于我更好地理解它。

以组方式运行时也提供控制台错误以组方式运行时也提供控制台错误似乎问题出在静态块上,我确实尝试将此代码放入构造函数中,并更改了方法的一点实现,所有我认为问题出在静态块上我试着把这段代码放到构造函数中,并对方法的实现做了一点修改,我所做的一切都没问题