需要使用 selenium Java 验证带有多个随机字符串的错误消息

Posted

技术标签:

【中文标题】需要使用 selenium Java 验证带有多个随机字符串的错误消息【英文标题】:Need to validate an error message with multiple random strings using selenium Java 【发布时间】:2019-11-23 12:58:24 【问题描述】:

我必须验证为 10 个字段填充的错误消息,错误消息中将一起提到 10 个字段名称。

示例:

Error message:10 fields got over lapped and 10 field names are ac, bc, dc..

能否请您帮我编写逻辑来验证包含所有随机字符串的错误消息。

需要将所有字符串值传递给创建字符串以比较错误消息。

 Map<String,String> m =  arg1.asMap(String.class,String.class);
        System.out.println("\nFilling form with below data\n");
        for( String fieldname : m.keySet())
        
//Need to pass this field name to the error message and the error message may have multiple fieldnames//

            System.out.println("Key -> " + fieldnames + " Value -> " + m.get(fieldnames));
        
    

【问题讨论】:

【参考方案1】:

您可以获得以下键和值,here 是如何使用MapEntrySet 的一个很好的答案:

Map<String,String> map =  arg1.asMap(String.class,String.class);
for (Entry<String, String> entry : map.entrySet()) 
    System.out.println(entry.getKey() + "=" + entry.getValue());

输出:

key1=value1
key2=value2
.
.
.

作为对如何断言它们的问题的回答:

   List<String> fieldNames = new ArrayList<String>();
   Map<String,String> map =  arg1.asMap(String.class,String.class);
   int i = 0;
    for (Entry<String, String> entry : map.entrySet()) 
        System.out.println(entry.getKey() + "=" + entry.getValue());
        fieldName.add(entry.getKey());
        i++;
    
    Assert.assertEquals(errorMessage, "Error message:" + i + "fields got over lapped and" +  i + "field names are" +  fieldName.toString() );

【讨论】:

以上是关于需要使用 selenium Java 验证带有多个随机字符串的错误消息的主要内容,如果未能解决你的问题,请参考以下文章

带有 Yandex 的 Java Selenium WebDriver

Selenium实战滑动验证码破解JAVA爬虫

Selenium实战滑动验证码破解JAVA爬虫

在 Selenium 中需要验证搜索结果 [关闭]

selenium java 怎么写验证

Selenium 和 xpath:找到一个带有类/ID 的 div 并验证里面的文本