首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"verifyTextPresent“在我用Java运行代码时给了我一个错误的结果

"verifyTextPresent“在我用Java运行代码时给了我一个错误的结果
EN

Stack Overflow用户
提问于 2013-10-11 13:29:21
回答 2查看 350关注 0票数 1

我使用Selenium创建了一个记录测试,使用的命令之一是verifyTextPresent。IDE表示,如果文本被更改(这是预期的),就会出现错误。

我将记录的测试放入Eclipse并运行它,结果显示它通过了。

现在,我输入了不同的值,并且从未更改代码中的值,但eclipse说它运行良好,没有任何错误。但是当我在IDE中运行它时,它会说有错误,它突出了错误的位置。

当为verifyTextPresent输入不同的值时,它为什么不会在Eclipse上失败呢?

这是我使用的代码;

代码语言:javascript
复制
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时,它表示它通过时没有出现错误。

有谁能解释一下,帮我找个解决办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-14 10:00:10

我注意到您尝试过只使用verifyTrue提供不正确的值,这实际上不会失败-- step...You可以为此目的使用assertTrue

verifyTrue

  • 是SeleneseTestCase类的一部分,并且是SeleniumAPI。
  • 将不会失败调用VerifyTrue的测试步骤。
  • 可以将verifyTrue包含在如下条件下: (verifyTrue( sel.isTextPresent(“文本到搜索”)){.}

assertTrue

  • 部分JUnit API
  • 如果断言失败,则测试步骤将失败。
  • 不能包含在任何其他命令中。
票数 1
EN

Stack Overflow用户

发布于 2013-10-22 11:57:54

我发现了如何使测试在eclipse上运行时失败。在testMarvinDataTest方法中,将checkForVerificationErrors()方法放在底部。测试失败,并显示一个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19319427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档