如何解决“元素当前不可交互且可能无法操作"以及为什么我的测试用例仍然可以通过 [英] How to resolve 'Element is not currently interactable and may not be manipulated' and why my test case still can go through

查看:84
本文介绍了如何解决“元素当前不可交互且可能无法操作"以及为什么我的测试用例仍然可以通过的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用katalon studio进行自动化测试.当我为输入文本框设置值时,日志属性中的系统提示如下错误:

无法设置对象Object Repository/Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/Page_Welcome to KAPPS Factoring Sys (1)/input_model.buyerProgramStages_10"的文本1"(根本原因:org.openqa.selenium.InvalidElementStateException: 元素状态无效:元素当前不可交互且不可操作(会话信息:chrome=65.0.3325.181)(驱动程序信息:chromedriver=2.35.528161(5b82f2d2aae0ca24b877009200ced9065a772e73),平台=Windows NT 6.1.7601 SP1 x86_64)(警告:服务器没有提供任何堆栈跟踪信息)命令持续时间或超时:0 毫秒构建信息:版本:'3.7.1',修订:'8a0099a',时间:'2017-11-06T21:07:36.161Z'系统信息:主机:'SGA1014',ip:'172.27.35.1',os.name:'Windows 7',os.arch:'amd64',os.version:'6.1',java.version:'1.8.0_102'驱动程序信息:com.kms.katalon.selenium.driver.CChromeDriver功能 {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.35.528161 (5b82f2d2aae0ca..., userDataDir: C:\Users\lixinyu\AppData\Lo..}, cssSelectorsEnabled: true, databaseEnabled: false, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP,可旋转:false,setWindowRect:true,takesHeapSnapshot:true,takesScreenshot:true,unexpectedAlertBehaviour:,unhandledPromptBehavior:,版本:65.0.3325.181,webStorageEnabled:true}会话 ID:2e27edd7304a30bc2cc431c849c9e4b7)

所以我的测试用例的状态是失败的,但是,我最终可以将值设置到文本框中.

谁能告诉我发生了什么?

我的脚本:

import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint导入静态 com.kms.katalon.core.testcase.TestCaseFactory.findTestCase导入静态 com.kms.katalon.core.testdata.TestDataFactory.findTestData导入静态 com.kms.katalon.core.testobject.ObjectRepository.findTestObject导入 com.kms.katalon.core.checkpoint.Checkpoint 作为检查点导入 com.kms.katalon.core.checkpoint.CheckpointFactory 作为 CheckpointFactory导入 com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords 作为 MobileBuiltInKeywords将 com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords 导入为 Mobile导入 com.kms.katalon.core.model.FailureHandling 作为 FailureHandling导入 com.kms.katalon.core.testcase.TestCase 作为 TestCase导入 com.kms.katalon.core.testcase.TestCaseFactory 作为 TestCaseFactory导入 com.kms.katalon.core.testdata.TestData 作为 TestData导入 com.kms.katalon.core.testdata.TestDataFactory 作为 TestDataFactory导入 com.kms.katalon.core.testobject.ObjectRepository 作为 ObjectRepository导入 com.kms.katalon.core.testobject.TestObject 作为 TestObject导入 com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords 作为 WSBuiltInKeywords导入 com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords 作为 WS导入 com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords 作为 WebUiBuiltInKeywords导入 com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords 作为 WebUI导入 internal.GlobalVariable 作为 GlobalVariable导入 org.openqa.selenium.Keys 作为 KeysWebUI.openBrowser('')WebUI.maximizeWindow()WebUI.navigateToUrl('http://sgsgaapp80:18093/dash/landing.do')WebUI.setText(findTestObject('Test BuyerProg/Page_Login to Kapps System/input_j_username'), 'lixin')WebUI.setText(findTestObject('Test BuyerProg/Page_Login to Kapps System/input_j_password'), 'kpmg@123')WebUI.click(findTestObject('Test BuyerProg/Page_Login to Kapps System/input_btnLogin'))WebUI.click(findTestObject('Test BuyerProg/Page_KPMG System/div_India'))WebUI.click(findTestObject('Test BuyerProg/Page_FactorPro - 欢迎使用 KAPPS F/td_function changeRequestLocal'))WebUI.click(findTestObject('Test BuyerProg/Page_FactorPro - 欢迎来到 KAPPS F/a_SUPPLIER FINANCE'))WebUI.click(findTestObject('Test BuyerProg/Page_FactorPro - 欢迎使用 KAPPS F/a_Static Entry'))WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/div_hitarea expandable-hitarea'))WebUI.click(findTestObject('Object Repository/Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/Page_Welcome to KAPPS Factoring Sys/li_Buyer Program Entry'))//WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/a_Buyer Program Entry'))WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_(ALL) 0AUTOBUY00 - 0'),'0AUTOBUY00',真)WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_(ALL) DB1 - DOM-Supp'),'DB4',真)WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_form_2'))WebUI.doubleClick(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.amo'))WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.amo'), 'Kevin Ng')WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerLimitID'), '9437523122C')WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.financeStage'))WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.financeStage_1'))WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.financeStage_2'))WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.financeStage_2'))WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/a_Indicators'))WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_Daily Weekly Mont'),'W',真)WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.autoDebit'))WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.autoDebit_1'))WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_form_0'))WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_FIXED-TIER RATE'), 'M0',真的)WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages'), '5')WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_0 SBR (HKD) 1 USD LI'),'9',真)WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_1'), '2')WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_2'), '30')WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_Document Date Financ'),'SFP001',真)WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_3'), '20')WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_4'))WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/a_Pre-acceptance'))WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_FIXED-TIER RATE_1'),'M0',真)WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages'), '2')WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_5'), '2')WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_0 SBR (HKD) 1 USD LI_1'),'9',真)WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_6'), '1')WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_7'), '35')WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_Document Date Financ_1'),'SFP002',真)WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_8'), '5')WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_9'))WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_stage_0'))WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_confirm_0'))WebUI.waitForPageLoad(4)String makerRef = new String()makerRef = WebUI.getText(findTestObject('random/Page_Welcome to KAPPS Factoring Sys/span_Maker-Checker Ref 201712'))println(('Required Maker Checker Reference 应该如下' + '\n') + makerRef)String ref = makerRef.substring(20)println(makerRef.substring(20))WebUI.click(findTestObject('Test1_OR/Page_Welcome to KAPPS Factoring Sys/button_Logout'))WebUI.closeBrowser(FailureHandling.CONTINUE_ON_FAILURE)WebUI.callTestCase(findTestCase('SF 18093/checker-SF general'), [('makerReference') : ref], FailureHandling.STOP_ON_FAILURE)

