如果 (!string.equals.string) 似乎一直在运行,不仅当它不等于



在运行我的代码时,我遇到过 ! 在语句之前有否定或相反的语句。在这种情况下,如果---此字符串不等于此字符串。

我尝试更改字符串中的第二个值,它每次都会更正它,但我观察我的测试,这些值是正确的,它仍然可以运行。我一直想知道为什么,因为我在继续前进之前需要这个作为检查,而硒 5-10% 的时间输入该领域的速度太快了。这就是我实施此检查的原因。

driver.findElement(By.id("inputcardNumberField")).sendKeys("41111111111111111");
WebElement visa = driver.findElement(By.id("inputcardNumberField"));
String visa2 = visa.getText();
Thread.sleep(2000);
if (!visa2.equals("4111111111111111")) {                     
driver.findElement(By.id("inputcardNumberField")).clear();    
driver.findElement(By.id("inputcardNumberField")).sendKeys("4111111111111111"); 
}

如果Selenium填充inputcardNumberField的速度太快,并且整个卡#不存在......它应该清除并重新输入它。

如果存在正确的卡#,则不必重新输入它。它现在每次都重新输入它

看起来我缺少 get 属性值——它应该是这样的:

driver.findElement(By.id("inputcardNumberField")).sendKeys("4111111111111111");
WebElement visa = driver.findElement(By.id("inputcardNumberField"));
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
String value = driver.findElement(By.id("inputcardNumberField")).getAttribute("value");         
Thread.sleep(2000);
if (!visa2.equals("4111111111111111")) {
driver.findElement(By.id("inputcardNumberField")).clear();           
driver.findElement(By.id("inputcardNumberField")).sendKeys("4111111111111111"); 
}

相关内容

  • 没有找到相关文章