我们的客户端有 3 张引导页,我用 python 怎么实现从第一页拖动到第二页呢?
self.driver.execute_script("mobile: swipe", {"startX":22, "startY":45,"endX":100,"endY":500,"element":elem.id}) 不起作用
不要加 element 参数,直接就给手势操作的起点坐标和终点坐标,然后加上 duration,一般 1 秒就够
我最近也遇到这个问题了。
我的问题在于,我如何确认这个是引导页面呢? 它又不是一个单独的 activity。
#3 楼 @lihuazhang 这个就找特点啊。。。页面上的特殊元素,有特点就可以去判断了,要没有。。。那就反过来。。。尝试去确认页面上没有什么。
try:
swipe_args = { 'startX':0.9, 'startY':0.5, 'endX':0.1, 'endY':0.5, 'duration':10}
self.driver.execute_script("mobile: swipe", swipe_args)
except Exception, e:
print e
这样处理就可以从第一张引导图拖动到第二张了
#5 楼 @jiguanghover 10s 太长了。。。。
我还有一个问题, start 的坐标 和 end 的坐标,x 的距离得有多少,才能触发滑动呢? @spikeshen
#7 楼 @lihuazhang 如果我没记错这个是自定义的,android 提供一个 listener 来监测所有的手势操作,具体你看你的 app 里怎么设置的了
从第一张引导如拖动到第二张可以了,但是从第二张拖动到第三张就不行了,有人知道原因吗?我把 duration 设置为 5 秒了
#9 楼 @jiguanghover 两次操作中间设置间隔了没有
#9 楼 @jiguanghover 你是 iOS 还是 Android? 我在 iOS 上没有成功。
#10 楼 @spikeshen 两次中间设置什么间隔?我的是 android 客户端
#12 楼 @jiguanghover 你的两次翻页操作啊,或者你截图,看看你第二张到底啥情况
#8 楼 @spikeshen IOS 上有没有 listener 来监测所有的手势操作
拖动 Android 的引导页用 Java 怎么实现?
java 实现拖动引导页:
TimeUnit.SECONDS.sleep(10);
JavascriptExecutor jse=(JavascriptExecutor) driver;
HashMap scriptObject=new HashMap();
scriptObject.put("startX", 0.95);
scriptObject.put("startY", 0.5);
scriptObject.put("endX", 0.05);
scriptObject.put("endY", 0.5);
scriptObject.put("duration", 0.5);
for(int i=1;i<4;i++){
jse.executeScript("mobile: swipe", scriptObject);
}
TimeUnit.SECONDS.sleep(1);
#9 楼 @jiguanghover 写个 for 循环就行了
#5 楼 @jiguanghover 谢谢了 这个可以用 再加个 for 循环就能跑多个引导页
求大神帮助,谢谢!!!!
#5 楼 @jiguanghover
问题描述:引导页滑动玩第四页(一共四页)程序抛异常
程序代码段:
38 for i in range(4):
39 if driver.find_element_by_class_name("android.widget.ImageView"):
40 swipe_args = { 'startX':400, 'startY':400, 'endX':60, 'endY':500, 'duration':1}
41 driver.execute_script( "mobile: swipe", swipe_args)
42 print"slide the %d page" % (i+1)
43 sleep(3)
44 else:
45 break
对应的 log 日志:
slide the 1 page
slide the 2 page
slide the 3 page
Traceback (most recent call last):
File "D:\eclipse-workspace\and-python\src\phonetest\huadong.py", line 41, in
driver.execute_script( "mobile: swipe", swipe_args)
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 401, in execute_script
{'script': script, 'args':converted_args})['value']
File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 173, in execute
self.error_handler.check_response(response)
File "build\bdist.win32\egg\appium\webdriver\errorhandler.py", line 29, in check_response
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command.