我用于 stageform 页面的 html:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags"%><%@ taglib prefix="k" uri="/extended-struts-tags"%><s:if test="%{model.csptProg!=null}"><s:url id="displayheader"action="/WEB-INF/pages/factorpro/_static/entry/buyerprogram/common/displayheader.jsp"/><s:包括value="/WEB-INF/pages/factorpro/_static/entry/buyerprogram/common/displayheader.jsp"/><br/><div id="formDiv"><s:form action="stage" method="post"theme="kpmg_tabber"><s:url id="financestages"value="/WEB-INF/pages/factorpro/_static/entry/buyerprogram/common/form/financestages.jsp"/><s:url id="back" namespace="/createbuyerprogram" action="form"/><div class="tabber"><s:iterator value="model.buyerProgramStages" status="rowId"><div class="tabbertab"><h2><s:property value="stageName"/></h2><s:包括value="/WEB-INF/pages/factorpro/_static/entry/buyerprogram/common/form/financestages.jsp"/>

</s:迭代器><%-- <div class="tabbertab"><h2><s:property value="%{getText('indicators')}"/></h2><s:包括value="/WEB-INF/pages/factorpro/_static/entry/buyerprogram/common/form/indicators.jsp"/>

--%>

<s:if test="%{model.resubmitting}"><s:url id="owndashboard" namespace="%{dashboardnamespace}"action="%{dashboardaction}"/></s:if><s:include value="/WEB-INF/pages/common/formparts/common.jsp"/><!-- For Maker checker Resubmit --><s:include value="/WEB-INF/pages/common/workflow/resubmit-display-remarks.jsp"/><tr><k:submit type="input" align="right" value="%{getText('submit')}"onclick="isCustomSubmit('stage','stage')" colspan="4" isfirst="true"></k:提交><s:if test="%{model.resubmitting}"><k:submit type="input" align="right" value="%{getText('back')}"onclick="goto('%{owndashboard}');return false;"islast="true" colspan="4"></k:提交></s:if><s:else><k:submit value="%{getText('Previous Page')}" onclick="isBack('stage')" islast="true" colspan="4"></k:提交></s:else></tr></s:form></div></s:if><s:else><s:include value="/WEB-INF/pages/common/formparts/common.jsp"/></s:else>

解决方案

如果没有相关的代码试用和相关的HTML,就很难调试异常/错误.但是似乎存在如下问题:

这里的主要问题是您使用的二进制文件之间的版本兼容性,如下所示:

  • 您正在使用 chromedriver=2.35
  • chromedriver=2.35 的发行说明明确提到以下内容:
<块引用>

支持 Chrome v62-64

<块引用>

支持 Chrome v64-66

因此 ChromeDriver 版本 (v2.35) 和 Chrome 浏览器 版本 (v65.0)

解决方案

  • ChromeDriver 升级到当前的 ChromeDriverv2.37 级别.
  • Chrome 版本保持在 Chrome v65.x 级别.(根据 ChromeDriver v2.37 发行说明)
  • 清理您的项目工作区通过您的 IDE重建您的项目,仅使用所需的依赖项.
  • 使用 CCleaner 工具清除所有操作系统琐事之前和在执行您的测试套件之后.
  • 如果您的基本Web Client 版本太旧,请通过卸载它Revo Uninstaller 并安装 Web Client 的最新 GA 和发布版本.
  • 进行系统重启.
  • 执行您的@Test.

你是如何逃脱的

尽管您遇到了 org.openqa.selenium.InvalidElementStateException 并且您的测试将被中止 KATALON STUDIO 设法使会话保持活跃,您就完成了.

Hi ,I'm doing automation test using katalon studio.while I was set value for the input text box, the system prompt error below in log properties:

Unable to set text '1' of object 'Object Repository/Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/Page_Welcome to KAPPS Factoring Sys (1)/input_model.buyerProgramStages_10' (Root cause: org.openqa.selenium.InvalidElementStateException: invalid element state: Element is not currently interactable and may not be manipulated
  (Session info: chrome=65.0.3325.181)
  (Driver info: chromedriver=2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73),platform=Windows NT 6.1.7601 SP1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:36.161Z'
System info: host: 'SGA1014', ip: '172.27.35.1', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_102'
Driver info: com.kms.katalon.selenium.driver.CChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.35.528161 (5b82f2d2aae0ca..., userDataDir: C:\Users\lixinyu\AppData\Lo...}, cssSelectorsEnabled: true, databaseEnabled: false, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version: 65.0.3325.181, webStorageEnabled: true}
Session ID: 2e27edd7304a30bc2cc431c849c9e4b7)

So the status of my test case is failed,however, m able to set value into the textbox in the end.

Can someone tell me what happened?

My Script :

import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.checkpoint.CheckpointFactory as CheckpointFactory
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as MobileBuiltInKeywords
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testcase.TestCaseFactory as TestCaseFactory
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testdata.TestDataFactory as TestDataFactory
import com.kms.katalon.core.testobject.ObjectRepository as ObjectRepository
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WSBuiltInKeywords
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUiBuiltInKeywords
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.Keys as Keys

WebUI.openBrowser('')

WebUI.maximizeWindow()

WebUI.navigateToUrl('http://sgsgaapp80:18093/dash/landing.do')

WebUI.setText(findTestObject('Test BuyerProg/Page_Login to Kapps System/input_j_username'), 'lixin')

WebUI.setText(findTestObject('Test BuyerProg/Page_Login to Kapps System/input_j_password'), 'kpmg@123')

WebUI.click(findTestObject('Test BuyerProg/Page_Login to Kapps System/input_btnLogin'))

WebUI.click(findTestObject('Test BuyerProg/Page_KPMG System/div_India'))

WebUI.click(findTestObject('Test BuyerProg/Page_FactorPro - Welcome to KAPPS F/td_function changeRequestLocal'))

WebUI.click(findTestObject('Test BuyerProg/Page_FactorPro - Welcome to KAPPS F/a_SUPPLIER FINANCE'))

WebUI.click(findTestObject('Test BuyerProg/Page_FactorPro - Welcome to KAPPS F/a_Static Entry'))

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/div_hitarea expandable-hitarea'))

WebUI.click(findTestObject('Object Repository/Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/Page_Welcome to KAPPS Factoring Sys/li_Buyer Program Entry'))

// WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/a_Buyer Program Entry'))
WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_(ALL)    0AUTOBUY00 - 0'), 
    '0AUTOBUY00', true)

WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_(ALL)    DB1 - DOM-Supp'), 
    'DB4', true)

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_form_2'))

WebUI.doubleClick(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.amo'))

WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.amo'), 'Kevin Ng')

WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerLimitID'), '9437523122C')

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.financeStage'))

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.financeStage_1'))

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.financeStage_2'))

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.financeStage_2'))

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/a_Indicators'))

WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_Daily    Weekly    Mont'), 
    'W', true)

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.autoDebit'))

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.autoDebit_1'))

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_form_0'))

WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_FIXED-TIER RATE'), 'M0', 
    true)

WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages'), '5')

WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_0 SBR (HKD)    1 USD LI'), 
    '9', true)

WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_1'), '2')

WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_2'), '30')

WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_Document Date    Financ'), 
    'SFP001', true)

WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_3'), '20')

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_4'))

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/a_Pre-acceptance'))

WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_FIXED-TIER RATE_1'), 
    'M0', true)

WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages'), '2')

WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_5'), '2')

WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_0 SBR (HKD)    1 USD LI_1'), 
    '9', true)

WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_6'), '1')

WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_7'), '35')

WebUI.selectOptionByValue(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/select_Document Date    Financ_1'), 
    'SFP002', true)

