2017-04-07 6 views
0

ExtentReports는 셀 리언 자바 웹 드라이버 스크립트에서 유용하고 풍부한 HTML 테스트 보고서를 생성하는 데 사용할 수 있습니다. 나는이 셀레늄 파이썬 웹 드라이버 스크립트에서 JPype (JPype은 자바 클래스 라이브러리에 대한 전체 액세스를 허용하는 노력)을 사용하려고한다. 내 코드가Python webdriver 스크립트에서 ExtentReports를 사용하는 동안 오류가 발생했습니다.

from jpype import * 
classpath = """lib\\extentreports-2.41.2.jar;lib\\freemarker-2.3.23.jar""" 
startJVM(getDefaultJVMPath(), "-Djava.class.path=%s" % classpath) 
ExtentReports = JClass('com.relevantcodes.extentreports.ExtentReports') 
ExtentTest = JClass('com.relevantcodes.extentreports.ExtentTest') 
LogStatus = JClass('com.relevantcodes.extentreports.LogStatus') 
extent = ExtentReports("TestResult\\Test_Report.html") 
test = extent.startTest("My First Test", "Sample description") 
test.log(LogStatus.INFO, "This step shows usage of log(logStatus, details)") 
extent.endTest(test) 
extent.flush() 
shutdownJVM() 

처럼 그리고 그것이 내가 extentreports-2.41.2.jar 렌더링 기술과-2.3.23.jar를 사용하고 오류를

Traceback (most recent call last): 
File "C:\Users\test\workspace\ExtentReportsProject\ExtentReportsPackage\report.py", line 4, in <module> 
ExtentReports = JClass('com.relevantcodes.extentreports.ExtentReports') 
File "C:\Program Files\Python35\lib\site-packages\jpype1-0.6.2-py3.5-win-amd64.egg\jpype\_jclass.py", line 55, in JClass 
raise _RUNTIMEEXCEPTION.PYEXC("Class %s not found" % name) 
jpype._jexception.RuntimeExceptionPyRaisable: java.lang.RuntimeException: Class com.relevantcodes.extentreports.ExtentReports not found 

을 제공합니다. Python 3.5.1 및 Java 8 업데이트 121에 사용

아무도 도움이 될 수 있습니까?

+0

이 문제를 해결할 수있는 방법이 있습니까? – nd87tpra

답변

0

나는 대답을 얻었다. 다음 코드가 작동합니다.

from jpype import * 

classpath = """extentreports-2.40.2.jar;freemarker-2.3.23.jar""" 
startJVM(getDefaultJVMPath(), "-Djava.class.path=%s" % classpath) 
ExtentReports = JClass('com.relevantcodes.extentreports.ExtentReports') 
ExtentTest = JClass('com.relevantcodes.extentreports.ExtentTest') 
LogStatus = JClass('com.relevantcodes.extentreports.LogStatus') 
extent = ExtentReports("Test_Report.html") 

test = extent.startTest("Test Case 1", "Sample description") 
test.log(LogStatus.INFO, "This step shows usage of log(logStatus, details)") 
test.log(LogStatus.PASS, "Step Passed") 
extent.flush() 

test = extent.startTest("Test Case 2", "Sample description") 
test.log(LogStatus.INFO, "This step shows usage of log(logStatus, details)") 
test.log(LogStatus.PASS, "") 
test.log(LogStatus.FAIL, "Step Passed") 
extent.flush() 

extent.endTest(test) 
extent.flush() 
shutdownJVM()