【问题标题】:Selenium Webdriver - how to cache only exact value from getText()Selenium Webdriver - 如何仅缓存来自 getText() 的确切值
【发布时间】:2015-09-02 10:33:46
【问题描述】:

在我的@Test 中有这样一行:

String newPassword =getDriver().findElement(By.id("somethin")).getText();

它返回例如文本,例如: testuser 的密码更改为:v5ZqppuBycjZ

如何只接收最后一条通知? 如何从 getText() 中仅排除最后 12 个字符(在这种情况下使用新通行证)?

【问题讨论】:

  • 我认为“something”是一个包含新密码的文本框,正确吗?如果不是,则使用文本框的 id 来获取值。

标签: java string selenium gettext


【解决方案1】:

你可以像这样使用split method of String class

String p[] = getDriver().findElement(By.id("somethin")).getText().split(" ");
String newPassword = p[p.length-1];

上面的代码将获取文本并使用空格(“”)作为分隔符将它们拆分,并将它们放入一个字符串数组中。然后,我们可以获取数组中的最后一项,也就是相关的文本。

【讨论】:

  • 意识到子字符串可能更容易:) 解决者:getText().substring(42, 54);
  • 好的.. :) 但是,如果文本发生更改并说文本“更改为”从返回的输出中删除,您将遇到麻烦.. ;)
  • Subh 所说的......你不想像以前那样使用 substring() 。如果用户名改变长度怎么办?如果密码更改长度怎么办?您的测试将错误地失败。
猜你喜欢
  • 2011-12-21
  • 1970-01-01
  • 2014-09-08
  • 2015-11-27
  • 2012-07-22
  • 1970-01-01
  • 1970-01-01
  • 2017-01-06
  • 1970-01-01
相关资源
最近更新 更多