Appium——unknown error: cannot activate web view
测试步骤:
1、 打开必应APP(如果出现欢迎界面和定位服务弹窗,需要点掉)
2、 点击搜索按钮
3、 输入JAVA到搜索框
4、 点击搜索网页
5、 观察显示搜索出来的结果是否含有java
6. 如果失败则截图
当用例运行为Fail,提示截图失败:cannot activate webview,这是由于切换到webview并查找到元素之后,没有切换到native导致的
[2016-08-12 17:03:14] [ERROR] [SearchPage_001_SearchDemo_Test] ,截图失败,原因:unknown error: cannot activate web view (Session info: webview=33.0.0.0) (Driver info: chromedriver=2.18.343845 (73dd713ba7fbfb73cbb514e62641d8c96a94682a),platform=Windows NT 6.1 SP1 x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 41 milliseconds Build info: version: '2.52.0', revision: '4c2593cfc3689a7fcd7be52549167e5ccc93ad28', time: '2016-02-11 11:22:43' System info: host: 'QH-20140222HXUT', ip: '192.168.56.1', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_65' Driver info: io.appium.java_client.android.AndroidDriver Capabilities [{app=F:\eclipseworkspace\appiumautotest\res\app\android\bing.apk, appPackage=com.microsoft.bing, networkConnectionEnabled=true, warnings={}, databaseEnabled=false, deviceName=192.168.26.101:5555, platform=LINUX, appActivity=com.microsoft.clients.bing.app.MainActivity, desired={app=F:\eclipseworkspace\appiumautotest\res\app\android\bing.apk, appPackage=com.microsoft.bing, appActivity=com.microsoft.clients.bing.app.MainActivity, platformVersion=4.4.4, automationName=Appium, sessionOverride=true, unicodeKeyboard=true, platformName=Android, deviceName=appium-test-avd, resetKeyboard=true}, platformVersion=4.4.4, webStorageEnabled=false, locationContextEnabled=false, automationName=Appium, browserName=Android, takesScreenshot=true, javascriptEnabled=true, sessionOverride=true, unicodeKeyboard=true, platformName=Android, resetKeyboard=true}] Session ID: e50d2a5d-6ae2-46d7-b4de-86b3868a4464
在截图saveScreenShot(tr, driver)之前,切换到native
public void onTestFailure(ITestResult tr) { super.onTestFailure(tr); logger.warn(tr.getName() + " 测试用例执行失败!"); AppiumDriver<?> driver = (AppiumDriver<?>) testContext.getAttribute("APPIUM_DRIVER"); // 这里就是取driver driver.context("NATIVE_APP"); saveScreenShot(tr, driver); }
再次运行,截图成功
分类:
Appium
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!