WebUI.setText(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_8'), '5')

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_model.buyerProgramStages_9'))

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_stage_0'))

WebUI.click(findTestObject('Test BuyerProg/Page_Welcome to KAPPS Factoring Sys/input_confirm_0'))

WebUI.waitForPageLoad(4)

String makerRef = new String()

makerRef = WebUI.getText(findTestObject('random/Page_Welcome to KAPPS Factoring Sys/span_Maker-Checker Ref  201712'))

println(('Required Maker Checker Reference should be as follows' + '\n') + makerRef)

String ref = makerRef.substring(20)

println(makerRef.substring(20))

WebUI.click(findTestObject('Test1_OR/Page_Welcome to KAPPS Factoring Sys/button_Logout'))

WebUI.closeBrowser(FailureHandling.CONTINUE_ON_FAILURE)

WebUI.callTestCase(findTestCase('SF 18093/checker-SF general'), [('makerReference') : ref], FailureHandling.STOP_ON_FAILURE)

My html for the stageform page:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="k" uri="/extended-struts-tags"%>

<s:if test="%{model.csptProg!=null}">
    <s:url id="displayheader"
        action="/WEB-INF/pages/factorpro/_static/entry/buyerprogram/common/displayheader.jsp" />
    <s:include
        value="/WEB-INF/pages/factorpro/_static/entry/buyerprogram/common/displayheader.jsp" />
    <br />

    <div id="formDiv"><s:form action="stage" method="post"theme="kpmg_tabber">

        <s:url id="financestages"
            value="/WEB-INF/pages/factorpro/_static/entry/buyerprogram/common/form/financestages.jsp" />


        <s:url id="back" namespace="/createbuyerprogram" action="form" />


        <div class="tabber">
        <s:iterator value="model.buyerProgramStages" status="rowId">
            <div class="tabbertab">
            <h2><s:property value="stageName" /></h2>
            <s:include
                value="/WEB-INF/pages/factorpro/_static/entry/buyerprogram/common/form/financestages.jsp" />
            </div>
        </s:iterator>

        <%-- <div class="tabbertab">
        <h2><s:property value="%{getText('indicators')}" /></h2>
        <s:include
            value="/WEB-INF/pages/factorpro/_static/entry/buyerprogram/common/form/indicators.jsp" />
        </div> --%>

        </div>

        <s:if test="%{model.resubmitting}">
        <s:url id="owndashboard" namespace="%{dashboardnamespace}"
        action="%{dashboardaction}" />
        </s:if>

        <s:include value="/WEB-INF/pages/common/formparts/common.jsp" />
        <!-- For Maker checker Resubmit -->
        <s:include value="/WEB-INF/pages/common/workflow/resubmit-display-remarks.jsp" />
        <tr>
        <k:submit type="input" align="right" value="%{getText('submit')}"
            onclick="isCustomSubmit('stage','stage')" colspan="4" isfirst="true">
        </k:submit>
        <s:if test="%{model.resubmitting}">
            <k:submit type="input" align="right" value="%{getText('back')}"
                onclick="goto('%{owndashboard}');return false;"  islast="true" colspan="4">
            </k:submit>
        </s:if>
        <s:else>
            <k:submit value="%{getText('Previous Page')}" onclick="isBack('stage')" islast="true" colspan="4">
            </k:submit>
        </s:else>
        </tr>
    </s:form></div>
</s:if>
<s:else>
    <s:include value="/WEB-INF/pages/common/formparts/common.jsp" />
</s:else>

解决方案

It tough to debug an exception/error without the relevant Code Trial and relevant HTML. However there seems to be an issue as follows :

The main issue here is the version compatibility between the binaries you are using as follows :

  • You are using chromedriver=2.35
  • Release Notes of chromedriver=2.35 clearly mentions the following :

Supports Chrome v62-64

  • You are using chrome=65.0
  • Release Notes of ChromeDriver v2.37 clearly mentions the following :

Supports Chrome v64-66

So there is a clear mismatch between ChromeDriver version (v2.35) and the Chrome Browser version (v65.0)

Solution

  • Upgrade ChromeDriver to current ChromeDriver v2.37 level.
  • Keep Chrome version at Chrome v65.x levels. (as per ChromeDriver v2.37 release notes)
  • Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
  • Use CCleaner tool to wipe off all the OS chores before and after the execution of your test Suite.
  • If your base Web Client version is too old, then uninstall it through Revo Uninstaller and install a recent GA and released version of Web Client.
  • Take a System Reboot.
  • Execute your @Test.

How you escaped

Though you faced org.openqa.selenium.InvalidElementStateException and your test would have beenaborted KATALON STUDIO managed to keep the session alive and you were through.

这篇关于如何解决“元素当前不可交互且可能无法操作"以及为什么我的测试用例仍然可以通过的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
其他开发最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