25
08月
安装及配置Appium(四)
由于我们已经对Selenium的操作非常熟悉了,包括元素定位,包括断言方式和常规操作等,所以对上述测试脚本的作用也是一目了然的。所以基本的操作部分本章内容将不再追述,而将更多精力关注在与Appium直接相关的与移动端相结合的一些测试技术上来。
本周分享《安装及配置Appium》实验中的快速执行安装测试。
回顾本章节的前期分享,请点击
:
教材连载:安装及配置Appium(一)
教材连载:安装及配置Appium(二)
教材连载:安装及配置Appium(三)
当完成Appium的安装并成功启动后,现在我们来完成一个简单的Python自动化测试脚本,对模拟器上的小米计算器进行一个简单的测试,操作步骤如下:
(1)为Python安装Appium Client库,命令为:“pip install Appium-Python-Client”。
(2)启动模拟器,运行小米计算器。
(3)进入Android SDK目录下的“tools”目录,并运行“uiautomatorviewer.bat”工具来对当前模拟器上的界面元素进行识别。比如我们可以通过该工具识别到小米计算器的按钮的属性特征(启动工具后点击“Device Screenshot”按钮即可开始识别当前界面元素),如下图所示。

从上图可以看到,按钮“9”对应的文本内容即“text”属性显示为“9”,并且对应的“resource-id”为“com.miui.calculator:id/btn_9”(即按钮的唯一编号,与HTML元素的id属性是一致的),该按钮所属的“class”为“android.widget.Button”(与HTML元素的class属性也是一致的)。
上述的这些属性都可以用作元素的识别属性。
另外一点需要注意的是,如果Appium已经启动,则UI Automator Viewer无法获取元素属性,所以要使用该工具,请先确保Appium已经停止。
(4)查看当前模拟器的Android内核版本号,并记录下来。
(5)运行命令“adb devices”查看当前模拟器的设备编号,并记录下来。
(6)打开Pycharm,并完成如下代码的开发。详细说明请查看代码备注。
from appium import webdriver # 导入webdriver模块 from time import sleep desired_caps = {} # 定义webdriver的兼容性设置字典对象用于设置核心参数 desired_caps['platformName'] = 'Android' # 指定测试Android平台 desired_caps['platformVersion'] = '4.4.2' # 指定移动端的版本号 desired_caps['deviceName'] = 'Appium' # 指定设备名称 desired_caps['appPackage'] = 'com.miui.calculator' # 指定要启动的包 desired_caps['appActivity'] = '.cal.CalculatorActivity' # 指定启动的主类程序 desired_caps['udid'] = '127.0.0.1:62001' # 指定设备编号(adb devices输出结果) # 实例化webdriver,并指定appium服务器访问地址,一定要加上/wd/hub driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) sleep(3) # 利用与webdriver一样的API接口实现对象操作 driver.find_element_by_id("btn_c_1").click() driver.find_element_by_id("com.miui.calculator:id/btn_5").click() driver.find_element_by_id("btn_plus").click() driver.find_element_by_id("btn_7").click() #resouce-id属性可以简写 driver.find_element_by_xpath("//android.widget.ImageView[@content-desc='等于']").click() # 利用xpath查找运行结果并进行断言 result = driver.find_element_by_xpath("//android.widget.TextView[@text='12']") # 由于运算结果无法直接定位,所以利用text=12来定位该元素,如果没有找到该元素,则断言失败 if result != None and result.get_attribute("text") == "12": print("测试成功.") else: print("测试失败.") |
(7)确保Android移动端没有被锁屏,确保Appium正常启动,运行上述代码,观察Android模拟器的变化。确认是否正常安装了“Appium Settings”和“Unlock”两个应用程序,并正常启动了小米计算器进行自动化测试。
由于我们已经对Selenium的操作非常熟悉了,包括元素定位,包括断言方式和常规操作等,所以对上述测试脚本的作用也是一目了然的。所以基本的操作部分本章内容将不再追述,而将更多精力关注在与Appium直接相关的与移动端相结合的一些测试技术上来。
为了答谢大家对蜗牛学院的支持,蜗牛学院将会定期对大家免费发放干货,敬请关注蜗牛学院的官方微信。

版权所有,转载本站文章请注明出处:蜗牛学苑,
https://www.woniuxy.cn/article/358