(原创第一篇,踩坑无数得来的,对Ai自动化测试框架很有帮助)appium自动化测试时遇到不能使用element定位的在用坐标点击之后获取焦点如何输入文本

发布时间 2023-05-06 10:19:51作者: 原来是瑞克

  现在开发的前端界面使用vue或者更牛逼技术,导致使用appium或者uiautomator2做自动化测试时不能识别到元素,无法使用传统的id,name或者xpath,这时我们需要使用坐标点击文本框。有获取坐标方法,下期写一篇文章,可以在评论区提醒瑞克。

from appium import webdriver
import time
import os
import subprocess
from config import setting
from paddleocr import PaddleOCR
import pyautogui
from selenium.webdriver.common.utils import keys_to_typing
from selenium.webdriver.common.by import By
from selenium.webdriver.remote.webelement import WebElement
from utils.inputMethod import InputMethod
from appium.webdriver.common.touch_action import TouchAction
from appium.webdriver.common.multi_action import MultiAction

desired_caps = dict()
desired_caps['platformName'] = 'Android'  # 可以写成android
desired_caps['platformVersion'] = '12'  # 11.1.0等都可以写成11
desired_caps['deviceName'] = 'HONOR X10'  # 设备名字可以随便写,但是不可以为空
desired_caps['appPackage'] = '你测试app包名'
desired_caps['appActivity'] = '你测试app的MainActivity'
desired_caps['noReset'] = True  # 打开app时不清除数据
desired_caps['udid'] = "你手机id"
desired_caps['unicodeKeyboard'] = True
desired_caps['resetKeyboard'] = True
#启动appium服务
# cmd = r'start appium -a 127.0.0.1 -p 4723 -bp 4724'
# pr = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
# pr.wait(timeout=3)
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
time.sleep(10)  # 等待20秒"
#在焦点输入框输入瑞克
driver.switch_to.active_element.send_keys("瑞克") # 输入文本
 测试实现效果图: