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);
    }

再次运行,截图成功

 

 

posted @   hjhsysu  阅读(893)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示