Jacobvu84 / selenium-vietnam-training-course

Questions Tracking
7 stars 5 forks source link

lỗi trên firefox 53 gecko 0.18.0 #36

Closed NTHang closed 6 years ago

NTHang commented 6 years ago

Hi all, Em đang không hiểu lỗi này khi chạy trên firefox package testdemo;

import java.awt.image.BufferedImage; import java.awt.image.DataBuffer; //import java.awt.image.RenderedImage; import java.io.File; import java.io.IOException; import java.util.concurrent.TimeUnit; import javax.imageio.ImageIO; import org.apache.commons.io.FileUtils; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; //import org.openqa.selenium.chrome.ChromeDriver; import org.testng.Assert; import org.testng.annotations.AfterSuite; import org.testng.annotations.BeforeSuite; import org.testng.annotations.Test;

public class ImageComparison {

 public WebDriver driver;
 private String baseUrl;

 @BeforeSuite
 public void setUp() throws Exception {
        driver = new FirefoxDriver();
        //driver = new ChromeDriver();
    baseUrl = "http://store.demoqa.com/products-page/your-account/";

// driver.manage().window().maximize(); // Em không hiểu vì sao có dòng này không chạy được trên firefox luôn-> không load nổi trang lên

    driver.navigate().to(baseUrl);
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);      
 }

 @AfterSuite
 public void tearDown() throws Exception {
    driver.quit();    
 }

 @Test
 public void testImageComparison() throws IOException, InterruptedException {         
    File screenshot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
    Thread.sleep(3000);
    FileUtils.copyFile(screenshot, new File("D://testOutput.png"));

    File fileInput = new File("D://test.png");
    File fileOutPut = new File("D://testOutput.png");

    BufferedImage bufferfileInput = ImageIO.read(fileInput);
    DataBuffer bufferfileInput1 = bufferfileInput.getData().getDataBuffer();
    int sizefileInput = bufferfileInput1.getSize();
    System.out.println(sizefileInput);
    BufferedImage bufferfileOutPut = ImageIO.read(fileOutPut);
    DataBuffer datafileOutPut1 = bufferfileOutPut.getData().getDataBuffer();
    int sizefileOutPut = datafileOutPut1.getSize();
    System.out.println(sizefileOutPut);
    Boolean matchFlag = true;
    if(sizefileInput == sizefileOutPut) {                         

        Assert.assertTrue(matchFlag, "Images are same");
        }

    else {                           
       matchFlag = false;
    Assert.assertTrue(matchFlag, "Images are not same");    
 }

} }

lỗi: FAILED: testImageComparison java.lang.AssertionError: Images are not same expected [true] but found [false] at org.testng.Assert.fail(Assert.java:93) at org.testng.Assert.failNotEquals(Assert.java:512) at org.testng.Assert.assertTrue(Assert.java:41) at testdemo.ImageComparison.testImageComparison(ImageComparison.java:66) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108) at org.testng.internal.Invoker.invokeMethod(Invoker.java:669) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:877) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1201) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109) at org.testng.TestRunner.privateRun(TestRunner.java:776) at org.testng.TestRunner.run(TestRunner.java:634) at org.testng.SuiteRunner.runTest(SuiteRunner.java:425) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:420) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:385) at org.testng.SuiteRunner.run(SuiteRunner.java:334) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1318) at org.testng.TestNG.runSuitesLocally(TestNG.java:1243) at org.testng.TestNG.runSuites(TestNG.java:1161) at org.testng.TestNG.run(TestNG.java:1129) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)

=============================================== Default test Tests run: 1, Failures: 1, Skips: 0

Oct 23, 2017 9:17:43 PM org.openqa.selenium.remote.ErrorCodes toStatus INFO: HTTP Status: '404' -> incorrect JSON status mapping for 'unknown error' (500 expected)

=============================================== Default suite Total tests run: 1, Failures: 1, Skips: 0 Configuration Failures: 1, Skips: 0

Jacobvu84 commented 6 years ago

// driver.manage().window().maximize(); // Em không hiểu vì sao có dòng này không chạy được trên firefox luôn-> không load nổi trang lên

Chạy thử với driver khác nếu được thì đây là issue của gecko driver. Nâng cấp lên bản mới nhất dùng xem đã được fix chưa

Các issue của gecko driver có thể theo dõi ở và đặt câu hỏi ở đây. Trước khi đặt câu hỏi nên tìm xem issue mình gặp đã được track log ở đấy chưa

https://github.com/mozilla/geckodriver/issues

Jacobvu84 commented 6 years ago

java.lang.AssertionError: Images are not same expected [true] but found [false]

Nó báo lỗi thế này thì xem lại input và output. Đây là kết quả fail của Test. không phải lỗi scripts