IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> appium学习总结16 - 定位 Native 原生 App 元素 -> 正文阅读

[移动开发]appium学习总结16 - 定位 Native 原生 App 元素

1、几个APP的区别:

  1. Native App 是一种基于智能手机本地操作系统如iOS、Android、WP并使用原生程式编写运行的第三方应用程序,也叫本地app
  2. Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。如:淘宝、京东
  3. WebApp 是指基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的内容和功能。百度浏览器、qq浏览器,里面有控件的名字是 WebView

2、Native App 原生应用的分类

  1. Android 标准组件(雪球的大部分界面,大多数都有resour-id、text属性)
  2. 非标准组件:

1、Flutter - 闲鱼
2、React Native:Facebook
3、Weex:极客时间

  1. 游戏

3、非标准控件的特征

  1. Android原生组件:Appium默认支持
  2. Native非标准组件:Appium默认支持
  3. 自定义 View 识别:

使用相对定位、父控件加百分比偏移
OCR、图像识别、AI

  1. 游戏控件:使用游戏引擎特定技术

4、游戏自动化测试

1、appium的image定位,图像识别
2、成熟的 airtest 框架

5、Hybrid 混合App定位

import time

import pytest
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy
from appium.webdriver.webdriver import WebDriver
from hamcrest import *
import yaml


class TestDemo:

    def setup(self):
        caps = {
            "platformName": "android",
            "deviceName": "008640dd0804",
            "automationName": "uiautomator2",
            "appPackage": "com.xueqiu.android",
            "appActivity": ".view.WelcomeActivityAlias",
            "autoGrantPermissions": "true"
        }

        self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
        self.driver.find_element(AppiumBy.ID, "com.xueqiu.android:id/tv_agree").click()
        self.driver.implicitly_wait(20)

    # 基金开户这个大的界面是 android.WebView
    def test_001(self):
        self.driver.find_element(AppiumBy.XPATH, "//*[@text='交易']").click()
        for i in range(5):
            time.sleep(1)
            print(self.driver.contexts)
        self.driver.find_element(AppiumBy.XPATH, "//*[@text='基金开户']").click()

    def test_002(self):
        self.driver.find_element(AppiumBy.XPATH, "//*[@text='交易']").click()
        for i in range(5):
            time.sleep(1)
            print(self.driver.contexts)
        self.driver.find_element(AppiumBy.XPATH, "//*[@text='基金开户']").click()
        self.driver.switch_to.context(self.driver.contexts[1])
        print(self.driver.current_context)
        self.driver.find_element(AppiumBy.ID, "phone-number").send_keys("12343234532")

    def teardown(self):
        time.sleep(20)
        self.driver.quit()
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-17 22:19:09  更:2022-03-17 22:21:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 18:30:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码