版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
模块8使用Appium框架实现移动端App自动化测试软件测试任务驱动教程名校名师精品系列教材人民邮电出版社目录导航8.1关于Appium8.3使用appium-doctor确认环境配置无误8.5熟悉与使用AppiumInspector8.2搭建Appium手机自动化测试环境8.4连接手机8.6使用adb调试工具8.8Appium的常用操作8.7Appium元素的定位方法测试实战8.9App自动化工具UiAutomator2简介1.Appium的生态工具AppiumDesktop:内嵌了AppiumServer和Inspector的综合工具;AppiumDesktop1.22.x以后的版本中,Inspector已经分离出来,需要单独下载并安装。adb:Android的控制工具,用于获取Android的各种数据和控制。AppiumServer:是Appium的核心工具,也是一个命令行工具。AppiumClient:是各种语言的客户端封装库,用于连接AppiumServer,支持的语言有Python、Java、Ruby等。AppCrawler:自动遍历工具。Appium的生态工具2.Appium的环境依赖说明AndroidSDKNode.js(=≥10版本)Appium-Python-ClientPython3Java(=≥1.8版本)AppiumDesktop/AppiumServernpm(=≥6版本)目录导航8.1关于Appium8.3使用appium-doctor确认环境配置无误8.5熟悉与使用AppiumInspector8.2搭建Appium手机自动化测试环境8.4连接手机8.6使用adb调试工具8.8Appium的常用操作8.7Appium元素的定位方法测试实战8.9App自动化工具UiAutomator2简介1.下载、安装与配置Python访问Python官网下载Python安装程序。下载Python双击可执行文件启动安装程序,然后按照安装向导的提示信息一步步进行操作,完成Python的安装即可。安装Python配置Python相关的环境变量2.下载、安装与配置JDK访问Java开发工具包(JavaDevelopmentKit,JDK)下载网站下载JDK安装文件。下载JDK对于类似“jdk-20_windows-x64_bin.exe”的JDK安装文件,直接双击该可执行文件启动安装程序,然后按照安装向导的提示信息一步步进行操作,完成JDK的安装即可。安装JDK配置JDK相关的环境变量测试JDK安装与配置是否成功使用“cmd”命令打开命令提示符窗口,然后在该窗口的提示符“>”后输入命令“java-version”,如果能正确显示刚才所安装JDK的版本号,则表示安装与配置JDK成功。3.下载、安装与配置AndroidStudio及AndroidSDK下载AndroidStudio的网址为:/studio/以下网址也可以下载AndroidStudio:http:///index.php/sdkhttps:///下载AndroidStudio对于类似“android-studio-208-windows.exe”的AndroidStudio安装文件,直接双击该可执行文件启动安装程序“AndroidStudioSetup”,然后按照安装向导的提示信息一步一步进行操作,完成AndroidStudio的安装即可。安装AndroidStudio安装AndroidSDK3.下载、安装与配置AndroidStudio及AndroidSDK配置AndroidStudio及AndroidSDK相关的环境变量新建ANDROID_HOME系统变量新建ANDROID_PATH系统变量在【环境变量】对话框中新建一个系统变量,变量名为“ANDROID_PATH”,其变量值是SDK所在文件夹下的platform-tools子文件夹,即“C:\android\SDK\platform-tools”。3.下载、安装与配置AndroidStudio及AndroidSDK配置AndroidStudio及AndroidSDK相关的环境变量将SDK的根文件夹,即“C:\android\SDK”追加到Path系统变量中。将SDK所在文件夹下的platform-tools子文件夹,即“C:\android\SDK\platform-tools”追加到Path系统变量中。将SDK所在文件夹下的tools子文件夹,即“C:\android\SDK\tools”追加到Path系统变量中。测试AndroidSDK安装与配置是否成功使用“cmd”命令打开“命令行”窗口,然后在该窗口提示符“>”后面输入命令“adb--version”,能正确显示刚才所安装AndroidSDK的版本号,表示安装与配置JDK成功。创建一个虚拟手机在AndroidStudio主窗口工具栏中单击手机按钮【DeviceManager】,显示设备管理面板,创建一个虚拟手机。4.下载、安装与配置Node.js下载Nodejs下载Nodejs网址为:/download/安装Nodejs对于类似“node-v18.15.0-x64.msi”的Nodejs安装文件,直接双击该msi文件启动安装程序,然后按照安装向导的提示信息一步一步进行操作,完成Nodejs的安装即可。测试Nodejs安装与配置是否成功使用“cmd”命令打开“命令行”窗口,然后在该窗口提示符“>”后面输入命令“node-v”,能正确显示刚才所安装Nodejs的版本号,表示安装与配置Nodejs成功。配置Nodejs相关的环境变量将Nodejs的根文件夹,即“C:\ProgramFiles\nodejs\”追加到Path系统变量中。5.安装AppiumServer下载AppiumServer访问下载网站下载AppiumServer和AppiumDesktop。安装AppiumServer对于类似“Appium-Server-GUI-windows-1.22.3-4.exe”的AppiumServer安装文件,直接双击该可执行文件启动安装程序,然后按照安装向导的提示信息一步步进行操作,完成AppiumServer的安装即可。也可以使用以下命令安装AppiumServer。配置AppiumServer相关的环境变量在“环境变量”对话框中新建一个系统变量,变量名为“APPIUM_HOME”,其值为AppiumServerGUI安装路径的根文件夹,即“C:\ProgramFiles\AppiumServerGUI”。npminstall-gappium5.安装AppiumServer测试AppiumServer安装与配置是否成功AppiumServer安装与配置完成后,可以通过Node.js完成Appium的环境检验。使用“cmd”命令打开命令提示符窗口,然后在该窗口的提示符“>”后输入命令“npm”,如果能正确显示相关信息,则表示安装与配置AppiumServer成功。启动Appium服务6.安装Appium-Python-Client下载Appium-Python-Client使用“cmd”命令打开命令提示符窗口,然后在该窗口的提示符“>”后输入以下命令安装Appium-Python-Client。确保Selenium和Appium版本匹配在命令提示符窗口的提示符“>”后输入以下命令升级Selenium,确保Selenium和Appium版本匹配。pipinstallAppium-Python-Client-i/simple或者直接使用以下命令安装Appium-Python-Client。pipinstallappium-python-clientpipinstallselenium-U6.安装Appium-Python-Client验证Appium-Python-Client是否安装成功使用“cmd”命令打开命令提示符窗口,然后在该窗口的提示符“>”后输入以下命令验证Appium-Python-Client是否安装成功:piplist如果安装软件清单中出现了Appium-Python-Client及其版本号,则表示Appium-Python-Client安装成功。7.下载、安装与配置雷电模拟器下载雷电模拟器以下网址可以下载雷电模拟器:/?n=6001本书下载了雷电9,版本为安卓9.0(64位)V9.0.45基于Windows10系统安装雷电模拟器对于类似“ldplayer9_ld_6001_ld.exe”的雷电模拟器安装文件,直接双击该可执行文件启动安装程序,然后按照安装向导的提示信息一步一步进行操作,完成雷电模拟器的安装即可。配置雷电模拟器相关的环境变量安装完后,需要将雷电模拟器的安装路径追加到环境变量Path里。作者计算机中“雷电模拟器”的安装路径为:C:\ProgramFiles\ldplayer9box。7.下载、安装与配置雷电模拟器测试雷电模拟器以及SDK是否成功安装在雷电模拟器中安装app这里以安装抖音为例加以说明,在雷电模拟器中搜索“抖音”,这里选择“抖音短视频”,单击【下载】按钮,下载完成后,“抖音”就会出现在雷电模拟器中app列表中,如图W2所示。然后打开“抖音”,即可像手机里一样打开抖音了。8.安装AppiumInspector工具下载AppiumInspector访问AppiumInspector下载网站下载AppiumInspector。安装AppiumInspector对于类似“Appium-Inspector-windows-2023.4.2.exe”的AppiumInspector安装文件,直接双击该可执行文件启动安装程序,然后按照安装向导的提示信息一步步进行操作,完成AppiumInspector的安装即可。启动与设置AppiumInspector8.安装AppiumInspector工具手动创建一个Session通过AppiumInspector查看元素,需要手动创建一个Session,其实也就是创建一个客户端和AppiumServer连接。创建Session的方法就是在Appium的设置界面的“DesiredCapabilities”选项卡的各个输入框中输入参数,然后在各个列表框中选择选项设定信息。9.启动UiAutomatorViewer工具UiAutomatorViewer是AndroidSDK自带的元素定位工具,可以通过截屏并分析XML布局文件的方式来查看App中的界面控件信息,例如,查看App中界面的布局、组件、属性等信息。UiAutomatorViewer工具位于AndroidSDK安装文件夹的tools\bin子文件夹中,定位到tools\bin子文件夹,然后找到批处理文件uiautomatorviewer.bat,双击该文件即可启动UiAutomatorViewer工具,启动该工具后会弹出命令提示符窗口和UiAutomatorViewer窗口。在启动UiAutomatorViewer工具时,如果出现命令提示符窗口闪退的现象,需要查看计算机中安装的JDK版本是否为1.8版本。10.下载、安装与配置PyCharm下载PyCharm直接到JetBrains公司官网下载PyCharm。安装PyCharm直接双击下载的可执行文件启动安装程序,然后按照安装向导的提示信息一步步进行操作,完成PyCharm的安装即可。PyCharm成功安装后,在Windows操作系统的“开始”菜单中会建立菜单项“PyCharmCommunityEdition”,单击该菜单项即可启动PyCharm。在Windows操作系统桌面也会添加PyCharm的快捷方式图标,双击该快捷方式图标,也可以启动PyCharm。目录导航8.1关于Appium8.3使用appium-doctor确认环境配置无误8.5熟悉与使用AppiumInspector8.2搭建Appium手机自动化测试环境8.4连接手机8.6使用adb调试工具8.8Appium的常用操作8.7Appium元素的定位方法测试实战8.9App自动化工具UiAutomator2简介8.3使用appium-doctor确认环境配置无误以管理员身份运行命令提示符窗口,在该窗口中执行以下命令:npminstall@appium/doctor--location=global安装完成后,需要将appium-doctor的路径追加到环境变量Path中。当前用户下安装的路径一般为C:\Users\username\node_modules\.bin。(1)安装appium-doctor。安装指定版本的appium-doctor,例如安装1.16.10版本的命令如下:npminstall-g@appium/doctor@1.16.10(2)配置appium-doctor相关的环境变量。8.3使用appium-doctor确认环境配置无误在命令提示符窗口的提示符“>”后输入命令“appium-doctor--version”,如果能正确显示刚才所安装appium-doctor的版本号,表示安装与配置appium-doctor成功。(3)测试appium-doctor安装与配置是否成功。(4)解决在命令行运行appium-doctor命令出现的各种问题。下载Commandlinetools在网站:/studio?hl=zh-cn中向下滑动,在Commandlinetoolsonly部分下载压缩包commandlinetools-win-9477386_latest.zip。解压到AndroidSDK文件夹下。把cmdline-tools\bin文件夹下的apkanalyzer.bat文件复制到文件夹platform-tools下。重新使用cmd命令打开“命令行”窗口,然后在提示符“>”后输入命令appium-doctor,可以发现问题得以解决。8.3使用appium-doctor确认环境配置无误在命令提示符窗口的提示符“>”后输入以下命令检查依赖和环境变量设置。(5)运行appium-doctor检查依赖和环境变量设置appium-doctor#或者appium-doctor--android目录导航8.1关于Appium8.3使用appium-doctor确认环境配置无误8.5熟悉与使用AppiumInspector8.2搭建Appium手机自动化测试环境8.4连接手机8.6使用adb调试工具8.8Appium的常用操作8.7Appium元素的定位方法测试实战8.9App自动化工具UiAutomator2简介8.4连接手机使用数据线将手机连接到开启Appium的计算机。开启开发者模式。开启USB调试。选择USB配置。测试手机是否连接成功。目录导航8.1关于Appium8.3使用appium-doctor确认环境配置无误8.5熟悉与使用AppiumInspector8.2搭建Appium手机自动化测试环境8.4连接手机8.6使用adb调试工具8.8Appium的常用操作8.7Appium元素的定位方法测试实战8.9App自动化工具UiAutomator2简介1.AppiumInspector的界面组成AppiumInspector的界面分为3部分,左侧是应用程序的屏幕截图(快照视图),中间是以XML结构表示的应用程序层次结构,右侧是元素信息视图。在AppiumInspector界面单击“SelectElements”按钮,进入SelectElements模式,可以在快照视图中使用鼠标来单击选中各种UI元素,将会看到它们突出显示;中间的应用程序层次结构中被选中的元素会高亮显示;右侧的元素信息视图中也会显示被选中元素的详细信息。2.AppiumInspector基本操作按钮的常见操作查找元素信息复制XML退出回退刷新录制3.AppiumInspector窗口操作当想要查看某一元素的详细信息时,首先需要单击“SelectElements”按钮,然后在快照视图中单击要查看的元素,在右侧的元素信息视图中就可以看到元素的xpath、index、package、class、text、resource-id等信息。查看元素信息滑动屏幕通过坐标单击元素先单击滑动的起始位置(会显示一个圆圈),在滑动结束的位置再次单击(会显示一个圆圈),这时候就开始执行滑动屏幕的操作。在“AppiumInspector”主窗口的“DesiredCapabilities”选项卡中设置必要的参数,包括platformName、appium:appPackage、appium:appActivity等,然后保存好所创建的Session。目录导航8.1关于Appium8.3使用appium-doctor确认环境配置无误8.5熟悉与使用AppiumInspector8.2搭建Appium手机自动化测试环境8.4连接手机8.6使用adb调试工具8.8Appium的常用操作8.7Appium元素的定位方法测试实战8.9App自动化工具UiAutomator2简介8.6使用adb调试工具adb是一个用于管理模拟器、手机等Android设备的调试工具,当它被启动时,可以直接在Windows操作系统的命令提示符窗口中使用adb命令对Android设备进行操作或获取设备上安装的App信息,例如,在设备上安装、卸载App,连接某个设备,获取App的包名和类名等。SDK成功安装后,adb程序文件位于SDK安装文件夹下的platform-tools文件夹中,在该文件夹中找到可执行文件“adb.exe”,双击该文件即可启动adb,启动成功后就可以在命令行窗口使用adb命令。8.6使用adb调试工具目录导航8.1关于Appium8.3使用appium-doctor确认环境配置无误8.5熟悉与使用AppiumInspector8.2搭建Appium手机自动化测试环境8.4连接手机8.6使用adb调试工具8.8Appium的常用操作8.7Appium元素的定位方法测试实战8.9App自动化工具UiAutomator2简介8.7.1使用find_element_by_xxx(value)形式定位元素使用find_element_by_id(id)方法定位元素使用find_element_by_
accessibility_id(id)方法定位元素使用find_element_by_
name(name)方法定位元素使用find_element_by_
xpath(xpath)方法定位元素使用find_element_by_
android_uiautomator(uia_string)方法定位元素通过css_selector定位元素(webview)使用find_element_by_class_
name(name)方法定位元素通过link_text定位元素(webview)各种场景下的元素定位需求8.7.2使用find_element(by,value)形式定位元素定位元素的另一种写法如下:例如,定位id为ag2的元素方式如下。find_element(by,value)前面使用的find_element_by_xxx(value)形式实际上调用的都是find_element(by,value)。使用以下语句导入包By:frommon.byimportBy方式一:方式二:8.7.3使用find_elements_by_xxx(value)形式返回元素数组find_elements_by_xxx(value)的用法与find_element_by_xxx(value)的用法基本一致,不同的是find_elements_by_xxx(value)返回一个数组,可以通过数组的索引来访问具体的某个元素。例如,通过class_name定位到多个元素,如果需要单击第1个元素,则对应示例代码如下:driver.find_elements_by_class_name("android.widget.RelativeLayout")[0].click()8.7.4使用find_elements(by,value)形式定位元素并返回元素数组driver.find_elements(By.CLASS_NAME,"android.widget.RelativeLayout")[0].click()返回元素数组的另一种写法:find_elements(by,value)。find_elements(by,value)的用法与find_element(by,value)的用法基本一致,不同的是find_elements(by,value)返回一个数组,可以通过数组的索引来访问具体的某个元素。例如:通过class_name定位到多个元素,如果需要单击第1个元素,则对应示例代码如下:8.7.5通过driver.tap()方法定位元素通过driver.tap()方法定位元素的示例代码如下:driver.tap([(1,2),(3,4)])上述代码实现模拟手指单击坐标的功能,tap里面最多有5个坐标。8.7.6通过元素定位元素可以先找到某个元素,然后再进一步定位元素。通过元素定位元素的示例代码如下:find_element_by_class_xpath("xxx").find_element_by_name("yyy")8.7.7通过元素的百分比坐标定位元素通过元素的百分比坐标定位元素的示例代码如下:target_size=driver.get_window_size() #获取手机屏幕的尺寸height=target_size["height"] #获取手机屏幕的x坐标width=target_size["width"] #获取手机屏幕的y坐标driver.tap([(height/2,width/8)]) #单击指定百分比坐标的位置8.7.8元素基本操作1.element.click()click()表示单击操作,可以模拟【Tab】键实现单击操作,示例代码如下:driver.find_element_by_id("com.android.calculator2:id/digit_8").click()2.element.clear()clear()表示清空输入框内容,示例代码如下:driver.find_element_by_id("com.android.calculator2:id/result").clear()3.element.send_keys(xx)send_keys(xx)表示在输入框内输入文本内容,示例代码如下:driver.find_element_by_id("com.android.calculator2:id/formula").send_keys("8")8.7.8元素基本操作4.element.texttext表示获得元素的text内容,示例代码如下:print(driver.find_element_by_xpath("//android.widget.LinearLayout[1]//xxx").text)5.element.locationlocation表示获取元素的位置。6.element.get_attribute(attr_name)get_attribute(attr_name)表示获取元素的属性值,其中参数attr_name表示获取元素的属性名称。目录导航8.8Appium的常用操作8.7Appium元素的定位方法8.3使用appium-doctor确认环境配置无误8.5熟悉与使用AppiumInspector8.2搭建Appium手机自动化测试环境8.4连接手机8.6使用adb调试工具8.1关于Appium测试实战8.9App自动化工具UiAutomator2简介8.8.1App自动化测试的基本操作is_app_installed(self,bundle_id)current_activity(self)close_app(self)remove_app(self,app_id,**options)install_app(self,app_path,**options)launch_app(self)activate_app(self,app_id)quit()background_app(self,seconds)current_package(self)start_activity(self,app_package,app_activity,**opts)reset(self)通过脚本跳转启动APP8.8.1App自动化测试的基本操作【示例】编写程序实现App自动化测试的基本操作之一在PyCharm集成开发环境中,创建名为“AppiumTestDemo”的项目,在该项目中创建一个新的Python程序文件,并命名为“appiumTestDemo01.py”,在该文件中编写程序代码,实现App自动化测试的基本操作之一。8.8.2手机操作API1.获取手机屏幕分辨率获取手机屏幕分辨率的方法的语法格式如下:driver.get_window_size()2.获取手机屏幕截图获取手机屏幕截图的方法的语法格式如下:driver.get_screenshot_as_file(filename)其中参数filename表示指定路径下指定格式的图片。上述方法的返回值为字典类型,有两个key,分别是width和height,width和height的值都是int类型。8.8.2手机操作API【示例】编写程序实现App自动化测试的基本操作之二在项目AppiumTestDemo中创建一个新的Python程序文件,并命名为“appiumTestDemo02.py”,在该文件中编写如下功能代码,实现App自动化测试的基本操作之二。#获取手机屏幕分辨率print(driver.get_window_size())#获取手机屏幕分辨率属性print(driver.get_window_size()['width'])#获取手机屏幕分辨率属性类型print(type(driver.get_window_size()['width']))#手机屏幕截图driver.get_screenshot_as_file("image/message.png")运行程序appiumTestDemo02.py,输出结果如下运行结果{'width':1280,'height':720}1280<class'int'>Success8.8.2手机操作API3.获取和设置手机网络类型work_connectiondriver.set_network_connection(ConnectionType)获取手机网络类型设置手机网络类型其中参数ConnectionType表示网络类型,建议使用系统提供的类型,默认是int类型的数据。例如该参数设置为2时,表示使用的网络是Wi-Fi;该参数设置为4时,表示使用的网络是数据流量;该参数设置为6时,表示使用的网络是Wi-Fi或数据流量,即有Wi-Fi时,默认使用Wi-Fi,没有Wi-Fi时,默认使用数据流量。8.8.2手机操作API【示例】编写程序实现获取和设置手机网络类型在项目AppiumTestDemo中创建一个新的Python程序文件,并命名为“appiumTest-Demo03.py”,在该文件中编写如下功能代码,实现获取和设置手机网络类型。fromappium.webdriver.connectiontypeimportConnectionType#获取当前手机网络类型print(work_connection)#设置手机网络类型driver.set_network_connection(6)#判断手机网络类型ifwork_connection==ConnectionType.DATA_ONLY: print(work_connection)else: driver.set_network_connection(ConnectionType.DATA_ONLY) print(4)8.8.2手机操作API4.模拟手机键盘操作driver.press_keycode(keycode,metastate=None)【示例】编写程序实现模拟手机键盘操作在项目AppiumTestDemo中创建一个新的Python程序文件,并命名为“appiumTest-Demo04.py”,在该文件中编写如下功能代码,实现模拟手机键盘操作。#设置手机音量并退出设置界面driver.press_keycode(24,metastate=None)time.sleep(2)driver.press_keycode(24,metastate=None)time.sleep(2)driver.press_keycode(25,metastate=None)time.sleep(2)driver.press_keycode(25,metastate=None)time.sleep(2)driver.press_keycode(4,metastate=None)driver.press_keycode(4,metastate=None)8.8.2手机操作API5.手机通知栏操作打开手机通知栏的方法的语法格式如下:driver.open_notification()可通过手指向上滑动或者单击返回键关闭手机通知栏。打开手机通知栏关闭手机通知栏8.8.2手机操作API【示例】编写程序实现手机通知栏的打开与关闭在项目AppiumTestDemo中创建一个新的Python程序文件,并命名为“appiumTest-Demo05.py”,在该文件中编写如下功能代码,实现手机通知栏的打开与关闭。frommon.touch_actionimportTouchAction#打开手机通知栏driver.open_notifications()#打开后停顿3stime.sleep(3)#关闭手机通知栏driver.press_keycode(4,metastate=None)time.sleep(3)driver.quit()8.8.3手势操作1.滑动和拖曳事件(1)swipe滑动事件概念:从一个坐标的位置滑动到另一个坐标的位置,只能是两个点之间的滑动。swipe滑动事件的语法格式如下:driver.swipe(start_x,start_y,end_x,end_y,duration=None)用法:距离相同时,持续时间越长,惯性越小;持续时间相同时,手指滑动的距离越大,实际滑动的距离也就越大。示例代码如下:#swipe滑动事件#driver.swipe(100,2000,100,1000)#driver.swipe(100,2000,100,100)driver.swipe(100,2000,100,100,500)8.8.3手势操作1.滑动和拖曳事件(2)scroll和drag_and_drop滑动事件概念:从一个元素滑动到另一个元素,直到页面自动停止有惯性的scroll滑动事件的语法格式如下:driver.scroll(origin_el,destination_el)无惯性的drag_and_drop滑动事件的语法格式如下:driver.drag_and_drop(origin_el,destination_el)该方法的参数是元素,没有持续时间,有惯性。该方法的参数是元素,没有持续时间,无惯性。8.8.3手势操作【示例】编写程序实现scroll和drag_and_drop滑动事件在项目AppiumTestDemo中创建一个新的Python程序文件,并命名为“appiumTestDemo06.py”,在该文件中编写如下功能代码,实现scroll和drag_and_drop滑动事件。fromselenium.webdriver.support.waitimportWebDriverWait#封装查找元素方法defmove_ele(eles): returnWebDriverWait(driver,5,poll_frequency=0.5) .until(lambdax:x.find_element_by_xpath(eles))#开始元素ele1=move_ele("//*[@text='网络和互联网']")#结束元素ele2=move_ele("//*[@text='显示']")driver.drag_and_drop(ele1,ele2)time.sleep(3)driver.quit()8.8.3手势操作2.高级手势TouchAction手指轻敲操作长按操作等待操作手指按下和抬起操作【示例】编写程序实现高级手势TouchAction在项目AppiumTestDemo中创建一个新的Python程序文件,并命名为“appiumTestDemo07.py”,在该文件中编写如下功能代码,实现高级手势TouchAction。frommon.touch_actionimportTouchAction#手指轻敲操作ele=driver.find_element_by_xpath("//*[@text='电池']")#TouchAction(driver).tap(ele).perform()#手指按下、抬起操作和等待操作TouchAction(driver).press(ele).release().perform()time.sleep(2)#TouchAction(driver).press(x=650,y=650).wait(2000).release().perform()#长按操作TouchAction(driver).long_press(x=650,y=650).perform()time.sleep(3)driver.quit()8.8.3手势操作2.高级手势TouchAction移动操作【示例】编写程序实现手势移动操作在项目AppiumTestDemo中创建一个新的Python程序文件,并命名为“appiumTestDemo08.py”,在该文件中编写如下功能代码,实现手势移动操作。frommon.touch_actionimportTouchActionfromselenium.webdriver.support.waitimportWebDriverWait#手势移动操作(TouchAction(driver).press(x=246,y=857).move_to(x=721,y=867).move_to(x=1200,y=851).move_to(x=1200,y=1329).move_to(x=724,y=1329).move_to(x=246,y=1329).move_to(x=718,y=1815).release().perform())ele=driver.find_elements_by_xpath("//*[@text='继续']")TouchAction(driver).tap(ele).perform()time.sleep(3)driver.quit()模拟手指对元素或坐标的移动操作。移动操作的语法格式如下:TouchAction(driver).move_to(el=None,x=None,y=None).perform()目录导航8.1关于Appium8.8Appium的常用操作8.7Appium元素的定位方法8.3使用appium-doctor确认环境配置无误8.5熟悉与使用AppiumInspector8.2搭建Appium手机自动化测试环境8.4连接手机8.6使用adb调试工具测试实战8.9App自动化工具UiAutomator2简介8.9.1UiAutomator2环境部署1.安装adbadb安装完成后,使用命令“adbversion”查看adb的版本信息,如果出现具体的版本号表示安装成功。执行以下命令,安装UiAutomator2库。2.安装Python的UiAutomator2库pip3install--pre-Uuiautomator28.9.1UiAutomator2环境部署3.安装atx-agent4.安装App定位工具WEditorpython3-muiautomator2init#或者python-muiautomator2init这一步的目的是从GitHub上下载atx-agent,并将其推送到手机,作为服务端,因此先要保证使用adbdevices命令能看到模拟器上的连接。执行以下命令安装atx-agent,并且初始化手机设备/模拟器环境。安装成功后,可以看到模拟器桌面出现一个小汽车图标,这个就是atx.apk。下载WEditor连接设备安装WEditor控件安装WEditor启动WEditor查看设备使用命令在桌面创建一个快捷方式8.9.2UiAutomator2的应用与操作1.连接设备2.使用设备与获取设备信息3.推拉文件8.XPath的常见用法7.UI对象的5种定位方式6.手势与设备的交互4.屏幕操作5.硬键盘和软键盘操作UiAutomator2的应用与操作目录导航测试实战8.1关于Appium8.8Appium的常用操作8.7Appium元素的定位方法8.3使用appium-doctor确认环境配置无误8.5熟悉与使用AppiumInspector8.2搭建Appium手机自动化测试环境8.4连接手机8.6使用adb调试工具8.9App自动化工具UiAutomator2简介【任务8-1】使用Appium真机测试华为手机中自带的计算器使用Appium测试框架对华为手机中自带的计算器进行真机测试。【任务要求】【任务实施】(1)查看手机名称和手机安装的Android版本。(2)手机启动应用程序(3)查看appPackage、appActivity的名称(4)设置手机启动参数(5)声明手机驱动对象(6)编写Python程序打开华为手机中自带的计算器(7)连接华为手机并开启USB调试(8)启动Appium服务(9)运行Python程序appiumTest01.py。(10)编写App自动化测试计算器的完整代码。(11)运行Python程序appiumTest02.py实现App自动化测试。【任务8-2】基于Python3+Appium使用雷电模拟器测试微信启动基于Python3+Appium编写测试程序,在雷电模拟器中对微信的启动进行测试。【任务要求】【任务实施】(1)启动雷电模拟器。(2)在雷电模拟器中安装App。(3)启动Appium服务。(4)查看appPackage、appActivity的名称。【任务8-2】基于Python3+Appium使用雷电模拟器测试微信启动(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第17课《壶口瀑布》课件 统编版语文八年级下册
- 年后珠宝业务拓展及品牌推广方案【课件文档】
- 2026年中考政治模拟试卷附答案(一)
- 10.2.2 常见的碱(深度学习辅导讲义)教学设计
- 2025 巴西农业机械化的发展进程与问题课件
- 2025 六年级地理下册南亚的民族构成课件
- 2026八年级下语文社戏语言特色体会
- 2026二年级数学下册 质量单位的换算
- gpt修改施工方案(3篇)
- 修补屋顶施工方案(3篇)
- 高考数学模拟试卷(第2份)中等难度
- 肺部康复评定
- bz-高标准农田建设项目勘察设计技术投标方案210
- 2025年中国派对聚酯薄膜铝箔气球行业市场全景分析及前景机遇研判报告
- 省级中医药课题申报书
- 2024-2025学年度青岛恒星科技学院单招《语文》练习题【有一套】附答案详解
- 化工企业产品质量抽检规程
- 节后交通安全培训课件
- 《柳林风声》读书分享
- 楼房装修干货知识培训课件
- 2025年度安全生产工作总结及2026年工作思路
评论
0/150
提交评论