Java if/else语句失败
我正在使用下面的Java if/else语句失败,java,selenium,selenium-webdriver,junit,Java,Selenium,Selenium Webdriver,Junit,我正在使用下面的if/else语句,但是脚本在SeleniumWebDriver中失败。这里,对于一个测试用例,if语句有效,但是对于另一个测试用例,else语句无效 if (driver.findElement(By.cssSelector("div.Tooltip__body.Tooltip__body--top")).isDisplayed()){ driver.findElement(By.cssSelector("div.Tooltip__body.Tooltip__b
if/else
语句,但是脚本在SeleniumWebDriver中失败。这里,对于一个测试用例,if
语句有效,但是对于另一个测试用例,else
语句无效
if (driver.findElement(By.cssSelector("div.Tooltip__body.Tooltip__body--top")).isDisplayed()){
driver.findElement(By.cssSelector("div.Tooltip__body.Tooltip__body--top")).click();
}
else
{
driver.findElement(By.cssSelector("div.Tooltip__body.Tooltip__body--bottom")).click();
}
如果显示元素“div.Tooltip\uuuu body.Tooltip\uuuu body--top”,我们需要单击它。如果没有,则需要单击“div.Tooltip\uuuuu body.Tooltip\uuuuuu body--bottom” 若我们使用.isDisplayed来检查元素是否显示,在任何情况下元素都不存在,它将抛出异常。这就是为什么我们需要使用try/catch来处理这个异常
try{
//if element is displayed, then click it
if (driver.findElement(By.cssSelector("div.Tooltip__body.Tooltip__body--top")).isDisplayed()==true){
driver.findElement(By.cssSelector("div.Tooltip__body.Tooltip__body--top")).click();
}
}catch(Exception e){
//exception occurred as element (top) is not available.
//so i need to click on bottom
driver.findElement(By.cssSelector("div.Tooltip__body.Tooltip__body--bottom")).click();
//if required we can collect exception : e.getMessage()
}
谢谢如果显示元素“div.Tooltip\uuuu body.Tooltip\uuu body--top”,我们需要单击它。如果没有,则需要单击“div.Tooltip\uuuuu body.Tooltip\uuuuuu body--bottom” 若我们使用.isDisplayed来检查元素是否显示,在任何情况下元素都不存在,它将抛出异常。这就是为什么我们需要使用try/catch来处理这个异常
try{
//if element is displayed, then click it
if (driver.findElement(By.cssSelector("div.Tooltip__body.Tooltip__body--top")).isDisplayed()==true){
driver.findElement(By.cssSelector("div.Tooltip__body.Tooltip__body--top")).click();
}
}catch(Exception e){
//exception occurred as element (top) is not available.
//so i need to click on bottom
driver.findElement(By.cssSelector("div.Tooltip__body.Tooltip__body--bottom")).click();
//if required we can collect exception : e.getMessage()
}
谢谢我不擅长Java,所以我会把步骤放在下面。试试看。 1.首先分别查找元素。 2.现在检查“top”是否不为null,然后显示check for,可以继续
IWebElement top= driver.findelement( put you locator top here )
IWebElement bottom = driver.findelement( put you bottom here)
if(top!=null)
{
if(top.IsDisplayed)
{
top.click()
}
}
else
{
if(bottom!=null)
{
bottom.click()
}
}
我不擅长Java,所以我把这些步骤放在后面。试试看。 1.首先分别查找元素。 2.现在检查“top”是否不为null,然后显示check for,可以继续
IWebElement top= driver.findelement( put you locator top here )
IWebElement bottom = driver.findelement( put you bottom here)
if(top!=null)
{
if(top.IsDisplayed)
{
top.click()
}
}
else
{
if(bottom!=null)
{
bottom.click()
}
}
“不起作用”是什么意思?嗨,nicomp,测试用例失败了。当测试用例失败时,除了在单击时收到的所需元素之外,您不断言其他元素吗?或者,测试用例返回了什么错误?什么是“不工作”意思?嗨,nicomp,测试用例失败了。当测试用例失败时,您断言除了所需的元素之外,没有其他元素收到了单击?或者返回了什么错误测试用例?嗨,Leon,我可以在catch()上看到错误。表示预期的参数。你能帮我一把吗?请再试一次。这已经很好了,试着看看你写的cssSelector是否正确。我再次检查了leon,cssSelector是正确的,但是在你给出的代码中,我可以看到catch()行上有错误,这表示需要参数。什么样的异常不可见/不可单击?(你能写元素标签吗?)你能点击上面提到的问题的链接吗。表示预期的参数。你能帮我一把吗?请再试一次。这已经很好了,试着看看你写的cssSelector是否正确。我再次检查了leon,cssSelector是正确的,但是在你给出的代码中,我可以看到catch()行上有错误,这表示需要参数。什么样的异常不可见/不可单击?(你能写元素标签吗?)你能点击上面提到的问题的链接吗