博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
appium自动化测试中获取toast消息的解决方法【转】
阅读量:5817 次
发布时间:2019-06-18

本文共 1380 字,大约阅读时间需要 4 分钟。

待实践。。

 

解决方法:appium下切换selendroid模式去获取的toast提示。

desired_caps配置:

 

[python]   
 
 
  1. desired_caps_android={  
  2.               'platformVersion':'4.4',\  
  3.               'deviceName':'',\  
  4.               'udid':'34d7d220',\  
  5.               'platformName':'android',\  
  6.               'automationName':'Selendroid',\  
  7.               'app':PATH,\  
  8.               'appPackage':'com.xxx',\  
  9.               'appActivity':'.com.xxx',\  
  10.               'unicodeKeyboard':True,\  
  11.               'resetKeyboard':True  
  12.               }  

 

当切换到selendroid模式运行脚本时,服务端报错

经过搜索查询发现由于Selendroid要求被测app的manifest必须有internet权限,所以在运行前appium会去check一下这个app有没有internet权限,但问题来了,如果我不设置app参数的话,这里获得的就是空的,所以用aapt自然就去dump了一个空的安装包。通过指定app路径参数,每次运行都重新安装包就可。

如果还报错,应用启动不了,大概提示权限问题等,应该要更新Android SDK,比如手机系统是4.3,需要更新对应版本的platforms和build_tools,下载下来拷贝android-18到platforms目录下。build_tools也是一样。

 

在selendroid模式下,有些api和appium不同,appium下的tap、swipe、get_window_size()等方法不能用,需要使用其他替代,如'adb shell input swipe x1 y1 x2 y2'、‘adb shell input tap x y’等。

 

封装toast方法实例:

 

[python]   
 
 
  1. from appium import webdriver  
  2. from selenium.webdriver.common.by import By  
  3. from selenium.webdriver.support.ui import WebDriverWait  
  4. from selenium.webdriver.support import expected_conditions as EC  
[python]   
 
 
  1. def find_toast(self,message):  
  2.         '''''判断toast信息'''  
  3.         try:  
  4.             element = WebDriverWait(self.driver,10).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT,message)))  
  5.             return True  
  6.         except:  
  7.             return False  

 

 

参考官方文档:https://github.com/appium/appium/blob/master/docs/cn/writing-running-appium/running-tests.cn.md

转载于:https://www.cnblogs.com/wangcp-2014/p/5735720.html

你可能感兴趣的文章
ubuntu 修改hostname
查看>>
sql 内联,左联,右联,全联
查看>>
C++关于字符串的处理
查看>>
6、Web Service-拦截器
查看>>
Flask 源码流程,上下文管理
查看>>
stream classdesc serialVersionUID = -7218828885279815404, local class serialVersionUID = 1.
查看>>
ZAB与Paxos算法的联系与区别
查看>>
java 读取本地的json文件
查看>>
Breaking parallel loops in .NET C# using the Stop method z
查看>>
Android Content Provider Guides
查看>>
修改故障转移群集心跳时间
查看>>
[轉]redis;mongodb;memcache三者的性能比較
查看>>
微软职位内部推荐-Sr DEV
查看>>
用计算器计算“异或CRC”
查看>>
让你的WPF程序在Win7下呈现Win8风格主题
查看>>
深刻理解C#的传值调用和传引用调用
查看>>
Windows环境配置Apache+Mysql+PHP
查看>>
JDBC二查询(web基础学习笔记八)
查看>>
监听器(web基础学习笔记二十二)
查看>>
802.11 学习笔记
查看>>