问题:

在用robot写手机淘宝app的自动化时,打开手机淘宝后,点击天猫国际,跳转到天猫国际页面,天猫国际页面是H5,

需要切换到对应的webview,切换到webview后,点击美妆菜单,跳转到美妆页面,美妆页面也是H5,

与天猫国际页面的webview一样,如果需要在webview里滑动页面,例如向下滑动到某个元素出现在屏幕上,直接在webview中使用swipe是不行的,

因为swipe只能在NATIVE_APP中滑动,不能在webview中执行。

解决:

在美妆页面中后,先切换回NATIVE_APP,执行swipe滑动到指定元素,滑动完后,再重新切换回对应的webview。

代码示例:

*** Settings ***
Suite Setup
Suite Teardown
Library AppiumLibrary *** Variables *** *** Test Cases ***
手机淘宝
Open Application http://localhost:4723/wd/hub platformName=Android platformVersion=19 deviceName=127.0.0.1:21503 app=${CURDIR}${/}shoujitaobao_178.apk appPackage=com.taobao.taobao
... appActivity=com.taobao.tao.welcome.Welcome unicodeKeyboard=True resetKeyboard=True
Wait Until Page Contains Element xpath=//android.widget.TextView[@text=\"天猫国际\"] #等待手机淘宝打开完成
${width} Get Window Width
${height} Get Window Height
${x1}= Evaluate int(${width} * 0.5)
${y1}= Evaluate int(${height} * 0.75)
${y2}= Evaluate int(${height} * 0.25)
Click Element xpath=//android.widget.TextView[@text=\"天猫国际\"] #点击天猫国际
@{contexts} Get Contexts #获取contexts
Log Many @{contexts} #打印contexts
${cur_context} Get Current Context #获取当前contexts
log 当前context
log ${cur_context} #打印当前contexts
log 开始切换
Switch To Context WEBVIEW_com.taobao.taobao #切换contexts
log 切换成功
${cur_context} Get Current Context
log ${cur_context}
Page Should Contain Text 美妆
Click Element xpath=//*[@id="J_5132393350"]/div/div/div/a[2] #点击美妆菜单
Switch To Context NATIVE_APP
Switch To Context WEBVIEW_com.taobao.taobao
Page Should Contain Text 明星面膜
${cur_context_1} Get Current Context #获取当前contexts
log 当前context
log ${cur_context_1} #打印当前contexts
Comment ${page} Get Source
Comment log ${page}
Comment Click Element xpath=//*[@id="J_1456082907"]/div/div/div[1]/a[1]/div[1]/img
Switch To Context NATIVE_APP
Swipe ${x1} ${y1} ${x1} ${y2} 1000
sleep 5
Swipe ${x1} ${y1} ${x1} ${y2} 1000
sleep 5
[Teardown] Close All Applications 手机淘宝滑动
Open Application http://localhost:4723/wd/hub platformName=Android platformVersion=19 deviceName=127.0.0.1:21503 app=${CURDIR}${/}shoujitaobao_178.apk appPackage=com.taobao.taobao
... appActivity=com.taobao.tao.welcome.Welcome unicodeKeyboard=True resetKeyboard=True
Wait Until Page Contains Element xpath=//android.widget.TextView[@text=\"天猫国际\"] #等待手机淘宝打开完成
${width} Get Window Width
${height} Get Window Height
${x1}= Evaluate int(${width} * 0.5)
${y1}= Evaluate int(${height} * 0.75)
${y2}= Evaluate int(${height} * 0.25)
Swipe ${x1} ${y1} ${x1} ${y2} 1000
sleep 5
[Teardown] Close All Applications *** Keywords ***

截图:

