我正在使用katalon为移动应用程序做一些自动化测试。我在if…else…中使用了一个移动关键字,但看起来逻辑不正确。
Mobile.waitForElementPresent(findTestObject('Mobile_APP/App_Cart/Cart_Page/Cart_Header'), 40)
if(Mobile.verifyElementExist(findTestObject('Mobile_APP/App_Cart/QTY_on_Cart', 3))){
int a = Integer.parseInt(Mobile.getText(findTestObject('Mobile_APP/App_Cart/QTY_on_Cart'), 3))
for(int i = 0; i <a ; i++){
Mobile.waitForElementPresent(findTestObject('Mobile_APP/App_Cart/Cart_Page/Delete_Product_Icon'), 10)
Mobile.tap(findTestObject('Mobile_APP/App_Cart/Cart_Page/Delete_Product_Icon'), 3)
}
Mobile.tap('Mobile_APP/App_HomePage/Home_Icon_in_Footer', 3)
}
else {
Mobile.tap('Mobile_APP/App_HomePage/Home_Icon_in_Footer', 3)
}
就我的观点而言,我认为应该是对的。
但事实并非如此。
--以下是我在运行该案例时遇到的错误。
2019-10-18 12:50:31.388错误c.k.katalon.core.main.TestCaseExecutor-❌测试用例/App_AutoCases/TestCases/Cart/Cart_Case_002_Clear_all_Items失败。原因:groovy.lang.MissingMethodException:方法没有签名:static com.kms.katalon.core.testobject.ObjectRepository.findTestObject()适用于参数类型:(java.lang.String,java.lang.Integer)值:[Mobile_APP/APP_Cart/QTY_on_Cart,3]可能的解决方案:findTestObject(java.lang.String)、findTestObject在Cart_Case_002_Clear_all_Items.run(Cart_Case-002_Clear_all_Items:29)网址:com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)网址:com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)网址:com.kms.katalon.core.main.TestCaseExecutiator.runScript(TestCaseExecutitor.java:337)网址:com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)位于com.kms.katalon.core.main.TestCaseExecution.processExecutionPhase(TestCaseExecutior.java:307)访问com.kms.katalon.core.main.TestCaseExecutitor.accessMainPhase(TestCaseExecutiator.java:299)网址:com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutitor.java:233)网址:com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)网址:com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)位于com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(未知来源)运行(TempTestCase1571374158460.groovy:21)
我忘了一些代码。
if(Mobile.verifyElementExist(findTestObject('Mobile_APP/App_Cart/QTY_on_Cart', 5))){
上面的代码应该是第一行。
我发现了问题,正确的代码应该在下面:
if(Mobile.verifyElementExist(findTestObject('Mobile_APP/App_Cart/QTY_on_Cart'), 5)){