51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3432|回复: 2
打印 上一主题 下一主题

[Appium] Appium支持跨应用测试吗?H5如何模拟点击弹框?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-6-23 21:49:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
测试一个H5页面,点击h5页面中的一个按钮,调起拨打电话应用
思路:切换到webview模式,定位元素,获取元素坐标,切换回native模式,使用touchaction模拟点击操作
结果:没有点击
代码如下:
WebElement el = driver.findElementByXPath("//*[@id=\"house_wrap\"]/section[1]/a");
                                int gestureX = el.getLocation().getX();
                                int gestureY = el.getLocation().getY();
                                driver.context("NATIVE_APP");
                                TouchAction gesture = new TouchAction(driver).press(gestureX+151, gestureY+19).release();
                                driver.performTouchAction(gesture).waitAction();

请教:是否是因为调起拨打电话应用属于跨应用操作,所以无法成功?Appium支持跨应用测试吗?如果支持的话,请大神帮忙解决这个问题(实际上,我在有文字的地方试验了longpress,也没有出现长按文字被选中的效果,所以很大可能并不是因为跨应用的问题)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2016-6-24 13:51:22 | 只看该作者
问题已解决,打开手机的指针选项(一般在开发者选项里)查看该元素的屏幕坐标(和之前获取的元素坐标不一致,原因可能是,之前方式获取的坐标是元素在容器中的坐标,而我们需要元素相对于屏幕的坐标),模拟该坐标处的点击,此方法需要维护不同分辨率和该元素坐标的映射数据,在模拟点击之前判断机型和屏幕分辨率,以满足不同机型,不同分辨率,不同手机屏幕的代码兼容性

评分

参与人数 1测试积点 +10 收起 理由
lsekfe + 10 积极回复获得测试积点10

查看全部评分

回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-27 15:56
  • 签到天数: 322 天

    连续签到: 1 天

    [LV.8]测试军长

    3#
    发表于 2016-6-24 14:03:26 | 只看该作者
    webview目前据我所知APPIUM还没有比较好的支持,只能坐标定位
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-1 06:48 , Processed in 0.067238 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表