首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Katalon运行移动自动化测试

使用Katalon运行移动自动化测试
EN

Stack Overflow用户
提问于 2018-11-05 21:01:32
回答 2查看 1K关注 0票数 2

我在使用Katalon和Kobiton运行简单的登录、注销自动测试时遇到问题。每当我运行脚本时,它都会在一开始就卡住,并且永远不会运行。我在试着弄清楚需要做些什么才能让这件事过去。任何帮助都将不胜感激。

正如您在下面看到的,这是使用的代码和通过Katalon接收的结果消息。

代码:

代码语言:javascript
复制
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.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
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.testdata.TestData as TestData
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import internal.GlobalVariable as GlobalVariable

Mobile.startApplication('kobiton', true)

Mobile.tap(findTestObject('android.widget.Button0 - ALREADY HAVE AN ACCOUNT'), 0)

Mobile.tap(findTestObject('android.widget.Button0 - ALREADY HAVE AN ACCOUNT'), 0)

Mobile.tap(findTestObject('android.widget.EditText0 - Email'), 0)

Mobile.setText(findTestObject('android.widget.EditText0 - Email (1)'), '', 0)

Mobile.setText(findTestObject('android.widget.EditText1 - Password'), '', 0)

Mobile.tap(findTestObject('android.widget.ImageView7'), 0)

Mobile.tap(findTestObject('android.widget.Switch0 - OFF'), 0)

Mobile.tap(findTestObject('android.widget.Button3 - LOGIN'), 0)

Mobile.tap(findTestObject('android.widget.Button0 - '), 0)

Mobile.tap(findTestObject('android.widget.TextView12 - Logout'), 0)

Mobile.closeApplication()

消息:

代码语言:javascript
复制
(Stack trace: com.kms.katalon.core.exception.StepFailedException: Unable to start app at: (Root cause: org.openqa.selenium.WebDriverException: org.apache.http.client.ClientProtocolException
Build info: version: '3.7.1', revision: '8a0099a', time: '2017-11-06T21:07:36.161Z'
System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_181'
Driver info: driver.version: SwipeableAndroidDriver)
    at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy:36)
    at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.stepFailed(MobileKeywordMain.groovy:40)
    at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.runKeyword(MobileKeywordMain.groovy:23)
    at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.startApplication(StartApplicationKeyword.groovy:51)
    at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.execute(StartApplicationKeyword.groovy:40)
    at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:53)
    at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords.startApplication(MobileBuiltInKeywords.groovy:74)
    at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords$startApplication.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:133)
    at Script1541159043147.run(Script1541159043147.groovy:16)
    at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:183)
    at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:108)
    at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:294)
    at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:285)
    at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:264)
    at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:256)
    at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:200)
    at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:99)
    at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:90)
    at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:149)
    at TempTestCase1541422340602.run(TempTestCase1541422340602.groovy:22)
    at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:263)
    at groovy.lang.GroovyShell.run(GroovyShell.java:518)
    at groovy.lang.GroovyShell.run(GroovyShell.java:507)
    at groovy.ui.GroovyMain.processOnce(GroovyMain.java:653)
    at groovy.ui.GroovyMain.run(GroovyMain.java:384)
    at groovy.ui.GroovyMain.process(GroovyMain.java:370)
    at groovy.ui.GroovyMain.processArgs(GroovyMain.java:129)
    at groovy.ui.GroovyMain.main(GroovyMain.java:109)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:109)
    at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:131)
)
EN

回答 2

Stack Overflow用户

发布于 2019-04-03 09:22:02

您需要将真正的file.apk添加到代码中

代码语言:javascript
复制
Mobile.startApplication('C:/user/...', true)

那么你就会成功

您可以在路径"C:\Users\username\Katalon Studio\NewTest1.prj\androidapp\APIdemos.apk“中找到APIdemos.apk文件。

票数 0
EN

Stack Overflow用户

发布于 2021-11-06 16:48:26

当未正确提供路径时,此错误通常发生在云应用程序中。您需要为上传到其网站上的应用程序提供kobiton的id或存储路径,而不是'kobiton‘。

例如:

代码语言:javascript
复制
Mobile.startApplication('kobiton-store:71', true)

或者在功能中提供如下路径:

代码语言:javascript
复制
capabilities.SetCapability("app", "kobiton-store:71");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53154980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档