我需要断言所有的按键.有没有一种方法可以在一个测试用例中断言所有这些.我需要断言所有这些并获取文本



所以目前我基本上只断言ALT,但我确实想将所有这些断言断言为一个断言和一个测试用例,而不是创建多个断言。我必须只使用一个断言,所以我如何从它们中的每一个获得文本,并将它们全部断言到一个中

public void signUp() throws InterruptedException{

Actions act =new Actions(driver);
act.sendKeys(Keys.ENTER).build().perform();
act.sendKeys(Keys.SPACE).build().perform();
act.sendKeys(Keys.ADD).build().perform();
act.sendKeys(Keys.ALT).build().perform();


System.out.println("Actions");
WebDriverWait wait = new WebDriverWait(driver,15);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("result")));
System.out.println("works");
String test=driver.findElement(By.id("result")).getText();


Assert.assertEquals(test, "You entered: ALT");




}

肯定可以用一个断言断言多个条件,但这是因为您在一个序列中执行了几个单独的操作,所以您的流不能用单个断言断言,每个操作都可以根据"结果";元素内容,但一旦执行了新操作,上一个操作结果将不再存在
如果在不同的元素上执行这些操作,则可以同时验证所有测试操作
例如,如果有4个输入,并且您向每个输入发送了文本,则可以断言

Assert.assertTrue(input1.getText().contains(firstInputString) && input2.getText().contains(secondInputString) && input3.getText().contains(thirdInputString) && input4.getText().contains(forthInputString), "Some of cases failed");

如果我理解正确,你想让driver.findElement(By.id("result"))的文本显示按下了哪个按钮?如果我正确理解你的代码,我想你可以这样做:

public void signUp() throws InterruptedException{
private String getResultText() {
WebDriverWait wait = new WebDriverWait(driver,15);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("result")));
System.out.println("works");
String test=driver.findElement(By.id("result")).getText();
return test;
}
Actions act =new Actions(driver);
act.sendKeys(Keys.ENTER).build().perform();
String enterTest = getResultText();
act.sendKeys(Keys.SPACE).build().perform();
String spaceTest = getResultText();
act.sendKeys(Keys.ADD).build().perform();
String addTest = getResultText();
act.sendKeys(Keys.ALT).build().perform();
String altTest = getResultText();
Assert.assertEquals([enterTest, spaceTest, addTest, altTest], ["You entered: ENTER", "You entered: SPACE", "You entered: ADD", "You entered: ALT"], "Your failure message");

相关内容

最新更新