Java Selenium Webdriver存储和断言文本

Java Selenium Webdriver存储和断言文本,java,selenium,selenium-webdriver,methods,webdriver,Java,Selenium,Selenium Webdriver,Methods,Webdriver,我目前正试图在一个方法中存储字段的文本值,然后在另一个方法中使用以进行断言 下面是我正在使用的存储文本的方法(这可以正常工作并正确打印到控制台) 然而,我正在努力找到一种方法,然后在一个单独的方法中使用“leadPassengerName”进行断言,例如,我尝试了以下方法 protected void validateLeadPassengerName() throws Throwable { String checkText = driver.findElement(By.xpath(

我目前正试图在一个方法中存储字段的文本值,然后在另一个方法中使用以进行断言

下面是我正在使用的存储文本的方法(这可以正常工作并正确打印到控制台)

然而,我正在努力找到一种方法,然后在一个单独的方法中使用“leadPassengerName”进行断言,例如,我尝试了以下方法

protected void validateLeadPassengerName() throws Throwable {
    String checkText = driver.findElement(By.xpath("//p[contains(@data-bind, 'vm.LeadPassengerName')]")).getText();
    Assert.assertTrue("", checkText.contains(leadPassengerName));
}

我确信问题在于我存储“leadPassengerName”的方式,因为在validateLeadPassengerName方法中,它以红色显示,并显示以下错误消息“无法解析符号‘leadPassengerName’”

解决这个问题有多种方法。首先,它与selenium无关,更多的是关于编程语言中的数据流

protected string validateLeadPassengerName(string leadPassengerName) throws Throwable {
    String checkText = driver.findElement(By.xpath("//p[contains(@data-bind, 'vm.LeadPassengerName')]")).getText();
    Assert.assertTrue("", checkText.contains(leadPassengerName));
    return checkText;
}
所以当你可以调用你的函数

 String leadPassengerName = driver.findElement(By.xpath("//h3[contains(@text(), " + name + ")]")).getText();
validateLeadPassengerName(leadPassengerName)

同样,通过在类级别创建变量,可以在函数之间共享驱动程序,也可以在存储主要乘客姓名时执行相同的操作。有多种方法可以解决此问题。首先,它与selenium无关,更多的是关于编程语言中的数据流

protected string validateLeadPassengerName(string leadPassengerName) throws Throwable {
    String checkText = driver.findElement(By.xpath("//p[contains(@data-bind, 'vm.LeadPassengerName')]")).getText();
    Assert.assertTrue("", checkText.contains(leadPassengerName));
    return checkText;
}
所以当你可以调用你的函数

 String leadPassengerName = driver.findElement(By.xpath("//h3[contains(@text(), " + name + ")]")).getText();
validateLeadPassengerName(leadPassengerName)

同样,通过在类级别创建变量,您可以在函数之间共享驱动程序,您也可以在存储主要乘客姓名时执行相同的操作

,因为,请删除您的签名/谢谢/将不胜感激。话虽如此,欢迎你。既然如此,请删除你的签名/谢谢/我们将不胜感激。话虽如此,还是欢迎你。谢谢你,我唯一要补充的是,我必须把字符串leadPassengerName作为一个全局类,然后在我的方法中,我称之为leadPassengerName=…是的,有不同的方法来解决它。您应该了解哪些是推荐的做法,哪些不是。为此,我要添加的唯一一件事是,我必须将字符串leadPassengerName作为一个全局类,然后在我的方法中,我称为leadPassengerName=…是的,有不同的解决方法。你应该了解哪些是推荐练习,哪些不是。