win32 app 테스트를위한 간단한 테스트 케이스가 있습니다. Selenium Library를 통해 앱을 닫으려고합니다. 요점은 Xpath를 사용하여 수행하는 것입니다. 그것은 로봇의 파일입니다 :WebDriverException : 메시지 : '/? /?/button [@ accessiblename ='닫기 ']'토큰이 유효하지 않습니다.
*** Settings ***
Library Process
Suite Teardown Terminate All Processes kill=True
*** TestCases ***
StartGui
start_gui
Click Element id=btnManualRequest
Click Element xpath=/form[@wpfnative='True' and @title='MEV 2.7.60' and @processname='MEV.Gui']/?/?/button[@accessiblename='Close']
*** Keywords ***
start_gui
Start process C:\\test\\robot\\Winium.Desktop.Driver\\Winium.Desktop.Driver.exe shell=no alias=first
Import Library Selenium2Library
${winium_host}= Set Variable localhost
${winium_port}= Set Variable 9999
${capabilities}= Create Dictionary app=C:\\test\\app\\MEV.Gui.exe
Create Webdriver Remote command_executor=http://${winium_host}:${winium_port} desired_capabilities=${capabilities}
sleep 8
나는이 메시지를 받았습니다 :
WebDriverException: Message: '/form[@wpfnative='True' and @title='MEV 2.7.60' and @processname='MEV.Gui']/?/?/button[@accessiblename='Close']' has an invalid token.
어쩌면 나는 장님하지만 실수입니다 내가 이해하지, 왜 내가 XPath를 가진 요소에 도달 할 수 있습니다.
업데이트 : 그냥 calc.exe를 매우 간단한 테스트 케이스를 만들 :
*** Settings ***
Library Process
Library Selenium2Library
Suite Teardown Terminate All Processes kill=True
*** TestCases ***
calcStartStop
Start process C:\\test\\robot\\Winium.Desktop.Driver\\Winium.Desktop.Driver.exe shell=no alias=first
${winium_host}= Set Variable localhost
${winium_port}= Set Variable 9999
${capabilities}= Create Dictionary app=C:\\Windows\\System32\\calc.exe
Create Webdriver Remote command_executor=http://${winium_host}:${winium_port} desired_capabilities=${capabilities}
Click Element xpath=//form[@processname='calc' and @class='CalcFrame' and @instance='1']/?/?/button[@accessiblename='Close']
같은 대답 :
calcStartStop | FAIL |
WebDriverException: Message: '//form[@processname='calc' and @class='CalcFrame
and @instance='1']/?/?/button[@accessiblename='Close']' has an invalid token.
나는 문제가 내가 잘못 XPath를 얻을 생각합니다. 누군가 win32 앱을위한 올바른 xpath를 얻는 방법을 알고 있습니까?
왜 'Import Library Selenium2Library'를하고 있으며 파일의 맨 위에 있지 않은 이유는 무엇입니까? – Goralight
@Goralight 결과가 중요합니까? –
'XPath'에서'/? /? /'는 무엇입니까? '/ */* /'을 의미합니까? – Andersson