実際の結果が固定率であるテストシナリオがあります。例えば135.68%ですが、実際の結果と期待される結果を比較したい例えば130.00〜136.00の範囲にある。実際の結果が130.00から136.00の範囲にある場合、テストは合格です。それ以外の場合、テストは失敗します。Selenium Web Driver - Java - TestNG - Assert.assertEquals実際の結果を予想結果の範囲と比較する方法
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileInputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import jxl.Sheet;
import jxl.Workbook;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.Select;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.testng.asserts.Assertion;
import org.testng.asserts.SoftAssert;
@Test
public class TC20042 extends BaseClass{
private SoftAssert m_assert = new SoftAssert();
public void registration() throws Exception, InterruptedException {
FileInputStream fi=new FileInputStream("C:\\File\\Book2.xls");
Workbook w=Workbook.getWorkbook(fi);
Sheet s=w.getSheet(2);
try
{
for (int i = 0; i < s.getRows(); i++)
{
//Read data from excel sheet
String s1 = s.getCell(0,i).getContents();
String xPath = "//*[@id='mainForm']/div/div[3]/div/div/table/tbody/tr[1]/td[6]";
String text = driver.findElement(By.xpath(xPath)).getText();
double percentage = Double.parseDouble(text);
assertThat(percentage).isBetween(130.0, 136.0);
private Object assertThat(double percentage) {
// TODO Auto-generated method stub
return null;
}
}
}
catch(Exception e)
{
System.out.println(e);
}
}
}
はない 'driver.findElement(By.xpath(" // * [ID @ = 'アプリ-バナー']/div [1]/div/h2 "))。getText()'は135.68%を返しますか? – Shahid
テキストをdoubleと 'assertTrue(130.0 <=実際の&&実際の<= 136.0)'として解析してみませんか? – beatngu13
YesShahid - driver.findElement(By.xpath( "// * [@ * id = 'app-banner']&#47; div [1]/div 7; h2"))。getText()は、 135.68% – Curious