我使用Selenium创建了一个记录测试,使用的命令之一是verifyTextPresent。IDE表示,如果文本被更改(这是预期的),就会出现错误。
我将记录的测试放入Eclipse并运行它,结果显示它通过了。
现在,我输入了不同的值,并且从未更改代码中的值,但eclipse说它运行良好,没有任何错误。但是当我在IDE中运行它时,它会说有错误,它突出了错误的位置。
当为verifyTextPresent输入不同的值时,它为什么不会在Eclipse上失败呢?
这是我使用的代码;
public class MarvinDataTest extends SeleneseTestBase
{
private Selenium selenium;
private String success = "success";
@Before
public void setUp() throws Exception
{
selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://localhost:8000/");
selenium.start();
}
@Test
public void testMarvinDataTest() throws Exception
{
selenium.open("/eem/api/v1/metrics/displacement/286");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/displacement/287");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/displacement/288");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
***verifyTrue(selenium.isTextPresent("\"displacement\": 20,"));***
selenium.open("/eem/api/v1/metrics/humidity/286");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/humidity/287");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/humidity/288");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/load/286");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/load/287");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/load/288");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
***verifyTrue(selenium.isTextPresent("\"load\": 4,"));***
selenium.open("/eem/api/v1/metrics/pressure/286");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/pressure/287");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/pressure/288");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/temperature/286");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/temperature/287");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/temperature/288");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
verifyTrue(selenium.isTextPresent("\"temperature\": 17"));
selenium.open("/eem/api/v1/metrics/vibration/286");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/vibration/287");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
selenium.open("/eem/api/v1/metrics/vibration/288");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
***verifyTrue(selenium.isTextPresent("\"vibration\": 4"));***
selenium.open("/eem/api/v1/metrics");
assertEquals("", selenium.getTitle());
verifyTrue(selenium.isTextPresent("success"));
verifyTrue(selenium.isTextPresent("mm"));
verifyTrue(selenium.isTextPresent("%"));
verifyTrue(selenium.isTextPresent("kg"));
verifyTrue(selenium.isTextPresent("N/m"));
verifyTrue(selenium.isTextPresent("C"));
verifyTrue(selenium.isTextPresent("G"));
selenium.addScript("", "");
}
@After
public void tearDown() throws Exception
{
selenium.stop();
}
}带有星号的行中有错误的数据,应该显示为假的。它在使用IDE时显示了一个错误,但在使用Eclipse时,它表示它通过时没有出现错误。
有谁能解释一下,帮我找个解决办法吗?
发布于 2013-10-14 10:00:10
我注意到您尝试过只使用verifyTrue提供不正确的值,这实际上不会失败-- step...You可以为此目的使用assertTrue。
verifyTrue
assertTrue
发布于 2013-10-22 11:57:54
我发现了如何使测试在eclipse上运行时失败。在testMarvinDataTest方法中,将checkForVerificationErrors()方法放在底部。测试失败,并显示一个错误。
https://stackoverflow.com/questions/19319427
复制相似问题