咨询:Katalon是否支持单脚本内先后执行WebUI与Mobile自动化测试?
解决方案:在单个Katalon测试用例中串联WebUI(Chrome)与Mobile操作
我之前刚好实现过类似的需求,完全可以在同一个测试用例里按顺序完成Chrome Web操作和已连接移动设备的Mobile操作,不需要用到测试套件集合。下面是具体的步骤和代码示例:
前提准备
- 确保Katalon已配置好Chrome驱动(通常Katalon会自动配置,若有问题可以在
Project Settings > Desired Capabilities > WebUI > Chrome里检查) - 已连接目标移动设备(Android开启USB调试,iOS配置好相关证书),且在Katalon的
Mobile > Device Manager中能正常识别到设备
完整测试用例代码示例
// -------------------------- 第一部分:Chrome WebUI操作 -------------------------- // 启动Chrome浏览器并打开目标网页 WebUI.openBrowser('https://your-test-url.com') WebUI.maximizeWindow() // 执行WebUI操作示例:输入用户名、点击登录按钮 WebUI.setText(findTestObject('Page_Login/txt_Username'), 'test_user') WebUI.setText(findTestObject('Page_Login/txt_Password'), 'test_pass') WebUI.click(findTestObject('Page_Login/btn_Submit')) // 验证登录成功(可选) WebUI.verifyElementPresent(findTestObject('Page_Home/lbl_Welcome'), 10) // 完成Web操作后关闭浏览器,释放资源 WebUI.closeBrowser() // -------------------------- 第二部分:Mobile设备操作 -------------------------- // 启动已连接的移动设备应用(这里以Android为例,设备ID可以从Device Manager中复制) // 如果是iOS,调整desired capabilities即可 Mobile.startApplication('path/to/your/app.apk', false, AndroidDevice('your-device-id')) // 执行Mobile操作示例:点击首页按钮、输入内容 Mobile.tap(findTestObject('Mobile_Home/btn_Menu'), 10) Mobile.setText(findTestObject('Mobile_Menu/txt_Search'), 'katalon test') Mobile.hideKeyboard() // 验证操作结果(可选) Mobile.verifyElementText(findTestObject('Mobile_Search/result_Title'), 'Katalon Demo') // 完成Mobile操作后关闭应用 Mobile.closeApplication()
关键注意事项
- 设备ID获取:打开Katalon的
Mobile > Device Manager,选中已连接的设备,复制其ID(Android是一串字符,iOS是UDID) - 应用路径:确保APK/IPA文件路径正确,也可以直接使用Katalon中已配置的应用profile(替换
startApplication的参数为profile名称即可) - 上下文切换:因为WebUI和Mobile是独立的关键字集合,所以必须先完成Web操作并关闭浏览器,再启动Mobile会话,避免资源冲突
- 超时设置:所有操作的超时时间可以根据实际测试场景调整,确保元素有足够时间加载
如果遇到设备识别失败或应用启动异常的问题,可以尝试重启Katalon、重新连接设备,或者检查Project Settings > Desired Capabilities > Mobile中的配置是否正确。
内容的提问来源于stack exchange,提问作者Testing xpert
相关产品推荐
相关产品推荐

