阜宁做网站找哪家好,iis6 建设网站浏览,建设部网站首页督办案件,凡科快图在线制作免费目录
前言#xff1a;
环境准备
写个脚本玩玩 前言#xff1a;
在使用Appium进行安卓自动化测试之前#xff0c;需要配置相应的安卓环境。
环境准备
为了避免走弯路#xff0c;我们先要确保三点#xff1a;
Android SDK API 17 (Additional features require …目录
前言
环境准备
写个脚本玩玩 前言
在使用Appium进行安卓自动化测试之前需要配置相应的安卓环境。
环境准备
为了避免走弯路我们先要确保三点
Android SDK API 17 (Additional features require 18) 环境变量 ANDROID_HOME 并确保 $ANDROID_HOME/platform-tools 和 $ANDROID_HOME/tools 包含在 PATH 里。比如: export ANDROID_HOME/Applications/adt-bundle-mac-x86_64-20130729/sdk
export PATH$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools如果用实体机测试请确保系统是 4.1 以上的。
否则的话你会遇到诸如此类的问题
2.x 的真机
info: /Applications/adt-bundle-mac-x86_64-20130729/sdk/platform-tools/adb -s S5830f63efdb6 shell uiautomator runtest AppiumBootstrap.jar -c io.appium.android.bootstrap.Bootstrap
info: [ADB STDOUT] uiautomator: permission denied4.0.x 的真机
info: /Applications/adt-bundle-mac-x86_64-20130729/sdk/platform-tools/adb -s HT1B4V803001 shell uiautomator runtest AppiumBootstrap.jar -c io.appium.android.bootstrap.Bootstrap
info: [ADB STDOUT] /system/bin/sh: uiautomator: not found如果使用的是 Appium.dmg 安装的 Appium那要设置 custom android sdk 如图 这样 Appium 启动的时候可以使用 adb android 等命令。
这三点都做到的情况下我们要看下 devices 的情况因为运行 appium 测试脚本前要确保devices 连接上了。所以要做的是启动模拟器或者连上手机 模拟器 Make sure that hw.batteryyes in your AVDs config.ini. 比如我的 AVD 叫 appium 所以我就要去编辑 $HOME/.android/avd/appium.avd/config.ini 文件确保 hw.batteryyes 真机 Mac 上只要连接上 USB 就可以了 无需安装驱动。不过我遇到了一个问题海信的手机没法识别出来。 这需要在 $HOME/.android/adb_usb.ini 里添加 vender id。 ➜ ~ cat .android/adb_usb.ini
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE android update adb TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x109b # 海信手机的 VENDOR ID 0x然后我们运行 adb devices -l,
➜ ~ adb devices -l
List of devices attached
emulator-5554 device product:sdk model:sdk device:generic
e912s device usb:24100000P.S Appium 支不支持多个 device 还没有定论。
我们关掉模拟器因为模拟器实在太慢了。(在模拟器上运行过 sample code 都是能正常运行的。)
写个脚本玩玩
其实 sample code 里面的代码已经非常丰富了。就照搬一个吧。 # -*- coding: utf-8 -*-
import os
import glob
import unittest
from selenium import webdriverclass TestMyGame(unittest.TestCase):def setUp(self):app os.path.abspath(glob.glob(os.path.dirname(__file__) ./*.apk)[0])desired_caps {device: appium,app: app,app-package: com.example.android.contactmanager,app-activity: .ContactManager}self.driver webdriver.Remote(http://localhost:4723/wd/hub,desired_caps)def test(self):driver self.driverel driver.find_element_by_name(Add Contact)el.click()textfields driver.find_elements_by_tag_name(textfield)textfields[0].send_keys(My Name)textfields[2].send_keys(someonesomewhere.com)driver.find_element_by_name(Save).click()def tearDown(self):self.driver.quit()if __name__ __main__:unittest.main()
ContactManager 是 android sample 里面的代码。 大家在安装 adt tool 的时候可以获取。 我把 build 出来的 apk 和下面这个脚本放在一个目录下然后运行。
在使用模拟器的时候除了慢工作的非常好。但是在海信的真机上就悲剧了。 因为在聚焦输入框的时候弹出了搜狐输入法干扰了 send_key 方法。github 上有 issue 记录可惜没有好的解决方法。 作为一位过来人也是希望大家少走一些弯路
在这里我给大家分享一些自动化测试前进之路的必须品希望能对你带来帮助。
软件测试相关资料自动化测试相关资料技术问题答疑等等
相信能使你更好的进步
点击下方小卡片