在安装好并且调试通的情况下,可以开始使用appium做一些测试了
一般来说在使用python+appium时,还要同时用到adb和Uiautomatorviewer
1.首先写好前置代码,示例一段完整的简单代码
1 from appium import webdriver 2 from time import sleep 3 4 #关于手机配置信息 5 desires_caps = {} 6 desires_caps['platformName'] = 'Android' 7 desires_caps['platformVersion'] = '10' 8 desires_caps['deviceName'] = '3EP0219129006133' 9 desires_caps['appPackage'] = 'com.android.settings' 10 desires_caps['appActivity'] = 'com.android.settings.HWSettings' 11 12 #驱动 13 driver = webdriver.Remote('http://localhost:4723/wd/hub',desires_caps) 14 15 #设置静止时间,使现象更明显 16 sleep(5) 17 #退出 18 driver.quit()
其中关于手机配置的代码就是前置代码,也成关键字,下方内容来自https://anikikun.gitbooks.io/appium-girls-tutorial/content/desired_caps.html
关键字 | 描述 | 实例 |
---|---|---|
platformName | 手机操作系统 | iOS,Android,FirefoxOS |
platformVersion | 手机操作系统版本 | 例如: 7.1, 4.4 |
deviceName | 手机类型或模拟器类型 | iPhone Simulator, iPad Simulator, Android Emulator, Galaxy S4等。在 iOS 上,这个关键字的值必须是使用 instruments -s devices 得到的可使用的设备名称之一。在 Android 上,这个关键字目前不起作用。 |
app | .ipa 或者 .apk(也可以使是包含他们的zip)文件所在的本地绝对路径或者远程路径 | Appium会先尝试安装路径对应的应用在适当的真机或模拟器上。针对Android系统,如果你指定app-package和app-activity(具体见下面)的话,那么就可以不指定app。 |
browserName | 需要进行自动化测试的手机 web 浏览器名称。如果是对应用进行自动化测试,这个关键字的值应为空。 | iOS 系统上可以用 ‘Safari‘ ,Android 系统上可以用 ‘Chrome‘, ‘Chromium‘, 或 ‘Browser‘。 |
automationName | 自动化测试引擎 | Appium,Selendroid |
appActivity | 要从应用包中启动的 Android Activity 名称。 | 它通常需要在前面添加 . (如:使用.MainActivity 而不是 MainActivity) MainActivity, .Settings |
appPackage | 你想运行的Android应用的包名 | 比如com.example.android.myApp |
appWaitActivity | 你想要等待启动的 Android Activity 名称 | SplashActivity |
unicodeKeyboard | 是否在测试过程中切换到能支持多国语言输入的输入法 | true 表示是,false 表示否 |
resetKeyboard | 是否在测试完成后自动切换回原有输入法 | true 表示是,false 表示否 |