2013-04-18 48 views
5

Tôi đang sử dụng IntelliJ IDEA 12.0.4. Có một số xét nghiệm. Khi tôi đang chạy một cách sử dụng khuôn khổ Junit4 Lỗi Assertion của tôi trông giống như:Mã hóa ký tự trong đầu ra IDEA của AssertionError

java.lang.AssertionError: Status should be: Черновик expected [true] but found [false] 

Nếu tôi đang sử dụng một TestNG cho nó trông như thế này:

java.lang.AssertionError: Status should be: Черновик expected [true] but found [false] 

Tất cả các kết quả đầu ra Cyrillic khác hoạt động tốt trên cả hai khuôn khổ, chỉ văn bản xác nhận sẽ không.

Mã hóa tệp dự án được đặt thành UTF-8.

Cập nhật: Ví dụ kiểm tra WebDriver đơn giản. Tôi sử dụng TestNG và IE.

import org.testng.Assert; 
import org.testng.annotations.AfterSuite; 
import org.testng.annotations.BeforeSuite; 
import org.testng.annotations.DataProvider; 
import org.testng.annotations.Test; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.ie.InternetExplorerDriver; 

import java.util.concurrent.TimeUnit; 


public class SeleniumExample { 

    protected WebDriver driver; 
    protected String baseUrl; 

    @BeforeSuite 
    public void setUp() throws Exception 
    { 

     /* Local Driver */ 
     driver = new InternetExplorerDriver(); 
     baseUrl = "http://www.google.com"; 
     driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
    } 

    @DataProvider 
    public Object[][] TestData() { 
     return new Object[][]{ 
       {"Гугл"}, 
     }; 
    } 

    @Test(description = "Create_InvestProjectRequest", dataProvider = "TestData") 
    public void Test(String s) { 

     driver.get(baseUrl); 

     Assert.assertTrue(driver.getTitle().contains(s), "Ошибка"); 
    } 

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

Trong đầu ra Kết quả kiểm tra tôi thấy:

java.lang.AssertionError: РћС € РёР ± РєР ° dự kiến: true thực tế: false

Và một vấn đề rằng nếu tôi sử dụng Cyrillic trong DataProvider, sau đó trong cây Kiểm tra, tôi thấy Kiểm tra ("РћС € Р") thay vì Kiểm tra ("Гугл")

+0

Phiên bản OS/JDK/[cài đặt mã hóa] (http://blogs.jetbrains.com/idea/2013/03/use-the-utf-8-luke-file-encodings-in-intellij-idea/) ? – CrazyCoder

+0

Windows 7 x86. jdk1.7.0_17. Mã hóa được đặt thành UTF-8. Tôi cố gắng để thiết lập mã hóa VM "-Dfile.encoding = CP1251" nhưng không có gì xảy ra. – QAutomatron

+0

Vui lòng cung cấp dự án mẫu để tái sản xuất. – CrazyCoder

Trả lời

2

Đó là một số known bug sẽ được sửa trong bản cập nhật tiếp theo, nhờ dự án đã giúp chúng tôi Theo dõi nó.

Giải pháp hiện tại là chỉnh sửa .vmoptions file và thêm tùy chọn -Dfile.encoding=UTF-8.

+0

Cảm ơn. Với tùy chọn -Dfile.encoding tất cả các đầu ra hoạt động tốt. – QAutomatron