本教程操作环境:win7系统,JDK1.8,Appium,Python3.7,android-sdk,JDK,模拟器
1.Appium介绍
Appium是一个开源的自动化测试工具,其支持iOS和安卓平台上的原生的,基于移动浏览器的,混合的应用。
Appium是基于以下的四个理念设计来满足移动平台测试自动化的要求的:
-
因为需要自动测试应用程序,所以必须以任何形式重新编译或修改应用程序。
-
不要把自己固定在特定的语言和特定的框架上,实现和运行测试。
-
说到测试自动化APIs,移动测试框架不应该重新发明轮子
-
移动测试的自动化框架应该开源,精神上,实际上,名义上!
2.使用步骤
(1)首先启动 Appium 和 模拟器,因为之前我们已经配置了 Appium,此时我们直接点击 Appium 的启动服务器按钮即可
(2)先通过 Python 来启动一下微信,代码实现如下:
desired_caps ={"platformName": "Android", #操作系统 "deviceName": "emulator-5554", #设备 ID "platformVersion": "6.0.1", #设备版本号 "appPackage": "com.tencent.mm", #app 包名 "appActivity": "com.tencent.mm.ui.LauncherUI", #app 启动时主 Activity 'noReset': True, #是否保留 session 信息,可以避免重新登录 'unicodeKeyboard': True, #使用 unicodeKeyboard 的编码方式来发送字符串 'resetKeyboard': True #将键盘给隐藏起来 } driver= webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
执行上述代码之后,如果发现模拟器中的微信已经启动了,就说明基本环境已经调通了;如果执行代码后发现调不到模拟器中的微信,先在 cmd 中执行一下 adb connect 127.0.0.1:7555 命令,再执行程序即可。
(3)实现微信内信息的发送(实操)
打开微信->点击搜索输入框->输入文件传输助手->点击文件传输助手->点击文本输入框->输入文本->点击发送,功能的代码实现如下:
importtimefrom appium importwebdriverif __name__ == '__main__': desired_caps={"platformName": "Android", #操作系统 "deviceName": "emulator-5554", #设备 ID "platformVersion": "6.0.1", #设备版本号 "appPackage": "com.tencent.mm", #app 包名 "appActivity": "com.tencent.mm.ui.LauncherUI", #app 启动时主 Activity 'noReset': True, #是否保留 session 信息,可以避免重新登录 'unicodeKeyboard': True, #使用 unicodeKeyboard 的编码方式来发送字符串 'resetKeyboard': True #将键盘给隐藏起来 } driver= webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) time.sleep(5)print('点击微信搜索框') driver.find_element_by_id('com.tencent.mm:id/f8y').click() time.sleep(5)print('在搜索框输入搜索信息') driver.find_element_by_id('com.tencent.mm:id/bhn').send_keys('文件传输助手') time.sleep(3)print('点击搜索到的内容') driver.find_element_by_id('com.tencent.mm:id/gbv').click() time.sleep(3)#输入文字 driver.find_element_by_id('com.tencent.mm:id/al_').send_keys('hello') time.sleep(3)#输入表情 driver.find_element_by_id('com.tencent.mm:id/anz').click() time.sleep(3) driver.find_element_by_id('com.tencent.mm:id/rv').click()#点击发送按钮发送信息 driver.find_element_by_id('com.tencent.mm:id/anv').click()#退出 driver.quit()
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试