appium+python进行手机appappium ios自动化测试试时send_keys报错

jikunsishen 的BLOG
用户名:jikunsishen
访问量:30
注册日期:
阅读量:5863
阅读量:12276
阅读量:411998
阅读量:1100085
51CTO推荐博文
不多废话,开始!准备工作一、python安装我安装了两个版本:python2.7.5和python3.5.2安装步骤忽略了,太简单二、Appium安装appium官网1、先安装node.jsappium就是node的其中一个开源项目,appium server端是用node视线,遵循了REST架构,所以appium开源用node的包管理工具npm来进行安装下载node.js,,我安装的版本是3.10.102、安装步骤安装Appium方法一:我使用的是方法三本文出自 “” 博客,谢绝转载!
了这篇文章
类别:未分类┆阅读(0)┆评论(0)appium自动化测试中获取toast消息的解决方法
appium自动化测试中获取toast消息的解决方法
解决方法:appium下切换selendroid模式去获取Android的toast提示。
desired_caps配置:
desired_caps_android={
'platformVersion':'4.4',\
'deviceName':'',\
'udid':'34d7d220',\
'platformName':'android',\
'automationName':'Selendroid',\
'app':PATH,\
'appPackage':'com.xxx',\
'appActivity':'.com.xxx',\
'unicodeKeyboard':True,\
'resetKeyboard':True
当切换到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方法实例:
from appium import webdriver
from mon.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
def find_toast(self,message):
'''判断toast信息'''
element = WebDriverWait(self.driver,10).until(EC.presence_of_element_located((By.PARTIAL_LINK_TEXT,message)))
return True
return False
参考官方文档:/appium/appium/blob/master/docs/cn/writing-running-appium/.md
我的热门文章
即使是一小步也想与你分享appium手机自动化测试_TesterHome公开版_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
appium手机自动化测试_TesterHome公开版
上传于|0|0|文档简介
&&介绍业界流行的appium测试框架..
介绍业界的移动测试框架对比
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩52页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢1. error: Failed to start an Appium session, err was: Error: Requested a new session but one was in progress
&之前的会话没有关闭,然后你又运行了测试实例,也没有设置覆盖.&解决:&1. 重新停止appium服务,开启Appium服务&2. 在Genarel Setting那里设置覆盖Session,重启Appium
测试结束在AfterClass加driver.quit()
2. error: Failed to start an Appium session, err was: Error: Command failed: C:/Windows/system32/cmd.exe /s /c “D:/android-sdk-windows/platform-tools/adb.exe -s adb server version (32) doesn’t match this client (36); killing…
wait-for-device”&error: could not install&smartsocket&listener: cannot bind to 127.0.0.1:5037:
没有链接上手机或者模拟器,请确认已经连接成功,重新链接
3. error: Android devices must be of API level 17 or higher. Please change your device to Selendroid or upgrade Android on your device.
手机系统低于4.2,appium不支持4.2.2以下的系统,请换一个手机或者模拟器来测试。
4. Error: Permission to start activity denied.
&**activity在清单文件里面没添加:exported=”true”的话,你不能直接打开对应的activity,需要从启动页activity打开。&exported属性就是设置是否允许activity被其它程序调用**
5. error: Failed to start an Appium session, err was: Error: Activity used to start app doesn’t exist or cannot ve launched! Make usre it exists and is launchable activity
要打开的activity不存在,activity路径错误,改为完整正确的activity路径
6. error: Failed to start an Appium session, err was: Error: ‘java – version’ failed. Error: Command failed: C:/Windows/system32/cmd.exe /s /c “java -version”
&版本错误,请安装最新的版本。
7.& info: [debug] Error: Command failed: C:/Windows/system32/cmd.exe /s /c “D:/android-sdk-windows/platform-tools/adb.exe -s
shell “echo ‘ready‘“error: unknown host service
链接手机失败,重新链接手机即可,我就是重新拔插了一下usb
Error: Command failed: C:/Windows/system32/cmd.exe /s /c “D:/android-sdk-windows/platform-tools/adb.exe -s
shell “echo ‘ping’”“
error: unknown host service
adb被突然占用导致,例如你在运行用例的时候运行了模拟器。
1. 每次测试都重新安装app
为capabilities色设置noReset为true&capabilities.setCapability(“noReset”, true);
2. 中文乱码
编码问题,Android Studio修改文件编码的方法,最底部的UTf-8,点击选GBK就可以了,reload文件。(ps: 先把文件内容全选复制一下再转换编码,再粘贴,不然文件内容就变乱码了)&
3. 清除编辑框EditText内容
* 逐字删除编辑框中的文字
4. 点击输入法键盘的搜索
方法1: 切换输入法
利用adb命令先切换为自己的输入法,按了搜索再切换为appium的输入法
查看当前手机的输入法
cmd执行下面的的代码
adb shell ime list -s
可以看到类似下面的结果,
C:/Users/LITP&adb shell ime list -s
com.baidu.input_mi/.ImeService
com.sohu.inputmethod.sogou.xiaomi/.SogouIME
io.appium.android.ime/.UnicodeIME
C:/Users/LITP&
执行adb命令
先写好一个执行cmd的方法
* 执行adb命令
在需要搜索的时候执行下面的代码,切换的输入法用自己查看列表的输入法内容,我这里是搜狗输入法
(收集自网络,仅供学习参考使用)
技术大牛书单

我要回帖

更多关于 appium自动化测试实例 的文章

 

随机推荐