【问题标题】:How to verify/compare 2 values in Selenium?如何验证/比较 Selenium 中的 2 个值?
【发布时间】:2019-09-17 14:55:58
【问题描述】:
  1. 我有一个包含一些字符串值的输入文件。让我们说字符串之一。
  2. 在网页上,我正在识别 Web 元素并将其值作为字符串获取。让我们说第二个字符串。
    String one = "abc" //Value from input file.
    String two = "USabc" // Value from identifying a web element.

我必须比较这两个字符串,我的测试用例是字符串二应该包含“US”以及字符串一的内容是“abc”

我该怎么做?

另外,如果我在一个脚本中有多个输入和多个输出,那么最好的方法是什么?

【问题讨论】:

  • 听起来你应该使用 .contains() 方法。 If(two.contains(one) && two.contains("US){}
  • 您可以定义函数,您可以在其中传递两个变量。一个作为输入字符串,另一个作为 xpath 字符串,在函数块内,您可以写下元素的代码,然后与上述分辨率进行比较。如果您可以提供更多信息 OP 可以为您提供最佳解决方案。

标签: java string selenium hashmap webdriver


【解决方案1】:

要比较变量 one 中的文本和变量 two 中的文本 US 的存在情况,您可以使用以下命令解决方案:

if(two.contains(one) && two.contains("US"))
    System.out.println("Comparision successful");
else
    System.out.println("Comparision unsuccessful");

【讨论】:

    【解决方案2】:

    Selenium 断言是使用Assert 比较两个值的最佳方式。

    断言验证应用程序的状态是否与我们预期的相同。 Selenium 断言可以有三种类型:“assert”、“verify”和“waitFor”。当“断言”失败时,测试中止。当“验证”失败时,测试将继续执行,记录失败。 可在

    import org.testng.Assert;
    

    并执行

    Assert.assertEquals("one","two");
    

    如果您不希望您的测试在特定断言处失败并希望继续到最后然后断言,您可以使用SoftAsserts

    您可以在此处阅读更多相关信息 https://www.seleniumeasy.com/testng-tutorials/soft-asserts-in-testng-example

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-12
      • 2019-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-13
      相关资源
      最近更新 更多