web测试中,可以使用F12辅助元素定位,app没有这样的工具需要安装第三方工具,目前主流的工具有

1.appium inspect

appium服务内置工具点击搜索按钮即可打开appium inspect

inspect配置界面,Desired Capabilities参数caps参数一致,配置好后另存为即可,方便下次直接使用。

然后点击Start Session开始会话

工具可以实现元素定位验证元素定位表达式。 

其中App Source 是源码简单了解下安卓源码结构

a元素属性

b)元素布局控件

appium框架外,还有其他框架可以实现APP端的自动化测试

appium框架外,还可以了解下uiautomator2框架。

uiautomator2 是一个可以使用Python对Android设备进行UI自动化的库。其底层基于Google uiautomator,Google提供的uiautomator库可以获取屏幕任意一个APP的任意一个控件属性,并对其进行任意操作

可以自行了解:GitHub – openatx/uiautomator2: Android Uiautomator2 Python Wrapper

GitHub – AirtestProject/Airtest: UI Automation Framework for Games and AppsAirtest一个跨平台的UI自动化测试框架,适用于游戏和App

官方文档欢迎来到Airtest官方文档! — airtest 文档

可以自行了解:GitHub – AirtestProject/Airtest: UI Automation Framework for Games and Apps

2.元素定位辅助工具 

appium inspect外,还有

本地位置:D:Program Filesandroid_sdktoolsbinuiautomatorviewer.bat

用法基本appium inspect相似,但不需要配置参数然后启动比较快,但不能验证元素定位表达式是否唯一

3.appium inspect工具元素定位实例

import time
from appium.webdriver import Remote

# 启动一次请求
# 1、指明需要连接的服务地址端口号
# 2、You must include a platformName capability
# 3、caps作用就是告诉appium服务我们要干什么,启动的哪个设备,哪个app应用程序apk绝对路径caps = {
    "platformName": "Android",
    # "deviceName": "emulator-5554",
    "udid": "emulator-5554",
    # 安装apk
    # "app": "D:lemon_app_webview_debug.apk",
    "platformVersion": "7.1.2",
    "unicodeKeyboard": True,
    "resetKeyboard": True,
    "autoGrantPermissions": True,
    # 已存在APP时,可以不使用app属性,获取app包名activities
    "appPackage": "com.lemon.lemonban",
    "appActivity": ".activity.WelcomeActivity"

}
driver = Remote(command_executor='http://127.0.0.1:4723/wd/hub',
                desired_capabilities=caps)
# 隐性等待
driver.implicitly_wait(10)
# 找元素id
el1 = driver.find_element("id", "com.lemon.lemonban:id/navigation_my")
# 找元素 xpath
el2 = driver.find_element("xpath", "//*[@resource-id='com.lemon.lemonban:id/navigation_my']")
el2.click()
# 强制等待
time.sleep(3)
driver.quit()

4.appium的用法selenium为什么那么像?

appium:from appium.webdriver import Remote

selenium:from selenium.webdriver import Chrome

查看源码可知,Remote和Chrome继承的类是同一个类。

5.元素定位优先什么方式

原文地址:https://blog.csdn.net/Ly_LittleStar/article/details/122158050

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_30136.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注