2012-10-18 254 views
1

有誰知道用於測試不同屏幕分辨率的網站的桌面應用程序?我尋找桌面應用程序的原因是因爲我想能夠測試具有內部URL的網站[當然,我想測試我的計算機上沒有的分辨率)。屏幕分辨率測試

謝謝

+0

你可以使用VirtualBox來做到這一點。您可以運行虛擬機,更改分辨率並最後拍攝屏幕截圖(沖洗並重復其他分辨率)。 – Augusto

+0

你不說你想要這個應用程序的平臺。另外,我不確定應用程序如何「測試」您沒有的解決方案。我很確定人們通常只是調整窗口大小。 (假設您的屏幕至少與您關心測試的最大分辨率一樣大)。您可以使用https://chrome.google.com/webstore/detail/window-resizer/kkelicaakdanhinjdeammmilcgefonfh等擴展程序來幫助您接着就,隨即。 –

回答

0

我有類似的問題。你可以寫JUnitSelenium測試應用程序。沒什麼大不了的,只需更改驅動程序對象的屏幕分辨率並自動打印屏幕即可。圖像文件存儲在您的項目中,以便您可以在測試後看到您網站的所有分辨率。下面是該代碼:用於設置的測試項目,進口硒和其他工作人員,你需要做的

public class TestCase1 { 

    /** 
    * 
    */ 
    private WebDriver driver; 

    private String url; 

    public TestCase1() { 
    } 

    @BeforeClass 
    public static void setUpClass() { 
    } 

    @AfterClass 
    public static void tearDownClass() { 
    } 

    @Before 
    public void setUp() { 
     // array of test urls 
     this.url = "http://www.google.com/"; 

     // ChromeDriver 
     //System.setProperty("webdriver.chrome.driver", PATH_TO_CHROMEDRIVER); 
     //driver = new ChromeDriver(); 

     driver = new FirefoxDriver(); 

     driver.get(this.url); 
    } 

    @After 
    public void tearDown() { 
     driver.quit(); 
    } 

    @Test 
    public void testResolution() { 
     driver.navigate().to(this.url); 

     String[] resulutions = { 
      "1366x768", 
      "1920x1080" 
      // add resolution 
     }; 

     for (String resulution : resulutions) { 
      String[] parts = resulution.split("x"); 

      // Screen resolution 
      Dimension screenRes = new Dimension(Integer.parseInt(parts[0]),Integer.parseInt(parts[1])); 

      // Set browser resolution 
      driver.manage().window().setSize(screenRes); 

      // little pause 
      try { 
       Thread.sleep(1000); 
      } catch (InterruptedException ex) { 
       //Logger.getLogger(TestClass.class.getName()).log(Level.SEVERE, null, ex); 
      } 

      driver.navigate().refresh(); 

      // little pause 
      try { 
       Thread.sleep(1000); 
      } catch (InterruptedException ex) { 
       //Logger.getLogger(TestClass.class.getName()).log(Level.SEVERE, null, ex); 
      } 

      this.takeScreenShot(resulution); 
     } 

    } 

    /** 
    * 
    * @param fileName 
    */ 
    private void takeScreenShot(String fileName) { 
     File screenShot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); 
     try { 
      FileUtils.copyFile(screenShot, new File(fileName + ".png")); 
     } catch (IOException ioe) { 
      throw new RuntimeException(ioe.getMessage(), ioe); 
     } 
    } 

} 

這裏是link