51Testing软件测试论坛

标题: Appium支持跨应用测试吗?H5如何模拟点击弹框? [打印本页]

作者: lovy@1985    时间: 2016-6-23 21:49
标题: Appium支持跨应用测试吗?H5如何模拟点击弹框?
测试一个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,也没有出现长按文字被选中的效果,所以很大可能并不是因为跨应用的问题)

作者: lovy@1985    时间: 2016-6-24 13:51
问题已解决,打开手机的指针选项(一般在开发者选项里)查看该元素的屏幕坐标(和之前获取的元素坐标不一致,原因可能是,之前方式获取的坐标是元素在容器中的坐标,而我们需要元素相对于屏幕的坐标),模拟该坐标处的点击,此方法需要维护不同分辨率和该元素坐标的映射数据,在模拟点击之前判断机型和屏幕分辨率,以满足不同机型,不同分辨率,不同手机屏幕的代码兼容性
作者: seagull1985    时间: 2016-6-24 14:03
webview目前据我所知APPIUM还没有比较好的支持,只能坐标定位




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2