app自动化测试4---desired capabilities

Capabilities

capabilities是什么?

Desired Capabilities是一个键值对的组合,在Python里面是一个字典。客户端将这些键值对发送给appium服务器,告诉服务器怎么测试。
desired Capabilities例子:
desired_caps = {}  #字典
desired_caps['platformName'] = "Android"       #设备版本号,需要测试的手机的操作系统
desired_caps['platformVersion'] = '22'         #手机操作系统版本
desired_caps['deviceName'] = "7N3HPX159H051514" #使用手机的类型或模拟器的类型,adb devices获得
desired_caps['udid'] = "7N3HPX159H051514"       #同上
#手机web应用自动化测试
desired_caps['browserName'] = ''  #需要进行自动化测试的web浏览器,对APP应用进行测试的话至于空值。Chrome、Browser、Chromlum
'''
应用的包名,在参数中如果添加了应用的安装路径,就可以不用写包名和启动的activity参数
desired_caps['app'] = r'D:\test\test.apk' #被测试的APP在电脑的路径
'''
desired_caps['appPackage'] = 'com.thinkwu.live' #APP的package在uiautomator view或appium中可以获得
desired_caps['appActivity'] = '.ui.activity.InitActivity'   #相当于APP的每个页面,appium里面可以获得


desired_caps['unicodeKeyboard'] = "True"                    #开启Unicode键盘
desired_caps['resetKeyboard'] = "True"
desired_caps['newCommandTimeout'] = 30                      #设置命令超时时间,单位秒


'''混合应用:
正确的用appium测试微信h5的方法如下:
desired_caps['chromeOptions'] = {'androidProcess': 'com.tencent.mm:tools'}
'''
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

常用的Capabilities

公用的、Android专用、iOS专用的Capabilities: http://blog.csdn.net/jojoy_tester/article/details/72081905

Capabilities封装使用

函数封装后可以多次调用,改变入参就能无数次适配了。
当APP变化、测试手机变化、版本变化等等就需要修改程序里面的代码了,封装起来后使用不同的需求传入合适的参数就可以直接使用了。

Capabilities封装使用例子:

就是一个函数封装而已。。。

from appium import webdriver

def driver_app(platformVersion='23',deviceName='7N3HPX159H051514',udid='7N3HPX159H051514'):
    desire_caps = {}
    desire_caps['platformName'] = "Android"
    desire_caps['platformVersion'] = platformVersion
    desire_caps['deviceName'] = deviceName
    desire_caps['udid'] = udid
    desire_caps['appPackage'] = 'com.thinkwu.live'
    desire_caps['appActivity'] = '.ui.activity.InitActivity'
    desire_caps['unicodeKeyboard'] = "True" #使得支持Unicode字符
    desire_caps['resetKeyboard'] = "True"
    driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",desire_caps)
    return driver
if __name__ == "__main__":
    driver = driver_app(platformVersion="22")

Unicode键盘设置

文本框(TextField)

在做安卓自动化中,desired Capabilities中有这么两句设置:

    desire_caps['unicodeKeyboard'] = "True"
    desire_caps['resetKeyboard'] = "True"

下面再学习总结一下:

默认情况下,iOS和Android的自动化工具(手机、模拟器)都不支持向输入框中输入非ASCII字符的。

iOS先不去研究了。跳过。

appium针对这个问题,怎么解决Android自动化问题呢?

通过下载安装一个特殊的键盘,Android可以支持Unicode字符,这个输入法允许文本通通过ASCII在appium和被测试应用之间进行同行。

所以需要设置:

unicodeKeyBoard 设置为True;如果要键盘设置在测试完成后回到原始状态,需要将resetKeyBoard也设置为True,否则appium测试结束后,appium的Unicode键盘仍然会被激活。

设置后,就可以通过send_keys()方法向输入框输入Unicode字符了。

备注:

这个Unicode键盘并非虚拟键盘,在界面上不会显示出来,要进行其他类型的测试必须切回其他输入法。

总的来说,就是在desired Capabilities中增加:上面两句设置。




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个扩展提供了一个易于访问的Unicode键盘,使它更容易创建自己的Unicode表情符号。 新网站! http://ninjasoftware.enjin.com/如何使用保存功能:要将表情符号添加到已保存表情符号列表中,请单击“保存表情符号”按钮(注意:这实际上并不存储它们),然后将其全部存储保存的表情符号以供将来使用,请单击“存储表情”按钮。 *请阅读*您不能保存带有空格的表情符号,例如,不能保存以下内容:(o_o),但是可以保存以下内容:(o_o)每当使用Unicode键盘时,请确保单击“加载表情符号”按钮,然后再保存自定义表情,否则它将覆盖以前保存的表情。 我知道这有点痛苦,但是我还没有找到其他方法。 曾经见过有人用那些陌生的角色键入那些更详细的笑脸和翻转表格的模因,并希望能够轻松地制作自己的吗? 该扩展提供了一种简单,易于使用的方式来创建自己的Unicode表情符号,然后您可以将其简单地复制粘贴到您的帖子中,从而在文本中提供更详细的表达方式! 新增功能:-现在,您可以保存自定义表情,然后在下次使用该插件时将它们加载为自定义按钮! -修复了问号按钮(也删除了它们,因为它们也为我演奏)-功能:-38个唯一的Unicode字符-完全可自定义的键入-复制到剪贴板按钮-可自定义的字体大小-可调整大小的文本区域如果您喜欢此应用,如果您能花时间对其进行评分,将不胜感激! 支持语言:English

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值