robotframework:appium切换webview后,在webview里滑动屏幕的更多相关文章

  1. robotframework:appium切换webview后,在第一个页面操作成功,跳转到第二个页面后,执行命令失败

    问题: 在用robot写手机淘宝app的自动化时,打开手机淘宝后,点击天猫国际,跳转到天猫国际页面,天猫国际页面是H5, 需要切换到对应的webview,切换到webview后,点击美妆菜单,跳转到美 ...

  2. Appium 解决微信公众号、小程序切换 webview 后无法定位元素的问题

    如何切换webview进入小程序请参考https://testerhome.com/topics/12003 脚本思路:进入webview后会存在多个handle同Web页签一样,获取所有的handl ...

  3. Appium解决native+webview混合型APP(公众号、小程序)切换webview后元素无法定位问题

    问题:最近在做一个安卓+H5混合开发的APP自动化测试,发现在从native切换到webview后,元素仍然无法找到,报错:no such element 思路:于是思考webview会不会像web页 ...

  4. Appium切换webview时候报chromedriver版本问题

    前言 用appium切换webview的时候报chrome和chromedriver版本的问题:session not created exception: Chrome version must b ...

  5. appium+python自动化41-切换webview时候报chromedriver版本问题

    前言 用appium切换webview的时候报chrome和chromedriver版本的问题:session not created exception: Chrome version must b ...

  6. Appium对京东App中WebView的处理

    Appium用uiautomator无法对WebView进行className定位,所以只能模拟动作.可以用android sdk自带的monitor工具,先进行截图,再用任意图像处理软件,获取截图的 ...

  7. 与webView进行交互,webView小记

    本文转载至 http://www.verydemo.com/demo_c101_i46895.html 一.与webView进行交互,调用web页面中的需要传参的函数时,参数需要带单引号,或者双引号( ...

  8. Android WebView Memory Leak WebView内存泄漏

    在这次开发过程中,需要用到webview展示一些界面,但是加载的页面如果有很多图片就会发现内存占用暴涨,并且在退出该界面后,即使在包含该webview的Activity的destroy()方法中,使用 ...

  9. 安卓android WebView Memory Leak WebView内存泄漏

    Android WebView Memory Leak WebView内存泄漏 在这次开发过程中,需要用到webview展示一些界面,但是加载的页面如果有很多图片就会发现内存占用暴涨,并且在退出该界面 ...

随机推荐

  1. 你还在为移动端选择器picker插件而捉急吗?

    http://www.cnblogs.com/jingh/p/6381079.html 开题:得益于项目的上线,现在终于有时间来写一点点的东西,虽然很浅显,但是我感觉每经历一次项目,我就学到了很多的东 ...

  2. winform客户端程序实时读写app.config文件

    新接到需求,wcf客户端程序运行时,能实时修改程序的打印机名称: 使用XmlHelper读写 winform.exe.config文件修改后始终,不能实时读取出来,查询博客园,原来已有大神解释了: 获 ...

  3. python爬虫遇到10060

    python爬虫遇到10060 学习了:https://blog.csdn.net/wetest_tencent/article/details/51272981 可以设置代理,可以手动进行图片获取:

  4. 转:linux下ip修改与域名解析查看等

    转自: http://www.justwinit.cn/post/7038/ IP:     ifconfiggateway:172.16.0.254 [root@localhost ~]# nets ...

  5. 怎样去除JSP页面提示:Cannot return from outside a function or method.

     今天用myeclipse10写JSP页面时出现: Cannot return from outside a function or method. onClick="return ch ...

  6. TCP 的那些事儿(下)(转)

    TCP的RTT算法 从前面的TCP的重传机制我们知道Timeout的设置对于重传非常重要, 设长了,重发就慢,没有效率,性能差: 设短了,重发的就快,会增加网络拥塞,导致更多的超时,更多的超时导致更多 ...

  7. [Python-MATLAB] 在Python中调用MATLAB的API

    可以参考官方的说明文档: http://cn.mathworks.com/help/matlab/matlab_external/get-started-with-matlab-engine-for- ...

  8. 文本分析实例---QQ聊天记录分析

    对QQ聊天记录进行分析,由于每天产生的聊天记录比較多,所以选取的是从2月份整月的聊天记录数据.分析要产生的结果有三个,聊天记录中发消息的人前top15.统计24小时时间段那个时间段发贴人最多,还有对消 ...

  9. 宠物连连看2完整Android代码项目

    宠物连连看2完整代码,该源代码支持多种风格的连连看游戏的,如有国旗类的连连看,还有宠物连连看的等,主要的功能实现了无尽关卡挑战模式.还有催命倒计时,以及链接提示,暂停.多样图片集,挑战眼力和速度等,而 ...

  10. bashdb bashdebug

    sudo  apt-get install bashdb bashdb  --debug 一.列出代码和查询代码类: l 列出当前行以下的10行 - 列出正在执行的代码行的前面10行 . 回到正在执行 ...