d33c8a7b09253e00baebb7d7884ab93f.png

本教程操作环境: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()

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