一、实验目的
1.理解移动App测试的相关概念
2.了解移动App测试工具Appium的特点
3.掌握移动App测试的相关环境的搭建
4.掌握移动App测试脚本编写的基本步骤
二、实验内容
1. 安装移动App测试工具Appium环境,熟悉工具的流程和业务功能。
2. 针对待测试App软件,实施自动化测试工具Appium。
三、实验步骤
1. 移动App自动化测试工具Appium环境安装及熟悉。
(1)python3
(2)jdk
(3)Android-sdk
(4)appium-service
(5)Appium-python-Client
(6)安卓模拟器
2. 使用Python+Appium自动化测试,自选App进行移动App自动化测试。
(要求每行有注释,内容输入、暂停、2种以上元素定位方式)
(1)搭建测试环境。
(2)通过adb命令查看被测APP的包名和Activity Name。
(3)通过UI Automator Viewer(安卓SDK自带的工具)或其他工具查看APP页面元素属性。
(4)定位元素,实现各种操作,编写py自动化脚本。
(5)执行py脚本。
3.按照模板完成实验报告。
(1)实验结果:按实验内容顺序,对主要操作界面截图。
(2)实验总结:对问题及解决方法等完成情况进行具体总结。
四、实验结果
参考代码:
1. from appium import webdriver 2. 3. from time import sleep 4. 5. from selenium.webdriver.common.by import By 6. 7. desired_caps = {} 8. 9. desired_caps['platformName'] = 'Android' #明确是安卓系统还是IOS系统 10. 11. desired_caps['platformVersion'] = '7.1.2' #系统对应的版本号 12. 13. desired_caps['deviceName'] = '127.0.0.1:62001' #连接的手机设备名称,通过adb devices 查看 14. 15. desired_caps['appPackage'] = 'com.baidu.searchbox' #包名 16. 17. desired_caps['appActivity'] = 'com.baidu.searchbox.MainActivity' #APP首页 18. 19. desired_caps['unicodeKeyboard'] = True # 使用unicodeKeyboard编码发送字符串 20. 21. desired_caps['resetKeyboard'] = True # # 将数字键盘给隐藏起来 22. 23. driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) #启动服务器地址,端口号与Appium端口号保持一致 24. 25. driver.find_element(By.CLASS_NAME,"android.widget.LinearLayout").click()#点击查询输入框,跳转到查询界面 26. 27. sleep(2) 28. 29. driver.find_element(By.ID,"com.baidu.searchbox:id/SearchTextInput").send_keys('liuhao') #文本框输入liuhao 30. 31. sleep(1) 32. 33. driver.find_element(By.ID,"com.baidu.searchbox:id/float_search_or_cancel").click()#点击查询按钮 34. 35. #driver.find_element(By.ID,"com.baidu.searchbox:id/float_search_or_cancel").click() 36. 37. #driver.find_element(By.ID,value="com.baidu.searchbox:id/float_search_or_cancel").click()#点击查询按钮 38. 39. #class_name,'android.widget.LinearLayout').click()#点击查询输入框,跳转到查询界面
五、实验总结
通过实验学习到移动App测试工具Appium的特点,掌握了移动App测试的相关环境的搭建和测试脚本编写的基本步骤。在实验过程中也遇到了各种各样的问题,通过与同学们相互讨论,所有问题都迎刃而解,并且成功完成了实验。