如何从地图中检索值

时间:2018-12-13 21:28:37

标签: java selenium-webdriver cucumber-java

我需要从映射中检索值,并将其与方法返回值进行比较。我无法获取执行断言的值。

步骤班

And("^Based on pass message changes$", (DataTable table) -> {
        Map<String,String> row=table.asMaps(String.class,String.class).get(0);
        DummyPage.getDummyPassField().setValue(row.get("Pass"));
        Assert.assertTrue(DummyPage.passStrengthMsg().contains(row.get("Message")));
    });

场景

And Based on pass message changes
  |Pass       |Message    |
  |<Pass>     |<Message>  |
Examples:
  |Pass                |Message               |
  |@password.tooLowPass|@StrengthMsg.tooLowMsg|
  |@password.avgPass   |@StrengthMsg.medMsg   |
  |@password.stgPass   |@StrengthMsg.stgMsg   |
  |@password.vsgPass   |@StrengthMsg.vsgMsg   |

传递值正确地由

传递
DummyPage.getDummyPassField().setValue(row.get("Pass"));

该方法确实返回期望值

DummyPage.passStrengthMsg()

但是从地图获取值的代码没有提供值

row.get("Message")

有人可以解释为什么这样做,以便对于row.get("Pass")有效,对于row.get("Message")无效

0 个答案:

没有答案