Selenium:是什么导致FindElement什么都没带回来?

时间:2017-01-13 22:35:34

标签: c# selenium assert

我很好奇是什么会导致FindElement方法无法返回任何内容(非null),即使该页面和HTML中存在该元素。每隔一段时间,当我的代码中有一个Assert.AreEqual方法时,它就会遇到这个问题。

我的断言通常如下所示:

Assert.AreEqual(stringValue, FindElement(By.XPath("<XPath path>")).Text);

错误消息回来说,FindElement以“&lt;&gt;”的形式返回,就像没有值一样。是否有可能我的脚本过快而跳过它或者是否存在其他一些强调问题。

1 个答案:

答案 0 :(得分:1)

当您的网页上的这个文字实际上没有存储为innerHTML时,可能会发生这种情况,它可能位于您元素的@RunWith(PowerMockRunner.class) @PrepareForTest(SmokeRouteBuilder.class) public class SmokeRouteBuilderTest { @Test public void testSmokeMessageId_exception() throws UnknownHostException { UUID id = UUID.randomUUID(); mockStatic(InetAddress.class); mockStatic(UUID.class); when(InetAddress.getLocalHost()).thenThrow(UnknownHostException.class); when(UUID.randomUUID()).thenReturn(id); assertEquals(id.toString(), SmokeRouteBuilder.smokeMessageId()); } } 属性中,当使用Text方法时,您只能获得innerHTML,因此它看起来像是&#39;空了。 尝试使用GetAttribute,检查您的元素以找到它如何存储此文本。

希望我能正确理解你的问题。 :d